Portál AbcLinuxu, 17. května 2024 04:07


Dotaz: Oziveni mdadm RAID5

13.4. 21:01 chybicka se vloudila
Oziveni mdadm RAID5
Přečteno: 761×
Odpovědět | Admin
Dobry vecer.

Mejme masinu s OS na NVMe SSD a 4x HDD pripojene do SATA radice, pricemz tyto 4x HDD jsou v mdraid5. Nad timto R5 je LUKS, nad LUKS je bezny etx4.

Probehnul pokus dostat celej onboard SATA radic do VM prostrednictvim PCIe passthough... Nedomyslel jsem, ze je potreba upravit startup tak, aby hypervisor pole vubec nedaval dohromady, nebo aby jej hned pred spustenim VM zastavil. Takze vysledek se brzy dostavil. V tento cas startuje VM a zacina probihat passthrough; sda je jiny SATA disk, mimo pole, jehoz odebrani probehlo korektne.

dub 11 08:02:03 gw kernel: sd 0:0:0:0: [sda] Synchronizing SCSI cache
dub 11 08:02:03 gw kernel: sd 0:0:0:0: [sda] Stopping disk
dub 11 08:02:03 gw kernel: ata1.00: disabled
dub 11 08:02:03 gw udisksd[1133]: Unable to resolve /sys/devices/virtual/block/md126/md/dev-sdb/block symlink
dub 11 08:02:03 gw kernel: md/raid:md126: Disk failure on sdb, disabling device.
dub 11 08:02:03 gw kernel: md/raid:md126: Operation continuing on 3 devices.
dub 11 08:02:03 gw kernel: sd 2:0:0:0: [sdb] Synchronizing SCSI cache
dub 11 08:02:03 gw kernel: sd 2:0:0:0: [sdb] Stopping disk
dub 11 08:02:03 gw udisksd[1133]: Unable to resolve /sys/devices/virtual/block/md126/md/dev-sdb/block symlink
dub 11 08:02:03 gw kernel: ata3.00: disabled
dub 11 08:02:03 gw kernel: md/raid:md126: Disk failure on sdc, disabling device.
dub 11 08:02:03 gw kernel: md/raid:md126: Cannot continue operation (2/4 failed).
dub 11 08:02:03 gw kernel: md126: detected capacity change from 23438819328 to 0
dub 11 08:02:03 gw kernel: md/raid:md126: device sde operational as raid disk 3
dub 11 08:02:03 gw kernel: md/raid:md126: device sdd operational as raid disk 0
dub 11 08:02:03 gw kernel: sd 3:0:0:0: [sdc] Synchronizing SCSI cache
dub 11 08:02:03 gw kernel: md/raid:md126: not enough operational devices (2/4 failed)
dub 11 08:02:03 gw kernel: md/raid:md126: failed to run raid set.
dub 11 08:02:03 gw kernel: md: pers->run() failed ...
dub 11 08:02:03 gw kernel: md: md126 stopped.
dub 11 08:02:04 gw kernel: sd 3:0:0:0: [sdc] Stopping disk
dub 11 08:02:04 gw systemd[1]: mdmon@md127.service: Deactivated successfully.
dub 11 08:02:04 gw kernel: md: md126 stopped.
dub 11 08:02:04 gw systemd-udevd[4178]: md126: Process '/usr/bin/unshare -m /usr/bin/snap auto-import --mount=/dev/md126' failed with exit code 1.
dub 11 08:02:04 gw kernel: ata4.00: disabled
  Zbyvajici dva disky se odpojily "normalne", pac md126 uz bylo zastaveny, avsak se zaznamem informace o tom, ze jsou dva disky v haji...  

Proc furt doufam, ze to jeste neni uplne v haji:

1) vsechny disky jsou citelne, NEdoslo k HW chybe, ani k fakticke ztrate redundance

2) nemohlo (?) dojit k poskozeni uzitecnych dat, nakolik pole nebylo ani namountovane, ani LUKS-odemknute

  Takhle vypada stav celeho pole:
