Portál AbcLinuxu, 6. května 2025 06:18

Dotaz: shrink raid5

22.9.2014 09:47 ET
shrink raid5
Přečteno: 468×
Odpovědět | Admin
* centos 6, 64b

* 4x2TB SATA HDD - /dev/sd[abcd]

* na vsech 4 discich jsou oddily /dev/sd[abcd]3 o velikosti 1.5TB

* z oddilu /dev/sd[abcd]3 je udelan RAID5 (superblok v 0.90)

* nad RAID5 je ext3

Jak zmensit oddily /dev/sd[abcd]3 na 1TB aby data na ext3 zustali? (ext3 je vyuzit z cca 30%)

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.9.2014 10:31 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: shrink raid5
Odpovědět | | Sbalit | Link | Blokovat | Admin
Např. http://www.howtoforge.com/how-to-resize-raid-partitions-shrink-and-grow-software-raid

1. resiznout (zmenšit) filesystem - ext3

2. zmenšit raid

3. nafouknout filesystem na celý nový raid (tj. resize2fs bez uvedení velikosti)

4. zmenšit partišny (smazat a vytvořit nové od stejného místa, ale menší) - opatrně!
22.9.2014 12:15 ET
Rozbalit Rozbalit vše Re: shrink raid5
prave to zmenseni partitions mi nefunguje - pokud je zmensim, uz se ten radi (autodetekci) nesestavi (musim vratit velikost partition a pak to zase jede, holt 0.90)

Jediny nalezeny reseni je odebrat vzdy jeden disk (napr. /dev/sda3) z raidu, zmensit na nem partici a pak pridat do raidu - holt se pak cely raid synchronizuje - tento postup pak opakovat pro vsechny zbyvajici disky...

kazdopadne dik
Jendа avatar 22.9.2014 15:00 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: shrink raid5
Proto ti píše zmenšit RAID. Než zmenšíš partitions, musíš udělat --grow --array-size=.
23.9.2014 10:16 ET
Rozbalit Rozbalit vše Re: shrink raid5
nope, "--array-size" je jen "test", --size= je ten spravny parametr ;)
23.9.2014 10:37 ET
Rozbalit Rozbalit vše Re: shrink raid5
jeste teda dodam, treba se to bude nekomu hodit (viz man):

* "--array-size" bere jako parametr vyslednou velikost CELEHO raidu (a po restartu nebo zadani parametru max se vrati na puvodni hodnoty)

* "--size" bere jako parametr velikost NA JEDNOM FYZICKEM DISKU

tj.: `mdadm --detail /dev/mdX`
  ...
  Array Size : 5033164800 (4800.00 GiB 5153.96 GB) # --array-size nastavuje docasne tento parametr
  Used Dev Size : 1677721600 (1600.00 GiB 1717.99 GB) # --size nastavuje tento parametr
  ...
23.9.2014 11:18 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: shrink raid5
Přesně tak. Stejně je potřeba si s tím pohrát někde bokem (např. na loopbacku), než se to začne dělat naostro.
23.9.2014 11:31 ET
Rozbalit Rozbalit vše Re: shrink raid5
jak jsem psal - domaci NAS, takze jen na takovyto domaci porno (muzika, filmiky, etc... :), proste nic kritickyho
23.9.2014 21:55 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: shrink raid5
Na domácím NASu mohou být třeba rodinné fotky a to je docela cenný obsah.
24.9.2014 14:17 ET
Rozbalit Rozbalit vše Re: shrink raid5
pravda, ale zjistil jsem, ze tam mam fotky od roku +/-2004 a jeste jsem se na ne nikdy nekoukal = me chybet nebudou - ale samozrejme je to otazkou preferenci ;)
22.9.2014 10:57 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: shrink raid5
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tych dat tam nemas vela, takze ak mozes urobit nejaku hodinku vypadku, tak proste cele pole zrus a urob nanovo. Ak by si nemal kam urobit zalohu, tak na to pouzi jeden z diskov a pole na zaciatok zostav len z dvoch.
22.9.2014 10:58 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: shrink raid5
Pardon, len z troch (kedze v poli mas 4).
22.9.2014 12:04 ET
Rozbalit Rozbalit vše Re: shrink raid5
Hola, je to domaci NASka, takze se to vypnout da, ale nechce se mi to kopirovat tam a zpatky ;)

dik
22.9.2014 13:32 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: shrink raid5
Vždycky se ti to bude kopírovat tam a zpět. jenom je otázka jestli 3x, nebo 4x. To první je
  1. vyhodit 4. disk a udělat degradované pole
  2. Na 4. disk nakopírovat data z pole (1 kopie)
  3. zrušit pole, nově rozdělit 3 disky, vytvořit na nich degradované prázdné pole
  4. Na degradované pole nakopírovat data z 4 disku. (2 kopie)
  5. Přeměnit oddíly na 4 disku, zařadit do pole a nechat zasynchronizovat (3. kopie)
Nebo to uděláš jako píše dustin. Tím pádem pro každý disk budeš muset ho vyřadit z pole, změnit oddíl, zařadit do pole a nechat zasynchronizovat, tím pádem kopírovat vše budeš 4 krát. Pro každý disk znovu vše přečíst a celý disk zapsat.
22.9.2014 19:57 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: shrink raid5
Proč by to měl pokaždé synchronizovat? Po resizu pole může pole zastavit, změnit velikost všech partišen (tj. jen zápis do tabulky oddílů) a pole zase nahodit. Jej se to nijak nedotkne. Z pole se samozřejmě žádný disk nevyřazuje
22.9.2014 21:59 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: shrink raid5
No možná to špatně chápu, ale pokud tam má RAID s formátem 0.9, tak metadata info o raidu je na konci oddílu. Pokud změní velikost všech oddílů tak mdadm nenajde uvnitř oddílů žádnou informaci o raidu a neví jak jej s těch oddílů sestavit. Ale nikdy jsem to nedělal, tak to nevím jistě. Na druhou stranu ani nevím jistě, že budu schopen na menších oddílech to RAID pole rozjet, a když to jistě nevím, tak bych šel cestou nejmenšího rizika.

