Portál AbcLinuxu, 10. května 2025 06:53

Dotaz: Vrátenie disku do RAID1

20.1.2016 23:47 pupala | skóre: 21
Vrátenie disku do RAID1
Přečteno: 709×
Odpovědět | Admin
Ahojte vrátil som disk s rozdelenými partíciami do diskového poľa RAID1 boli na ňom 3 partície pre 3 raid-y, dve sa korektne rebuildli, ale jedna sa ebuildla a ostala ako spare. A je to partícia na ktorej mi beží rootfs. Ako ho môžen dať do stavu active? Opakovane som ho softwareovo odstránil --fail --remove, a následne pridal cez --add. A opakovane naskočil ako spare. Neviem, ako to spraviť. ďakujem za pomoc.

Ř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

21.1.2016 07:43 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Odpovědět | | Sbalit | Link | Blokovat | Admin
A koľko máš aktívnych?
21.1.2016 07:58 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Ahoj. Aktívny disk v RAID 1 mám jeden. Tento druhý sa uchytil ako spare. Problém je v tom, že nemôžem rozobrať pole, nakoľko je na ňom rootfs. Paradoxne ostatné partície, z tohoto nového disku sa v ďalších poliach uchytili korektne ako aktívne.
21.1.2016 10:11 fish | skóre: 22
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Poud se partition chyta jako spare, tak mozna bude problem v poctu ocekavanych zarizeni toho pole. mdadm -D /dev/mdX by mel ukazat Raid Devices : 2

Pokud ne, zkusil bych mdadm --grow -n 2 /dev/mdX

V nejhorsim pripade partition vyhodit z pole a pustit na ni mdadm --zero-superblock /dev/sdXY (s tim zamozrejme opatrne).

Btw v tom vadnem poli je opravdu jen jedna aktivni partition a jedna jako spare? Zadna jina? Pro priste by bylo vhodne k dotazu rovnou pripojit alespon cat /proc/mdstat, idealne i mdadm -D /dev/mdX
21.1.2016 17:24 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
/dev/md1:
        Version : 1.2
  Creation Time : Wed Aug 28 14:37:28 2013
     Raid Level : raid1
     Array Size : 9756544 (9.30 GiB 9.99 GB)
  Used Dev Size : 9756544 (9.30 GiB 9.99 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Thu Jan 21 17:12:07 2016
          State : clean, degraded
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

           Name : gameserver-slave:1  (local to host gameserver-slave)
           UUID : 15ffbfb4:04d61b3d:cd9bd34d:eb2aa7d0
         Events : 1352

    Number   Major   Minor   RaidDevice State
       0       8        5        0      active sync   /dev/sda5
       1       0        0        1      removed
       2       8       21        -      spare   /dev/sdb5
--zero-superblock /dev/sdb5 som použil na úvod .
21.1.2016 17:30 stn
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
A co rika kernel?

Hod sem jeste cat /proc/mdstat

Pust ve druhe konzoli tail /var/log/kern.log (nebo kde mas logy kernelu), zkus znova odebrat/pridat tu partisnu, a pak sem pastni co ti vylezlo z toho logu...
21.1.2016 18:23 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Toto bol najťažší scenár:

mdadm --manage /dev/md1 --fail /dev/sdb5

mdadm --manage /dev/md1 --remove /dev/sdb5

mdadm --zero-superblock /dev/sdb5

Tu mi už začínalo rednúť ;-) :

mdadm --grow --force -n 1 /dev/md1

mdadm /dev/md1 -a /dev/sdb5

mdadm --grow -n 2 /dev/md1

A dostal som sa tam, kde som bol na začiatku.
21.1.2016 19:42 pavele
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Výpis ze smartctl -a /dev/sdb nehlásí žádné chyby na disku?
21.1.2016 20:04 xxl | skóre: 26
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
A že jsem tak smělej, proč mdadm -n 1 ?????

-n, --raid-devices=

Specify the number of active devices in the array. This, plus the number of spare devices (see below) must equal the number of component-devices (including "missing" devices) that are listed on the command line for --create. Setting a value of 1 is probably a mistake and so requires that --force be specified first.
21.1.2016 21:00 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Ahoj. Cez --force som mu nanútil, že je síce RAID1, ale musí s dokázať žiť s jedným diskom v poli. Tým som si zabezpečil, že "removed device", ktoré tam bolo pod aktívnym, podotýkam nie spare, zmizlo z listingu mdadm -D /dev-md1. Následne prebehol add a grow na -n 2. Ale smola pretrváva ;-)
21.1.2016 21:15 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Vždy robí "rebuild spare".
21.1.2016 22:10 xxl | skóre: 26
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
No a to je právě ta chyba. Když mu vnutíš, že má jenom jeden disk, tak má prostě jenom jeden aktivní disk. Kdyby žádný disk neodebíral (pomocí -n 1), tak bys měl normální degradovaný raid1. A mohl bys ho po výměně disku normálně obnovit.

