Zmiana parametrów (md-)RAID w obrazkach



Linuksowa implementacja RAID, zwana md, nie bez powodu określana jest jako elastyczna. Zmiany poczynione w ciągu ostatnich kilku lat pozwalają np. powiększać RAID5 czy 6 o dodatkowe dyski, zmieniać poziomy nadmiarowości czy parametry macierzy. To wszystko ,,w locie'' i z kontynuacją w przypadku restartu komputera.

W ramach ćwiczeń postanowiłem zmienić parametr chunk size na bardziej współczesny. Od jakiegoś czasu wartością domniemaną przy tworzeniu macierzy jest 512KiB, mój domowy storage utworzony został jeszcze z 64KiB:

# ./mdadm  -Q --detail /dev/md127 
/dev/md127:

     Raid Level : raid5
     Array Size : 2930287488 (2794.54 GiB 3000.61 GB)

          State : clean

         Layout : left-symmetric
     Chunk Size : 64K

W zasadzie wystarcza jedna komenda:

# mdadm --grow /dev/md127 --chunk=512 --backup-file=/boot/raid-grow-temp
mdadm: component size 976762496K is not a multiple of chunksize 512K

Uh oh. Pierwsza przeszkodza. Faktycznie, wielkość macierzy jest o ćwierć nowego chunk size za duża &mdash 1907739,25. Potrzeba zmniejszyć RAID do 1907739*512 = 976762368.

Aby zmniejszyć urządzenie, bezpieczniej jest najpierw zmniejszyć zawarty na nim system plików. U mnie jest to ext4.

# resize2fs /dev/dm-0 
resize2fs 1.41.9 (22-Aug-2009)
The filesystem is already 732571743 blocks long.  Nothing to do!

Wielkość bloku w tym przypadku to 4KiB. Dla pewności: 732571743 * 4KiB = 2930286972, czyli wielkość w bajtach mniej-więcej odpowiadająca wiekości macierzy. RAID muszę zmniejszyć o 128KiB, ale system plików dla pewności zmniejszę o 2 mebibajty, czyli o 512 bloków, do wielkości 732 571 231.

# resize2fs -p -S 512 /dev/dm-0 732571231
resize2fs 1.41.9 (22-Aug-2009)
Filesystem at /dev/dm-0 is mounted on /; on-line resizing required
On-line shrinking from 732571743 to 732571231 not supported.

Stop. Przeszkoda nr 2. Ext4 nie da się zmniejszyć w trakcie pracy. Trzeba się pożegnać z wizją przeprowadzenia całej operacji na działającycm systemie i uruchomić komputer z Live USB. Następnie:

# resize2fs -p -S 512 /dev/mapper/mth 732571231
Resizing the filesystem on /dev/mapper/mth to 732571231 (4k) blocks.
Begin pass 2 (max = 201)
Relocating blocks             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 2 (max = 22357)
Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/mth is now 732571231 blocks long.

Teraz jeszcze restart z powrotem do właściwego systemu i można wrócić do operacji na macierzy:

# mdadm --grow /dev/md127 --size 976762368

Wykonanie polecania szybko się kończy. Jedyny ślad w logach:

md127: detected capacity change from 3000614387712 to 3000613994496

Krok kolejny, druga próba zmiany parametru:

mdadm --grow /dev/md127 --chunk=512 --backup-file=/boot/raid-grow-temp

dmesg | tail

md: reshape of RAID array md127 md: minimum guaranteed speed: 200000 KB/sec/disk. md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for reshape. md: using 128k window, over a total of 976762368 blocks.

Czyli zaczęło się. Postęp operacji widać w /proc/mdstat, /sys/class/block/md127/, można też sprawdzić poleceniem mdadm.

# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md127 : active raid5 sda[0] sdb[3] sde[2] sdc[1]
      2930287104 blocks super 0.91 level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
      [>....................]  reshape =  0.0% (90112/976762368) finish=4334.6min speed=3754K/sec

# mdadm -Q --detail /dev/md127 
/dev/md127:

     Raid Level : raid5
     Array Size : 2930287104 (2794.54 GiB 3000.61 GB)

    Update Time : Mon Jan 11 17:11:50 2010
          State : clean, recovering

         Layout : left-symmetric
     Chunk Size : 64K

 Reshape Status : 19% complete
  New Chunksize : 512K