Jsi si jistý, že to pole se dá sestavit i když RAID metadata jsou mimo oddíly? (pokud si pamatuji, tak právě s formátem 0.9 při RAID1, šlo při rozpadu pole moutnout přímo blokové zařízení, protože práve ze začátku byly přímo data, a metadata raidu byly až na konci. mdadm 1.2 má metadata na začátku.
Jendа avatar 22.9.2014 22:03 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: shrink raid5
Po resizu pole může pole zastavit, změnit velikost všech partišen (tj. jen zápis do tabulky oddílů) a pole zase nahodit.
22.9.2014 22:23 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: shrink raid5
:-) díky. Ty dvě moje díry viděly nějak prázdno. a mimochodem máš představu, jak dlouho to bude shrinkovat? není faktická kopie nakonec rychlejší?
22.9.2014 23:44 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: shrink raid5
Zkus si to na loopbacku. Za běhu (bez vypnutí pole) a defacto okamžitě.
Jendа avatar 22.9.2014 23:58 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: shrink raid5
Ty dvě moje díry viděly nějak prázdno.
LOL
a mimochodem máš představu, jak dlouho to bude shrinkovat?
Shrink by měl být rychlý, ne? Jenom se překopíruje hlavička a upraví velikosti. Ale nezkoušel jsem to, dělal jsem jenom reshape a ten u 4TB pole trval celou noc.
23.9.2014 10:26 ET
Rozbalit Rozbalit vše Re: shrink raid5
po zmenseni pole (mdadm --grow /dem/mdX --size [FYZICKA VELIKOST NA 1 DISKU]) a zmenseni partitons se to proste nechytlo (--assemble jsem nezkousel). Musel jsem vratit velikost partitions a rebuildovat pole pro kazdou jednotlivou zmensenou partitionu
Jendа avatar 23.9.2014 13:05 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: shrink raid5
Je možné, že je v mdadm nebo v nástroji, kterým jsi zmenšoval partitions, bug, a ukazuje ti to třeba GB místo GiB. Zkus příště tu partition zmenšit jenom o trošku.
23.9.2014 16:00 ET
Rozbalit Rozbalit vše Re: shrink raid5
Zmensoval jsem klasicky fdiskem - ten to ukazuje v cylindrech (popr. v sektorech), ale myslim, ze v tom problem nebude - zmensenim partitiony se superblock neprenese. Hledal jsem zpusob, jak prenest superblock, ale nenasel. Puvodne jsem chtel pouzit --backup-file a vystup pouzit pri --assemble, ale backup-file se proste nevytvoril (vytvari se asi jen u re-layoutu raidu)

Hezky je to popsany tady, ale na dd sem nemel koule :) - viz:
The superblock is 4K long and is written into a 64K aligned block that starts at least 64K and less than 128K from the end of the device (i.e. to get the address of the superblock round the size of the device down to a multiple of 64K and then subtract 64K
urcite by to stalo za to zkusit...

Jinak uz jsem to dodela a funguje ! Diky

PS: kvuli lenosti jsem psal, ze na raid5 je ext3, ale ve skutecnosti je tam lvm2 - takze jsem nejdriv zmensoval pvresizem a povedlo se bez ztraty kvetinky
Jendа avatar 23.9.2014 18:54 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: shrink raid5
zmensenim partitiony se superblock neprenese
No ale ono ti to nešlo sestavit, protože byl superblok až za hranicí partition.
23.9.2014 21:59 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: shrink raid5
Hodně bych se divil, kdyby mdadm --grow --size nepřenesl superblock opět na konec nového raidu. To by pak celá funkcionalita zmenšení raidu neměla žádný smysl, kdyby podkladové zařízení muselo zůstat pořád stejně velké.
23.9.2014 22:13 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: shrink raid5

Můžete si zvětšovat či zmenšovat RAID na jakoukoliv velikost pokud bude stejná jako velikost původní.

To zní jako parafráze na větu Henryho Forda(, kterou nikdy neřekl) :-).

To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
24.9.2014 14:15 ET
Rozbalit Rozbalit vše Re: shrink raid5
Hodně bych se divil, kdyby mdadm --grow --size nepřenesl superblock opět na konec nového raidu. To by pak celá funkcionalita zmenšení raidu neměla žádný smysl, kdyby podkladové zařízení muselo zůstat pořád stejně velké.
Mno, me se to tak jevi (mozna je potreba ty oddily zarovnat presne za raid+superblok ):

* Nejdrive jsem zmensil velikost pole (--grow --size), potom zmensil oddily (jsem si skoro jist, ze velikosti oddilu byly vetsi nez raidu+superbloku) a raid se nesestavil

* Pak jsem protahnul oddily na max moznou velikost (vetsi nez puvodni, takze superblok zmenseneho raidu byl urcite v rozsahu) a pole se nesestavilo

* Vytahl jsem ze zalohy puvodni velikosti oddilu a nastavail fdiskem - "stary" raid se sestavil

Akce nakonec dopadla uspesne, takze tam mam volny prostor a muzu to vyzkouset (paklize bude zajem ;) na nove vytvorenem testovacim raidu (at v tom mame jasno :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.