Zmenseni RAIDu a partition

Jan Kasprzak kas na fi.muni.cz
Pondělí Červen 12 22:21:28 CEST 2017


	Zdravim,

na jednom stroji me ceka zmenseni sw RAIDu a diskovych oblasti,
nad kterymi ten RAID bezi. Tak si to tady zkousim ve virtualnim stroji
a zjistuji, ze asi nevim jek to presne udelat:

- mam 4 disky /dev/vd[c-f], na kazdem partition /dev/vd[c-f]1 pres cely disk
- na tom celem je RAID-10 /dev/md0
- mam snahu pres mdadm --grow --size=<neco> /dev/md0 zmensit disk. Toto projde,
	ale ted nevim jak presne zmensit diskove oblasti pod tim
- pres mdadm --detail /dev/md0 si vypisu "Used Dev Size" a naivne si
	predstavuji, ze presne takhle velkou partition mam vytvorit
- spustim tedy  mdadm --stop /dev/md0, zrusim /dev/vd[c-f]1 a vytvorim
	novou partition presne podle "Used Dev Size".
- mdadm ale odmita sestavit pole zpatky:

# mdadm --assemble --scan
mdadm: failed to add /dev/vdd1 to /dev/md/0: Invalid argument
mdadm: failed to add /dev/vde1 to /dev/md/0: Invalid argument
mdadm: failed to add /dev/vdf1 to /dev/md/0: Invalid argument
mdadm: failed to add /dev/vdc1 to /dev/md/0: Invalid argument
mdadm: failed to RUN_ARRAY /dev/md/0: Invalid argument
mdadm: No arrays found in config file or automatically

- kdyz vratim diskove oblasti na plnou velikost, tak totez projde,
	a mdadm --detail ukazuje spravnou (zmensenou) Used Dev Size

Z toho usuzuji, ze tyto informace jsou i nadale ulozeny v superbloku
MD pole, ktery ve verzi metadat 1.2 je az na konci diskove oblasti.

Jeste je mozne, ze ten superblok je i nekde pobliz toho mista kde konci
ta zmensena partition, ale ne presne. V manualove strance se pise:

       -z, --size=
              Amount  (in  Kibibytes)  of space to use from each drive in RAID
              levels 1/4/5/6.  This must be a multiple of the chunk size,  and
              must  leave about 128Kb of space at the end of the drive for the
              RAID superblock.  If this is not specified (as  it  normally  is
              not)  the smallest drive (or partition) sets the size, though if
              there is a variance among the drives of greater than 1%, a warn‐
              ing is issued.

Cili mozna by ta partition mela byt presne o 128k vetsi nez vypisuje
"Used Dev Size"? Ale fdisk zrejme kvuli zarovnani "cylindru" nechce
vytvorit partition presne o tuto velikost vetsi.

Zkouseli jste nekdo zmensovat MD RAID pole? Jak se presne spocita
velikost te zmensene fyzicke oblasti? Pripadne je tam jeste nejaka
dalsi magie?

	Jeste je taky moznost, ze to takto nejde - ze musim zmensit
pole pres --grow, a pak postupne vyhazovat jednotlive partisny z pole,
zmensovat, vracet je po jedne do pole, a nechat synchronizovat.

	Diky,

-Y.

-- 
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| http://www.fi.muni.cz/~kas/                         GPG: 4096R/A45477D5 |
> That's why this kind of vulnerability is a concern: deploying stuff is  <
> often about collecting an obscene number of .jar files and pushing them <
> up to the application server.                          --pboddie at LWN <


Další informace o konferenci Linux