Prostě jsi měl pouze označit vadný disk jako vadný a odstranit ho z raidu. Následně jsi měl vyměnit disk za nový a prostě ho přidat do raidu.

Udělej
mdadm /dev/md1 -r /dev/sdb5
mdadm --grow -n 2 --force /dev/md1
mdadm /dev/md1 -a /dev/sdb5
21.1.2016 23:11 izidor
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
no uvedeny postup by mel zafungovat, viz test dole. Jedina vec kvuli ktere muze zustat disk jako spare je, ze bezi rebuild jineho pole a ceka se na dobehnuti nez se spusti rebuild tohoto. Uplny vypis cat /proc/mdstat by se hodil
opensuse64:~ # mkdir test_raid
opensuse64:~ # cd test_raid/
opensuse64:~/test_raid # dd if=/dev/zero of=disk1 bs=10M count=1
1+0 records in
1+0 records out
10485760 bytes (10 MB) copied, 0.0480564 s, 218 MB/s
opensuse64:~/test_raid # dd if=/dev/zero of=disk2 bs=10M count=1
1+0 records in
1+0 records out
10485760 bytes (10 MB) copied, 0.0295233 s, 355 MB/s
opensuse64:~/test_raid # losetup -f disk1
opensuse64:~/test_raid # losetup -f disk2
opensuse64:~/test_raid # mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/loop0 /dev/loop1
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? yes
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
opensuse64:~/test_raid # cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 loop1[1] loop0[0]
      10176 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>
opensuse64:~/test_raid # mdadm --manage /dev/md0 --fail /dev/loop1
mdadm: set /dev/loop1 faulty in /dev/md0
opensuse64:~/test_raid # cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 loop1[1](F) loop0[0]
      10176 blocks super 1.2 [2/1] [U_]
      
unused devices: <none>
opensuse64:~/test_raid # mdadm --manage /dev/md0 --remove /dev/loop1
mdadm: hot removed /dev/loop1 from /dev/md0
opensuse64:~/test_raid # cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 loop0[0]
      10176 blocks super 1.2 [2/1] [U_]
      
unused devices: <none>
opensuse64:~/test_raid # mdadm --zero-superblock /dev/loop1
opensuse64:~/test_raid # mdadm -E /dev/loop1
mdadm: No md superblock detected on /dev/loop1.
opensuse64:~/test_raid # mdadm --grow --force -n 1 /dev/md0
raid_disks for /dev/md0 set to 1
opensuse64:~/test_raid # cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 loop0[0]
      10176 blocks super 1.2 [1/1] [U]
      
unused devices: <none>
opensuse64:~/test_raid # mdadm /dev/md0 -a /dev/loop1
mdadm: added /dev/loop1
opensuse64:~/test_raid # cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 loop1[1](S) loop0[0]
      10176 blocks super 1.2 [1/1] [U]
      
unused devices: <none>
opensuse64:~/test_raid # mdadm --grow -n 2 /dev/md0
raid_disks for /dev/md0 set to 2
opensuse64:~/test_raid # cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 loop1[1] loop0[0]
      10176 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>
22.1.2016 18:47 stn
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
A kde jsou ty vypisy z /proc/mdstat a logu kernelu z doby kdy jste ty operace provadel, po kterych jsem se ptal? Nemame kristalovou kouli...
26.1.2016 20:54 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Ospravedlňujem sa, mal som iné povinnosti a toto som nechal pri ľade.

Takže /proc/mdstat:
Personalities : [raid1]
md10 : active raid1 sdb9[1]
      390497216 blocks super 1.2 [2/1] [_U]

md9 : active raid1 sdb8[1]
      146349440 blocks super 1.2 [2/1] [_U]

md8 : active raid1 sdb7[1]
      146349440 blocks super 1.2 [2/1] [_U]

md7 : active raid1 sdb6[1]
      48796672 blocks super 1.2 [2/1] [_U]

md6 : active raid1 sdb5[1]
      19518528 blocks super 1.2 [2/1] [_U]

md5 : active raid1 sdb1[1]
      192576 blocks super 1.2 [2/1] [_U]

md3 : active raid1 sda10[2]
      97593472 blocks super 1.2 [2/1] [U_]

md4 : active raid1 sda9[0]
      97593472 blocks super 1.2 [2/1] [U_]

md2 : active raid1 sda6[0]
      97589120 blocks super 1.2 [2/1] [U_]

md1 : active raid1 sda5[0]
      9756544 blocks super 1.2 [2/1] [U_]

md0 : active raid1 sda1[0]
      96128 blocks super 1.2 [2/1] [U_]