mdadm --examine md126
md126:
          Magic : de11de11
        Version : 01.00.00
Controller GUID : ....
 Container GUID : ....
            Seq : 00000015
  Redundant hdr : yes
  Virtual Disks : 2

      VD GUID[0] : 44656C6C:...72
         unit[0] : 0
        state[0] : Failed, Consistent
   init state[0] : Fully Initialised
       access[0] : Read/Write
         Name[0] : data
 Raid Devices[0] : 4 (0@0K 1@0K 2@0K 3@0K)
   Chunk Size[0] : 128 sectors
   Raid Level[0] : RAID5
  Device Size[0] : 3906469888
   Array Size[0] : 11719409664

      VD GUID[1] : 44656C6C:2...1D
         unit[1] : 1
        state[1] : Optimal, Consistent
   init state[1] : Not Initialised
       access[1] : Read/Write
         Name[1] : temp

 Physical Disks : 255
      Number    RefNo      Size       Device      Type/State
         0    b854cc92  3906469888K /dev/sdd        active/Online
         1    21881f31  3906469888K /dev/sdc        active/Offline, Failed
         2    8296e5e6  3906469888K /dev/sdb        active/Offline, Failed, Missing
         3    8d40b56c  3906469888K /dev/sde        active/Online
         4    3e2d301c  2929721344K                 active/Online
         5    46199ca5  2929721344K                 active/Online
         6    fd2d4fe1  2929721344K                 active/Online
 

VD 1 s labelem temp, potazmo fyzickym diskum 4, 5, 6 netreba venovat pozornost, ty patri jinemu poli, ktere neni pritomno (zaloha, offline).  

U examine jednolivych disku nalezicim k VG0 (data) se pak stav lisi podle toho, kdy kterej disk vypadnul. sdb vypadnul jako prvni a pamatuje si stav, kdy bylo vsechno zalite sluncem:
      Number    RefNo      Size       Device      Type/State
         0    b854cc92  3906469888K                 active/Online
         1    21881f31  3906469888K                 active/Online
         2    8296e5e6  3906469888K /dev/sdb        active/Online
         3    8d40b56c  3906469888K                 active/Online
sdc vypadnul jako druhej pote, co zmizel sdb, examine:
      Number    RefNo      Size       Device      Type/State
         0    b854cc92  3906469888K                 active/Online
         1    21881f31  3906469888K /dev/sdc        active/Online
         2    8296e5e6  3906469888K                 active/Offline, Failed, Missing
         3    8d40b56c  3906469888K                 active/Online
sdd vypadnul az po zastaveni pole, jeho examine:
      Number    RefNo      Size       Device      Type/State
         0    b854cc92  3906469888K /dev/sdd        active/Online
         1    21881f31  3906469888K                 active/Offline, Failed
         2    8296e5e6  3906469888K                 active/Offline, Failed, Missing
         3    8d40b56c  3906469888K                 active/Online
totez sde:
      Number    RefNo      Size       Device      Type/State
         0    b854cc92  3906469888K                 active/Online
         1    21881f31  3906469888K                 active/Offline, Failed
         2    8296e5e6  3906469888K                 active/Offline, Failed, Missing
         3    8d40b56c  3906469888K /dev/sde        active/Online

  Stav uzitecnych dat ocekavam stejny, nakolik pole NEbylo odemknuto ani namountovano a vsechny disky jsou citelne (to jsem kontroloval po hlasce o dvou selhanych discich jako prvni, komplet cteni celyho disku pres dd, nez mi doslo, co se stalo).   Takze otazka zni... je bezpecne na tom pustit:
mdadm --assemble --force /dev/md126 /dev/sdd /dev/sdc /dev/sdb /dev/sde
Nebo neco jinyho nejak jinak? Zalezi na poradi disku v tomto prikazu uvedenych, pokud tam vubec maji byt uvedeny?

  Misto na bitovou kopii 16 TB dat nemam. Zalohu aspon tech dulezitych dat pripadne mam, pomene cerstvou a fyzicky offline. Ale samozrejme preferovana varianta je, aby byla slusna sance na to, ze preziji i data mene dulezita.

Diky za napady.

Ř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

Max avatar 14.4. 18:16 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Oziveni mdadm RAID5
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co řekne verbose?
mdadm --assemble --scan --verbose
Jinak ono ti už pak asi nic jiného nezbývá, než to pak forcnout. Každopádně mdadm už dlouho nepožívám a mohu se mýlit.
Zdar Max
Měl jsem sen ... :(
14.4. 22:12 chybicka se vloudila
Rozbalit Rozbalit vše Re: Oziveni mdadm RAID5
Diky za odezvu.

Do assemble scan jsem uz koukal, ale moc chytrej z toho nejsem. Promazany nesouvisejici disky a loop zarizeni.
mdadm --assemble --scan --verbose
mdadm: looking for devices for further assembly
mdadm: /dev/sde is busy - skipping
mdadm: /dev/sdd is busy - skipping
mdadm: /dev/sdc is busy - skipping
mdadm: /dev/sdb is busy - skipping
mdadm: looking in container /dev/md/ddf0
mdadm: member /md127/0 in /dev/md/ddf0 is already assembled
mdadm: No arrays found in config file or automatically
Cili ty busy disky jsou busy, protoze jsou i soucasti md127:

lsblk
sdb           8:16   0   3.6T  0 disk
`-md127       9:127  0     0B  0 md
sdc           8:32   0   3.6T  0 disk
`-md127       9:127  0     0B  0 md
sdd           8:48   0   3.6T  0 disk
|-md126       9:126  0     0B  0 raid5
`-md127       9:127  0     0B  0 md
sde           8:64   0   3.6T  0 disk
|-md126       9:126  0     0B  0 raid5
`-md127       9:127  0     0B  0 md
Priznam se bez muceni, ze uplne nerozumim, co znamena tato zavislost a proc tam md127 vlastne vubec je.

Obe pole jsou puvodne z HW RAIDu od LSI a mdraid to dokazal prechroustat a fungovalo to celej cas bez problemu, az do tehlete blbosti, co jsem si zpusobil sam.

Vlastne dokud to byl HW RAID, tak jsem o existenci nejakyho md127 vubec nevedel, zrejme tam RAID odsypal svoje hlavicky a metadata?

cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md126 : inactive sde[1] sdd[0]
      7812939776 blocks super external:/md127/0

md127 : inactive sdc[3](S) sdb[2](S) sde[1](S) sdd[0](S)
      2194784 blocks super external:ddf

unused devices: none
Cili jestli md126 zrejme zavisi na md127, ktery je nejak zazracne v poradku a zdravej. Jednotlivy disky to pise busy, protoze jsou soucasti md127. Ale mdadm --stop md127 je asi blbost, pac kam by se pak ty zmeny zapsaly?

Nebo jeste jinak, pokud pustim --reasseble --force md126, neposle mne to dopryc prave proto, ze relevantni disky jsou busy?

Stejne mi asi nezbyva nic jinyho, nez to prubnout, ale rad bych k tomu vedel vic.
14.4. 22:43 X
Rozbalit Rozbalit vše Re: Oziveni mdadm RAID5
Bezi to jako sluzba:
systemd[1]: mdmon@md127.service: Deactivated successfully
Takze by jsi mel vedet co to je zac. Idalni by bylo presne popsat od zacatku co presne si udelal. Vsechny prikazy, proste cely tvuj postup.
15.4. 06:22 A
Rozbalit Rozbalit vše Re: Oziveni mdadm RAID5
Obe pole jsou puvodne z HW RAIDu od LSI
Tady je počátek tvé patálie. Nemáš "mdadm RAID5", ale jakýsi hybrid, s kterým nemá nikdo žádnou zkušenost, jenom ty sám.
Řešení 1× (xxxs)
19.4. 22:36 chybicka se vloudila
Rozbalit Rozbalit vše Re: Oziveni mdadm RAID5
Trosku jsem se odmlcel, nakolik jsem si v praci vyprosil nejake jete disky, sice uz ne ve stopro kondici, ale lepsi nez dratem do oka, pro provedeni dd kopii vsech disku. Pro jistotu.

Rozuzleni:

Veskere pokusy o oziveni pres mdadm selhaly. At uz reassemble force, nebo add /dev/sdx do /md126.

Vsechno chcipalo na existenci onoho zahadneho md127 (resp. ddf0), diky cemuz byly disky busy a po zastaveni md127 nasledny pokus o poskladani md126 udelal srovnani event counteru a slozil... opet fakticky md127, jen pod nazvem md126.

Fajn, tak prubnu jeste s bezicim md127, ze jako rucne pridam ten offline disk do md126. Tam mne mdadm posilal do haje:
mdadm: Cannot add disks to a 'member' array, perform this operation on the parent container

Az jsem se dohledal obdobnych problemu u lidi, kteri meli treba Intel fake RAID a stejnej problem, pres mdadm neopravitelny - avsak opravitelny pres Intel fake RAID nastroj/BIOS/cokoliv se tam pouziva.

Cili: Ano, uplne prapuvodne pole vzniklo na LSI radici. V ramci nejakych pokusu a priprav na disaster scenario jsem disky zkusil pichnout na onboard SATA radic a zjistil, ze si s tim mdraid poradi a umi to pole spravne seskladat, tj. v pripade selhani radice bych se k datum dostal. Nu a pro mne je ted novy poznatek, ze kdyz vsechno funguje, tak vsechno funguje, ale pres mdadm to neni opravitelne v pripade problemu.

Po napichnuti disku zpet na LSI radic a natahnuti foreign konfigurace ten radic nerekl ani popel, vsechno prechroustal, LUKS odemknutelny, data citelna...

Takze jsi mne vlastne spravne nakopnul a mas bludistaka... :-)

Diky i vsem ostatnim za rady. Zas jsem se neco priucil!
15.4. 08:19 xxl | skóre: 25
Rozbalit Rozbalit vše Re: Oziveni mdadm RAID5
Priznam se bez muceni, ze uplne nerozumim, co znamena tato zavislost a proc tam md127 vlastne vubec je. <
md126 a md127 tam jsou nejspíš kvůli tomu, že madam si zaznamenává, na jakém zařízení byl původně vytvořen. A když pole sestavíš na zařízení jiném, tak, když to necháš na mdadm, nepoužije původní čísla mdX, ale právě 127, 126,...

Pokud na disky opravdu nebylo v mezidobí od posledního funkčního stavu zapisováno, tak nechápu, proč by se pole nemělo sestavit.

Nabootuj z live distribuce, která zvládá mdadm a luks, na PC, kde budeš mít jenom ty disky, o které ti jde. Aby se to zbytečně nekomplikovalo. V lepším případě, pokud ta distribuce automaticky startuje mdadm scan, se ti rovnou při bootu sestaví mdadm raid(y), ovšem pod jinými čísly, než jsi měl původně. Luks si budeš muset potom odemknout sám ručně.
15.4. 10:06 xxl | skóre: 25
Rozbalit Rozbalit vše Re: Oziveni mdadm RAID5
Sry, DDF jsem přehlédl.
15.4. 11:49 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Oziveni mdadm RAID5
Pokud si matně vzpomínám, ty md127/8... raidy místo správného pole mi to automaticky buildovalo , když jsem v initramfs neměl cílové pole v /etc/mdadm.conf . Ručně to šlo zrušit a pak nastartovat cílové pole. S tím kernelím autobuildem byl vždycky trochu boj.
15.4. 12:50 xxl | skóre: 25
Rozbalit Rozbalit vše Re: Oziveni mdadm RAID5
Stopni raidy 126 a 127. A potom dej mdadm -Asv.
root@debian:~# mdadm -S /dev/md126
mdadm: stopped /dev/md126

root@debian:~# mdadm -S /dev/md127
mdadm: stopped /dev/md127

root@debian:~# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
unused devices: none