Mijają trzy dni… A tak naprawdę to ponad pięć, zanim w logach pojawi się napis md: md127: reshape done. Nowy stan rzeczy:

# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md127 : active raid5 sda[0] sdb[3] sde[2] sdc[1]
      2930287104 blocks level 5, 512k chunk, algorithm 2 [4/4] [UUUU]

Tak więc zmiana parametrów linuksowego soft-raid jest jak najbardziej wykonalna. Ekwilibrystyka wymagana jest w przypadku niedopasowania pierwotnych parametrów do tego co chcemy osiągnąć, co pociąga za sobą konieczność manipulacji systemem plików. Za kilka lat wszystkie te aspekty obejmie btrfs i w obsłudze będzie równie prosty co powstały na początku tego wieku ZFS. Mimo trochę większych możliwości, jak np. ustalenia poziomu RAID dla każdego pliku z osobna.


Archived comments:

jwest 2010-01-30 20:35:54

nie robiłem tego nigdy, aczkolwiek wolałbym zmagazynować dane w innym miejscu, zrobić format i zacząć od początku zamiast urządzać takie zmiany. Chciałbym mieć kiedyś czas na taką naukę linux-a, ale ponieważ go nie mam i jestem można powiedzieć laikiem, chylę przed tobą czoło ;)

Marcin 2010-01-31 02:15:49

Mnie jakoś nie przekonują macierze programowe, no poza wyjątkiem zfs-a. Wydajność i niezawodność nie ta sama. A dodatkowo raid 5 czy 6 w przypadku awarii jakiegoś dysku po prostu kuleje. I przy odbudowie macierzy bardzo łatwo zarżnąć dodatkowe dyski. Ale o tym to już pewnie nie jedną książkę napisano.

mutsGoroSmurn 2012-11-16 01:55:32

Spain Alprazolam Clonazepam Stronger Than Xanax Methotrexate For Psoriasis Liver Biopsy <a href=http://archive.org/details/GenericUltracet37.5mgOnlineWithoutPrescription>Cheap Ultracet Online</a>. Ativan And Drive What Does Bupropion Do Effects Too Many Xanax Social Anxiety Difference Between Cialis Levitra Viagra . Tramadol Tramacet Drug Ativan For Flight Anxiety . Levitra No Prescription University Of Kentucky Ativan Vaistai <a href=http://archive.org/details/Tramadol50mgGenericUsPharmacy>Cinfa 50mg Buy Tramadol</a> Lasix Cancer Aldactone Vertigo Singulair 10mg Chewable Tablets Amoxicillin Prescription Long

felaabubmah 2012-11-24 09:39:08

Flexeril Horse Valium Ativan Calculator <a href=http://www.netvibes.com/buylasixonline>Lasix Sexual Dysfunction</a> Cialis No Prescription Group Xanax Blues Totem Poles Amoxicillin Voli Low Cost Epinephrine Ativan <a href=http://www.netvibes.com/effexorxrdiscount>Prozac And Effexor Ssri</a> Is Viagra Safe For Men Atarax Tablets Non Narcotic Analgesics Methotrexate 2.5 Mg Drug Topical Finasteride 2008 <a href=http://www.netvibes.com/pricestramadol>Tramadol Mixed With Elderly</a> Propecia Versus Avodart Finasteride How Can I Check My Doctor To Prescribe Me Xanax Buy Soma Cheap No Doctor Cod Will Levitra Make You Last Longer <a href=http://www.netvibes.com/clomiddiscount>Buy Clomid Online Prescription Review Without</a> Lexapro Overdose Lethal Xanax Drug Testing Xl1 Blue Amoxicillin Is Viagra For Me How Do I Make Off Of Xanax <a href=http://www.netvibes.com/adipexdiscount>Buy Adipex Online Without A Prescription</a> Finasteride Increased Dosage Xanax Narcotic Prescription Clonazepam Pictures Diazepam Lorazepam Keyword Levitra Approved <a href=http://www.netvibes.com/tramadoldosage>Tramadol Online Banned</a> Amoxicillin Affecting Birth Control Prozac Forex Finasteride Online Consultation Cheap Order Canada Herbal Viagra Carisoprodol Soma And Watson Soma Viagra Alzheimer Cialis

Comments


Comments powered by Disqus