md5 a vyššie som založi na to, aby som súbory z /dev/sda, na ktorom som zistil chyby čítania, ktoré som uviedol nižšie, dostal na /dev/sdb na raid partície, aby som pri výmene mohol len vymaniť /dev/sda a zrekonštruovať pole. Ale v /dev/sdb sú všetky partície vytvorené nanovo po zistení chyby na /dev/sda.
vandrovnik avatar 22.1.2016 22:55 vandrovnik | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
mdadm --grow --force -n 1 /dev/md1
mdadm /dev/md1 -a /dev/sdb5
mdadm --grow -n 2 /dev/md1 
Ty poslední dva řádky by měly být v opačném pořadí, ne? Abyste nejprve nastavil, že chcete 2 disky v poli, a pak přidal tu chybějící partition...
26.1.2016 20:44 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Ďakujem za postreh. Toto som urobil podľa toho, aké znalosti som mal doteraz. Tiež si myslím, že by som to mal súkúsiť aj takto. Najprv oznámiť, že pole zväčšujem a potom pridať disk. Vec ešte nemám doriešenú, ale po podrobnej kontrole disku /dev/sda som na ňom našiel chyby pri čítaní. Takže /dev/sda mám asi chybný. Vravím asi, nakoľko som sa tomu pre iné priority nemohol ešte dopodrobna venovať. Ale prečo mi neurobí korektne /dev/sdb? Môže to byť aj kôli chybám na /dev/sda? Nejako mi táto varianta nejde do hlavy.
27.1.2016 09:05 pet I. | skóre: 13
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1

man mdadm:

For Manage mode:

-a, --add

hot-add listed devices. If a device appears to have recently been part of the array (possibly it failed or was removed) the device is re-added as described in the next point. If that fails or the device was never part of the array, the device is added as a hot-spare. If the array is degraded, it will immediately start to rebuild data onto that spare.

Protože "If that fails ..., the device is added as a hot-spare." je přidávání zastaveno a disk je hot-spare.

27.1.2016 13:46 ***
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Kdybys planě neplkal a už na začátku poslal nebo dokonce dělal, co po po tobě předřečníci chtěli, tak už ti to mohlo fungovat. A nebo kdybys četl manuály.
27.1.2016 19:56 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
citanie manualov a nedaj boze nastudovanie problematiky sa dnes nenosi...
28.1.2016 13:38 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
A aby to bolo definitívne uzavreté vzhľadom na neštudovanie problematiky, na tomto mieste som pochopil problém a našiel riešenie.
28.1.2016 13:08 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Citácie z man mdadm tu nepomáhajú. Man mdadm som čítal, ale nepomohol. To že pre chybu pridania do poľa je tento disk spare podľa ma je OK. S tým som aj ja OK. Ale prečo je pridanie sdb fail s tým už nie som OK. Je to kôli chybám na sda? Áno je. Teraz už poznám odpoveď. Ak neprejde kopírovanie blok po bloku, je vyhlásená chyba rebuildu a disk je pripojený ako spare. Ďakujem vám za pomoc.
Řešení 1× (pupala (tazatel))
28.1.2016 15:14 xxl | skóre: 26
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Já bych řekl, že pokud dochází k chybám čtení na disku, tak kernel něco napíše do logu. A přečtením logu se směr řešení problému obrátí od nefunkčního raidu k vadnému disku.

No, hlavně že už to funguje.
28.1.2016 15:36 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
ÁNo. Ďakujem. V konečnom mi nebolo jasné, že ako chyba na disku, ktorý je v raid1 v stave aktívny ovplyvní disk, ktorý tam chcem pridať a zistil som, že skutočne ano a aj to, že prečo. Ďakujem ešte raz všetkým za ochotu. To že sda je vadný som nejako idignoroval s predstavou, že sdb, ktorý chcem pripojiť je v poriadku a to je hlavné. Ale nie je tomu tak z doôvodu, že keď začne práve ten rwbuild, tak sa korektne nedokončí, lebo rebuild je v štýle kopírovania "dd" a nie "cp". To je to, čo mi hneď nedošlo ;-)
21.1.2016 20:47 fish | skóre: 22
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Co udela mdadm /dev/md1 --remove detached ? Pripadne predtim mdadm /dev/md1 --fail detached . Chyba je samozrejme v tom removed device, ktere by v pripade chyby bylo faulty removed a doslo by k jeho nahrazeni novym diskem. Takhle si pole mysli, ze ma dva disky ze dvou a nema potrebu aktivovat dalsi disk.

Pravdepodobne jsi neco nestandardniho udelal pri uvodnim rozebirani pole (v dotazu neni blizsi info o tom k cemu doslo - mozna ti failnul jeden z raidu a aniz bys rucne rozebral i ostatni pole, disk jsi rovnou vymenil?)
21.1.2016 21:09 pupala | skóre: 21
Rozbalit Rozbalit vše Re: Vrátenie disku do RAID1
Ahoj. Tu môže byť pravda. Server som halt-ol, vymenil disk, vyrobil partície a pripojil do poľa. Ale robil som na ňom 4 partície pre raid a to pre md0, md1, md2, md3 a všetky okrem md1 sa chytili OK. Any ideas? Štve ma to hlavne preto, že je to rootfs a navyše mi tam beží DB. Nechcem ten stroj znova vypnúť kým to nie je nevyhnutné, práve kôli DB. A aj ma zaujíma, ako sa to dá vyriešiť, aj keď sám som zatiaľ v koncoch.

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.