root@debian:~# mdadm -Asv
mdadm: looking for devices for further assembly
mdadm: no RAID superblock on /dev/sda1
mdadm: no DDF anchor found on /dev/sda
mdadm: no RAID superblock on /dev/sda
mdadm: no RAID superblock on /dev/sdb1
mdadm: no DDF anchor found on /dev/sdb
mdadm: no RAID superblock on /dev/sdb
mdadm: Cannot read anchor block on /dev/sr0: Invalid argument
mdadm: no RAID superblock on /dev/sr0
mdadm: /dev/sdc is identified as a member of /dev/md/ddf0, slot 0.
mdadm: /dev/sdf is identified as a member of /dev/md/ddf0, slot 3.
mdadm: /dev/sde is identified as a member of /dev/md/ddf0, slot 2.
mdadm: /dev/sdd is identified as a member of /dev/md/ddf0, slot 1.
mdadm: added /dev/sdd to /dev/md/ddf0 as 1
mdadm: added /dev/sde to /dev/md/ddf0 as 2
mdadm: added /dev/sdf to /dev/md/ddf0 as 3
mdadm: added /dev/sdc to /dev/md/ddf0 as 0
mdadm: Container /dev/md/ddf0 has been assembled with 4 drives
mdadm: looking for devices for further assembly
mdadm: looking for devices for further assembly
mdadm: /dev/sdc is busy - skipping
mdadm: /dev/sdf is busy - skipping
mdadm: /dev/sde is busy - skipping
mdadm: no recogniseable superblock on /dev/sda1
mdadm: Cannot assemble mbr metadata on /dev/sda
mdadm: /dev/sdd is busy - skipping
mdadm: no recogniseable superblock on /dev/sdb1
mdadm: Cannot assemble mbr metadata on /dev/sdb
mdadm: no recogniseable superblock on /dev/sr0
mdadm: looking in container /dev/md/ddf0
mdadm: found match on member /md127/0 in /dev/md/ddf0
mdadm: Started /dev/md/pokus with 4 devices
mdadm: looking for devices for further assembly
mdadm: /dev/sdc is busy - skipping
mdadm: /dev/sdf is busy - skipping
mdadm: /dev/sde is busy - skipping
mdadm: /dev/sdd is busy - skipping
mdadm: looking in container /dev/md/ddf0
mdadm: member /md127/0 in /dev/md/ddf0 is already assembled
mdadm: looking for devices for further assembly
mdadm: no recogniseable superblock on /dev/md/pokus
mdadm: /dev/sdc is busy - skipping
mdadm: /dev/sdf is busy - skipping
mdadm: /dev/sde is busy - skipping
mdadm: no recogniseable superblock on /dev/sda1
mdadm: Cannot assemble mbr metadata on /dev/sda
mdadm: /dev/sdd is busy - skipping
mdadm: no recogniseable superblock on /dev/sdb1
mdadm: Cannot assemble mbr metadata on /dev/sdb
mdadm: no recogniseable superblock on /dev/sr0
mdadm: looking in container /dev/md/ddf0
mdadm: member /md127/0 in /dev/md/ddf0 is already assembled

root@debian:~# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10] 
md126 : active (auto-read-only) raid5 sdc[3] sdd[2] sde[1] sdf[0]
      62816256 blocks super external:/md127/0 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]

md127 : inactive sdc[3](S) sdf[2](S) sde[1](S) sdd[0](S)
      131072 blocks super external:ddf

unused devices: none
Pro info, raidy vznikly takto (viz man mdadm):
mdadm --create /dev/md/pokus -n4 -l5 /dev/md/ddf
mdadm --create /dev/md/ddf --metadata=ddf --raid-disks 4 /dev/sd[c-f]
15.4. 12:58 xxl | skóre: 25
Rozbalit Rozbalit vše Re: Oziveni mdadm RAID5
Pro info, raidy vznikly takto (viz man mdadm):
mdadm --create /dev/md/ddf --metadata=ddf --raid-disks 4 /dev/sd[c-f]
mdadm --create /dev/md/pokus -n4 -l5 /dev/md/ddf
obráceně...

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.