Uživatelské nástroje

Nástroje pro tento web


raid

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
raid [2019/04/06 22:42] – [Disková pole] djbuldograid [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 ====== Disková pole ====== ====== Disková pole ======
 +
   * na začátek [[http://cs.wikipedia.org/wiki/RAID|info o raid na wiki]]   * na začátek [[http://cs.wikipedia.org/wiki/RAID|info o raid na wiki]]
   * typy   * typy
Řádek 7: Řádek 8:
   * typy RAID   * typy RAID
     * raid0 - prokládání, čtení/zápis n-krát rychlejší, žádná ochrana před výpadkem disku     * raid0 - prokládání, čtení/zápis n-krát rychlejší, žádná ochrana před výpadkem disku
-    * raid1 - zrcadleni, čtení může být n-krát rychlejší - záleží na implementaci (např. mdadm má rychlejší paralelní čtení)+    * raid1 - zrcadleni, čtení může být n-krát rychlejší - záleží na implementaci (např. mdadm má [[https://www.phoronix.com/scan.php?page=article&item=samsung-960-raid&num=2|rychlejší paralelní čtení]])
     * raid5 - prokládání s kontrolními součty, výpočet součtu zpomaluje zápis     * raid5 - prokládání s kontrolními součty, výpočet součtu zpomaluje zápis
     * raid10 - spojení 1+0, typicky 4 disky, čtení n/2-krát rychlejší, zápis n/2-krát rychlejší, ochrana proti výpadku disku     * raid10 - spojení 1+0, typicky 4 disky, čtení n/2-krát rychlejší, zápis n/2-krát rychlejší, ochrana proti výpadku disku
     * ..     * ..
 +
   * sw raid   * sw raid
     * je prý lepší dělat raid pro každou partition zvlášť než pro celý disk     * je prý lepší dělat raid pro každou partition zvlášť než pro celý disk
       * lepší práce s jednotlivými partition       * lepší práce s jednotlivými partition
       * například boot raid1, system raid1 a home raid5       * například boot raid1, system raid1 a home raid5
-    * [[https://www.linuxexpres.cz/praxe/sprava-linuxoveho-serveru-softwarovy-raid-prakticky-1|praktické informace k mdadm]] + 
-      například, že recovery lze zrychlit pomocí bitmap +  Kombinace SSD + HDD [[https://wiki.debian.org/Multi%20HDD/SSD%20Partition%20Scheme|1]] 
-===== Postup zprovozneni raid1 (old) =====+    * raid1  
 +      * rychlost čtení by měla být cca na úrovni SSD 
 +      * zápis bude degradován na rychlost HDD 
 +      * hodí se pro statické oddíly (systémový oddíl), kde se hodně čte a moc nezapisuje 
 + 
 +===== mdadm ===== 
 + 
 +  * Linux implementace sw raid 
 +  * podporuje používané typy (raid 0/1/10/6/5/4) 
 +  * do raid lze přidat celý disk nebo jen partition, různé kombinace 
 +  * partition musí být typu Linux Raid (FD00) 
 +  * pro rychlejší obnovu synchronizace disků v poli lze přidat bitmapu 
 +    * bitmapa rozdělí disk na sekce a u každé si drží stav 
 +    * pro obnovu stačí opravit pouze některé sekce, nemusí se pouštět celá synchronizace 
 + 
 +==== Stav ==== 
 + 
 +<code> 
 +cat /proc/mdstat  
 +Personalities : [raid0] [raid1] [raid10] [raid6] [raid5] [raid4]  
 +md1 : active raid1 sdc1[3] sdd1[2] 
 +      1953382471 blocks super 1.2 [2/2] [UU] 
 +      bitmap: 0/15 pages [0KB], 65536KB chunk 
 + 
 +unused devices: <none> 
 +</code> 
 + 
 +<code> 
 +# mdadm --detail /dev/md2  
 +/dev/md2: 
 +           Version : 1.2 
 +     Creation Time : Sat Nov 25 16:57:03 2017 
 +        Raid Level : raid1 
 +        Array Size : 524156928 (499.88 GiB 536.74 GB) 
 +     Used Dev Size : 524156928 (499.88 GiB 536.74 GB) 
 +      Raid Devices : 2 
 +     Total Devices : 2 
 +       Persistence : Superblock is persistent 
 + 
 +     Intent Bitmap : Internal 
 + 
 +       Update Time : Fri Apr  5 22:41:32 2019 
 +             State : clean  
 +    Active Devices : 2 
 +   Working Devices : 2 
 +    Failed Devices : 0 
 +     Spare Devices : 0 
 + 
 +Consistency Policy : bitmap 
 + 
 +              Name : Pharaon: (local to host Pharaon) 
 +              UUID : 555dfe0a:d88d6c19:58de0652:ec1c80ff 
 +            Events : 2668 
 + 
 +    Number   Major   Minor   RaidDevice State 
 +                   35        0      active sync   /dev/sdc3 
 +                   51        1      active sync   /dev/sdd3 
 +</code> 
 + 
 +==== Synchronizace ==== 
 + 
 +  * ruční spuštění kontrolní synchronizace 
 +    * průběh se zobrazuje ve výpisu stavu pole 
 +    * prochází se každý blok pole (i neobsazené), trvá několik hodin (kapacita/rychlost disku) 
 + 
 +<code> 
 +/usr/share/mdadm/checkarray --all --fast 
 +checkarray: I: check queued for array md1. 
 +checkarray: I: selecting high I/O scheduling class and 0 niceness for resync of md1. 
 +</code> 
 + 
 +  * čekání na dokončení synchronizace 
 +    * může se využít provedení nějaké akce po synchronizaci 
 +    * program běží, dokud není pole znovu sesynchronizováno 
 + 
 +<code> 
 +mdadm --wait /dev/md1 
 +</code> 
 + 
 +  přidání bitmapy 
 + 
 +<code> 
 +mdadm --grow /dev/md1 --bitmap internal 
 +</code> 
 + 
 +  * odstranění bitmapy 
 + 
 +<code> 
 +mdadm --grow /dev/md1 --bitmap none 
 +</code> 
 + 
 +==== Správa ==== 
 + 
 +  * zastavení existujícího pole 
 + 
 +<code> 
 +#mdadm --stop /dev/md2  
 +mdadm: stopped /dev/md2 
 +</code> 
 + 
 +  * spuštění existujícího pole 
 +    * následující příkaz se snaží automaticky pole vyhledat 
 + 
 +<code> 
 +#mdadm --assemble --scan 
 +mdadm: /dev/md/1 has been started with 2 drives. 
 +</code> 
 + 
 +  * odstranění disku z raid 
 +    * nejprve jej musíme označit jako faultyjinak nelze odebrat 
 + 
 +<code> 
 +#mdadm -f /dev/md1 /dev/sdc1 
 +mdadm: set /dev/sdc1 faulty in /dev/md1 
 +</code> 
 + 
 +<code> 
 +#mdadm -r /dev/md1 /dev/sdc1  
 +mdadm: hot removed /dev/sdc1 from /dev/md1 
 +</code> 
 + 
 +  * přidání disku do existujícího pole 
 +    * používá se při přidání pouze chybějících jednotek (missing) 
 + 
 +<code> 
 +#mdadm --add /dev/md1 /dev/sdd1  
 +mdadm: re-added /dev/sdd1 
 +</code> 
 + 
 + 
 +===== Postup raid1 (old) =====
  
   * http://cihar.com/publications/linuxsoft/prechod-na-softwarovy-raid-1-snadno-a-rychle.html   * http://cihar.com/publications/linuxsoft/prechod-na-softwarovy-raid-1-snadno-a-rychle.html
Řádek 75: Řádek 207:
 </code> </code>
  
-===== postup zprovozneni raid1 (new) =====+===== Postup raid1 (new) =====
   * prechod na novy vetsi disk   * prechod na novy vetsi disk
   * prechod na GPT misto msdos partition tabulky   * prechod na GPT misto msdos partition tabulky
Řádek 245: Řádek 377:
 </code> </code>
  
-===== initrd =====+==== initrd ====
 <code> <code>
 apt-get install initramfs-tools apt-get install initramfs-tools
Řádek 281: Řádek 413:
 navic instaloval console-setup-linux navic instaloval console-setup-linux
 </code> </code>
-===== oprava windows =====+==== Oprava Windows ====
   * celou partition windows 7 (mbr) jsem zkopiroval pres dd do GPT tabulky   * celou partition windows 7 (mbr) jsem zkopiroval pres dd do GPT tabulky
   * nenasel jsem zpusob, jak z grub2-efi spustit MBR :) ono to asi proste vubec nejde   * nenasel jsem zpusob, jak z grub2-efi spustit MBR :) ono to asi proste vubec nejde
Řádek 354: Řádek 486:
         3671101440      3907028991   112.5 GiB   0700  Basic data partition         3671101440      3907028991   112.5 GiB   0700  Basic data partition
 </code> </code>
-===== linky =====+===== Zvětšení raid1 ===== 
 + 
 +  * 2x 2TB disk obsahoval dvě sw disková pole 
 +    * md1 (raid1) - 1.2 TB pro data 
 +    * md2 (raid1) - 0.5 TB pro systém 
 +  * cílem bylo zrušit md2 a md1 roztáhnout na celý disk 
 + 
 +  * odpojil jsem md2 
 +    * není asi potřeba, zastavení pole provede nejspíš i odpojení 
 + 
 +  umount /mnt/oldroot 
 + 
 +  * zastavil jsem md2 pole 
 + 
 +  mdadm --stop /dev/md2  
 +  mdadm: stopped /dev/md2 
 + 
 +  * odstranil jsem partition md2 z 
 +    * /etc/fstab 
 +    * /etc/mdadm/mdadm.conf 
 + 
 +  * odpojil jsem md1 
 +    * tento krok není potřeba, lze provádět live 
 + 
 +  umount /dev/md1 
 + 
 +  * odstranil jsem jeden disk z md1 
 + 
 +  mdadm -f /dev/md1 /dev/sdc1 
 +  mdadm: set /dev/sdc1 faulty in /dev/md1 
 + 
 +  mdadm -r /dev/md1 /dev/sdc1  
 +  mdadm: hot removed /dev/sdc1 from /dev/md1 
 + 
 +  * zvětšil jsem Linux Raid partition 
 +    * nenašel jsem přímo funkci na zvětšení, takže jsem oddíl odstranil a znovu vytvořil 
 + 
 +  gdisk /dev/sdc 
 + 
 +  * partition jsem opět přidal do pole 
 +    * odstraněním partition se evidentně nesmazal mdadm super blok 
 +    * mdadm poznal, že disk už byl jednou do diskového pole připojen, a nespustila se žádná synchronizace (na disku nebyly po dobu odpojení žádné změny) 
 +    * nevěděl jsem, zda tomu stavu věřit, tak jsem raději explicitně pustil synchronizaci 
 +    * asi to není potřeba při zvětšování, lepší by asi bylo ten super block vymazat 
 + 
 +  mdadm --add /dev/md1 /dev/sdc1  
 +  mdadm: re-added /dev/sdc1 
 + 
 +  * postup jsem opakoval i pro druhý disk (partition sdd1) 
 +  * následně jsem preventivně zrušil bitmapu ([[https://raid.wiki.kernel.org/index.php/Growing#Extending_an_existing_RAID_array|prý]] to může dělat problémy při zvětšování) 
 + 
 +  mdadm --grow /dev/md1 --bitmap none 
 + 
 +  * následně jsem provedl zvětšení, což spustilo synchronizaci, tak jsem čekal na doknočení 
 + 
 +  mdadm --grow /dev/md1 --size max 
 +  mdadm: component size of /dev/md1 has been set to 1953382471K       
 + 
 +  mdadm --wait /dev/md1 
 + 
 +  * chtěl jsem vrátit bitmapu, ale napsalo to nějakou chybu 
 + 
 +  mdadm --grow /dev/md1 --bitmap internal 
 +  mdadm: failed to set internal bitmap. 
 + 
 +  * pomohlo mi restartování pole, pak přidat už šla 
 + 
 +  dadm --stop /dev/md1  
 +  mdadm: stopped /dev/md1 
 + 
 +  mdadm --assemble --scan 
 +  mdadm: /dev/md/1 has been started with 2 drives. 
 + 
 +  * poslední krok byl zvětšit vlastní souborový systém 
 + 
 +  resize2fs /dev/md1  
 +  resize2fs 1.44.5 (15-Dec-2018) 
 +  Systém souborů v /dev/md1 je připojen do /mnt/data, 
 +  požadována změna velikosti za běhu. 
 +  old_desc_blocks = 82, new_desc_blocks = 117 
 +  Systém souborů na /dev/md1 je nyní 488345617 (4k) bloků dlouhý. 
 + 
 +===== Odkazy ===== 
 + 
 +  * [[https://www.linuxexpres.cz/praxe/sprava-linuxoveho-serveru-softwarovy-raid-prakticky-1|praktické informace k mdadm]]
   * https://wiki.gentoo.org/wiki/GRUB2   * https://wiki.gentoo.org/wiki/GRUB2
   * http://src.linuxhacker.at/howtos/debian-root-raid1-boot-initrd/ar01s07.html   * http://src.linuxhacker.at/howtos/debian-root-raid1-boot-initrd/ar01s07.html
raid.1554583350.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki