Portál AbcLinuxu, 14. prosinec 2017 09:11

Dotaz: Výměna disku v RAID

8.9. 06:47 Milan Uhrák | skóre: 26 | blog: milan_at_ABC
Výměna disku v RAID
Přečteno: 229×
Odpovědět | Admin
Zdravím,

v návaznosti na tento dotaz ( který je v podstatě v teoretické rovině vyřešen ) mám dotaz ohledně jistých praktických problémů, které se při výměně vyskytly.

Stručně : Raid 5 s mrtvým diskem. Původní disky 1TB, zamýšleno postupně zaměnt za 2TB a převést na RAID 6. původní disky
Disk /dev/sdc: 1 000,2 GB, 1 000 204 886 016 bajtů
hlav: 255, sektorů na stopu: 63, cylindrů: 121 601, celkem 1 953 525 168 sektorů
Jednotky = sektory po 1 * 512 = 512 bajtech
Velikost sektoru (logického/fyzického): 512 bajtů / 512 bajtů
Velikost I/O (minimální/optimální): 512 bajtů / 512 bajtů
Identifikátor disku: 0x000c516b

Zařízení Zavádět   Začátek       Konec    Bloky    Id  Systém
/dev/sdc1              63  1953520064   976760001   fd  Linux RAID samorozpoznatelný
nove disky:
Disk /dev/sde: 2 000,4 GB, 2 000 398 934 016 bajtů
hlav: 255, sektorů na stopu: 63, cylindrů: 30 400, celkem 488 378 646 sektorů
Jednotky = sektory po 1 * 4096 = 4 096 bajtech
Velikost sektoru (logického/fyzického): 4096 bajtů / 4096 bajtů
Velikost I/O (minimální/optimální): 4096 bajtů / 4096 bajtů
Identifikátor disku: 0x000aa8c7 
      
Zařízení Zavádět   Začátek       Konec    Bloky    Id  Systém
/dev/sde1            2048  3907028991  2743205888   fd  Linux RAID samorozpoznatelný
Původní disk, nejde odebrat, nepozná ho ani BIOS, nový disk nejde přidat. Oproti záměru není nový disk připojen na eSata, ale na USB->SATA konvertoru ( nemám správný kabel, dnes snad přivezou )

na disku jsem fdiskem vytvořil jednu neformátovanou partišnu.
mdadm --manage /dev/md0 --add /dev/sde1
mdadm: failed to write superblock to /dev/sde1
Otázka do fóra :

Způsobuje tento fail jistá nekompatibilita dsků ? ( 512 vs 4096 B )

Nebo je problém s převodníkem ? ( jiné disky jsem s jeho pomocí běžně partišnoval a podobně, nikdy nenastal problém, pokud si pamatuju )

Nebo co se podělalo ? jak to zjistit ?

dmesg | grep sde mlčí, jen [744294.035907] md: export_rdev(sde1)

moc tomu nerozumím, a věřím, že mezi vámi se najdou zkušenější borci.

Předem díky za navedení.

M

Řešení dotazu:


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

Odpovědi

8.9. 08:32 R
Rozbalit Rozbalit vše Re: Výměna disku v RAID
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pozri do dmesg (bez "grep sde"!), ci ten novy disk (alebo prevodnik) nehadze nejake chyby.
8.9. 09:12 Milan Uhrák | skóre: 26 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Výměna disku v RAID
dmesg je soucasti dotazu, nic to nehlásí
8.9. 09:19 dustin | skóre: 61 | blog: dustin
Rozbalit Rozbalit vše Re: Výměna disku v RAID
Proto se ptá na negrepovaný dmesg - třeba tam máš vypsanou chybu usb komunikace apod.
8.9. 09:45 Milan Uhrák | skóre: 26 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Výměna disku v RAID
pardon, tak dmesg je po hlášce mdadm čistý ( žáden další řádek oproti dmesg před provedením přidání )
Řešení 1× (Milan Uhrák (tazatel))
8.9. 08:49 dustin | skóre: 61 | blog: dustin
Rozbalit Rozbalit vše Re: Výměna disku v RAID
Odpovědět | | Sbalit | Link | Blokovat | Admin
Včera jsem koukal na google a nenašel jsem žádný report problému mezi sektory 512 a 4096b, když máš stripe v RAID5 podstatně větší. Také bych to spíš viděl na reálný problém s tím diskem. Zkus na něj zapisovat dd-čkem. Metadata 1.20 jsou hned na začátku partišny viz https://raid.wiki.kernel.org/index.php/RAID_superblock_formats#Sub-versions_of_the_version-1_superblock, tak můžeš zkusit zápis třeba

dd if=/dev/zero of=/dev/sde1 bs=1M count=1000

Dej pozor na správný název disku, ať si něco nepřepíšeš...

Ještě detail - ověřil sis, že je partišna po vytvoření dostupná pro jádro (tedy že se vyskytuje v /proc/partitions)? Někdy se změna rozdělení disku neprojeví a musí se to jádru natlačit příkazem partprobe.
8.9. 09:23 Milan Uhrák | skóre: 26 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Výměna disku v RAID
Děkuji za pomoc, Dustine.
dd if=/dev/zero of=/dev/sde1 bs=1M count=1000
1000+0 vstoupivších záznamů
1000+0 vystoupivších záznamů
1 048 576 000 bajtů (1,0 GB) zkopírováno, 33,9505 s, 30,9 MB/s
Zdá se, že to proběhlo v pořádku

aha ...

ted koukam na tvuj odkaz .... takže na starem serveru jsou metadata 1.0 .. a ty jsou na konci.

Partišnu jsem dělal fdiskem a její konec jsem prostě odklepnul ... takže
fdisk /dev/sde
Pozor: velikost sektoru je 4096 (nikoliv 512)

Příkaz (m pro nápovědu): print

Disk /dev/sde: 2 000,4 GB, 2 000 398 934 016 bajtů
hlav: 42, sektorů na stopu: 63, cylindrů: 184 572, celkem 488 378 646 sektorů
Jednotky = sektory po 1 * 4096 = 4 096 bajtech
Velikost sektoru (logického/fyzického): 4096 bajtů / 4096 bajtů
Velikost I/O (minimální/optimální): 4096 bajtů / 4096 bajtů
Identifikátor disku: 0x000aa8c7

Zařízení Zavádět   Začátek       Konec    Bloky    Id  Systém
/dev/sde1             256   488378645  1953513560   fd  Linux RAID samorozpoznatelný

Příkaz (m pro nápovědu): 
nemůže být problém v tomto ?
8.9. 09:39 dustin | skóre: 61 | blog: dustin
Rozbalit Rozbalit vše Re: Výměna disku v RAID
Tak zkus zápis na konec té partišny
dd if=/dev/zero of=/dev/sde1 bs=1M skip=1950000
Koukal ses do toho dmesg, jestli to něco píše při chybě mdadm -add ?

8.9. 10:00 Milan Uhrák | skóre: 26 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Výměna disku v RAID
tak jen v rychlovce ... tvuj
dd if=/dev/zero of=/dev/sde1 bs=1M skip=1950000
stále ještě běží ( 5 minut ? ) a nic .. asi pořád přeskakuje .. dmesg stále čisté.
8.9. 10:22 dustin | skóre: 61 | blog: dustin
Rozbalit Rozbalit vše Re: Výměna disku v RAID
Skok by mel byt seekem. Ale je to pres 50 gb (pokud jsem to dobre spocital).
8.9. 11:01 Milan Uhrák | skóre: 26 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Výměna disku v RAID
Stále seekuje ( nebo co ). Jak 50GB ?
8.9. 11:57 Milan Uhrák | skóre: 26 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Výměna disku v RAID
pořád maká .. dd na špici top s 5%.

Je to normální ?
8.9. 13:20 Milan Uhrák | skóre: 26 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Výměna disku v RAID
možná jsem neudělal chytrou věc, ale dd jsem zastavil.
dd if=/dev/zero of=/dev/sde1 bs=1M skip=1950000
^C
342273+0 vstoupivších záznamů
342273+0 vystoupivších záznamů
358 899 253 248 bajtů (359 GB) zkopírováno, 10 624,9 s, 33,8 MB/s

Protože mne začalo zajímat, co vlastně provádí, a podle všeho tedy - skip přeskakuje začátek vstupního proudu, zatímco seek, ten přeskakuje x-bloků výstupní fronty.

Jenže seek to nechce : tady jsem číslo snížil tak, že víc snad ani nešlo :
dd if=/dev/zero of=/dev/sde1 bs=1M seek=850000
dd: „/dev/sde1“: výstup nelze převíjet: Nepřípustný argument
0+0 vstoupivších záznamů
0+0 vystoupivších záznamů
0 bajtů (0 B) zkopírováno, 0,00113335 s, 0,0 kB/s
8.9. 13:44 Milan Uhrák | skóre: 26 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Výměna disku v RAID
hm. po přehození na eSata (kabel dorazil)
dd if=/dev/zero of=/dev/sde1 bs=1M
dd: zápis „/dev/sde1“: Na zařízení není volné místo
238467+0 vstoupivších záznamů
238466+0 vystoupivších záznamů
250 049 735 680 bajtů (250 GB) zkopírováno, 1 365,83 s, 183 MB/s
A teď jsem z toho yelen
8.9. 14:05 Milan Uhrák | skóre: 26 | blog: milan_at_ABC
Rozbalit Rozbalit vše Re: Výměna disku v RAID
Musím se přiznat, že mne matou ty různé jednotky .. sektorů, bloků ... kdo ví, co tím autor chce říct .. ok..

otevřel jsem susí klikátko a sde1 tu měla 250GB. Nevím proč. fdisk dával počátek 2048 a konec .. hrozně velké číslo. jen jsem odklepnul. hm ..

Tak jsem si teď ty partišny naklikal, udělal jsem tam tedy 50G a zbytek ( dle tvých rad ). Připojit se disk v klikadle nedal, ale ručně se to podařilo a již se pole obnovuje.
 mdadm --manage /dev/md0  --add /dev/sde2
mdadm: added /dev/sde2
jpnserver:/etc/shorewall # cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid5 sde2[4] sdb1[1] sdc1[3]
      1953519616 blocks super 1.0 level 5, 128k chunk, algorithm 0 [3/2] [_UU]
      [>....................]  recovery =  1.4% (14261728/976759808) finish=312.3min speed=51361K/sec
      bitmap: 223/466 pages [892KB], 1024KB chunk

unused devices: <none>
jpnserver:/etc/shorewall # 
Velký dík za tvou snahu a omlouvám se za kiksy, kterých jsem se zřejmě ve své neznalosti dopustil.

Stejně tak děkuji ostatním, kteří svými nápady posouvali dílo do cíle.

Hezký víkend.

M
8.9. 23:19 dustin | skóre: 61 | blog: dustin
Rozbalit Rozbalit vše Re: Výměna disku v RAID
Výborně, gratuluju.

Takže když to shrnu (+ co ses naučil):

Z nějakého důvodu to vyrobilo špatně partišnu. Proto jsem několikrát psal, aby sis to zkontroloval přes soubor /proc/partitions - vážně to používej. Tak malá partišna samozřejmě nešla přidat do pole - snažil se zapsat metadata na konec pole, ale to už bylo mimo partišnu - proto ta chyba. Velikost sektoru s tím nijak nesouvisela.

DD - rozdíl mezi parametry skip a seek (napsal jsem to blbě) + našel sis to sám, super.

Držím palce s tou konverzí.

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.