Mdadm: Różnice pomiędzy wersjami

Z Podręcznik Administratora by OPZ SGU
Przejdź do nawigacji Przejdź do wyszukiwania
m
 
(Nie pokazano 4 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
[[Plik:Mdadm macierz uszkodzona.png|200px|thumb|right|Zdegradowana macierz RAID5]]
'''Programowy RAID oparty na mdadm'''
'''Programowy RAID oparty na mdadm'''


Linia 6: Linia 8:


Treningowa maszyna zbudowana została w oparciu o bardzo małe dyski, ze względu na czas potrzbny na odbudowę macierzy. (dla testu, nie będę czekać 12 godzin).
Treningowa maszyna zbudowana została w oparciu o bardzo małe dyski, ze względu na czas potrzbny na odbudowę macierzy. (dla testu, nie będę czekać 12 godzin).




Linia 881: Linia 888:
*ustawiamy dysk /dev/sdb jako uszkodzony
*ustawiamy dysk /dev/sdb jako uszkodzony
*usuwamy dysk /dev/sdb
*usuwamy dysk /dev/sdb
[[Category:Ubuntu]]

Aktualna wersja na dzień 02:15, 2 mar 2011

Zdegradowana macierz RAID5

Programowy RAID oparty na mdadm

(powstało w trakcie treningu, przed LIVE MIGRACJĄ z RAID 1 -> RAID 5 )

Potrzebowałem potrenowac, w związku z tym opisuję ktok po kroku budowę mojej "piaskownicy".

Treningowa maszyna zbudowana została w oparciu o bardzo małe dyski, ze względu na czas potrzbny na odbudowę macierzy. (dla testu, nie będę czekać 12 godzin).




Pierwsze)

Instalujemy mdadm

apt-get install mdadm

Drugie)

Wyświetlamy nasze dyski twarde.


root@svn:~# fdisk -l

Disk /dev/sda: 186.8 GB, 186863289344 bytes
255 heads, 63 sectors/track, 22718 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00067d6e

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       22673   182120841   83  Linux
/dev/sda2           22674       22718      361462+   5  Extended
/dev/sda5           22674       22718      361431   82  Linux swap / Solaris

Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xacffe83a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         130     1044193+  83  Linux

Disk /dev/sdc: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/sdc doesn't contain a valid partition table
root@svn:~# 


RAID 1

Na dysku /dev/sdb posiadamy swoje cenne dane. Chcemy aby dysk był mirrorowany na /dev/sdc dzięki czemu w razie fizyczneja warii jednego z nich, będziemy w stanie uzyskać dostęp do danych, bez jakichkolwiek problemów. Jednym słowem: Czy padnie /dev/sdb Czy padnie /dev/sdc Będziemy mieć 100% dostęp do danych, tak jak by nic się nie stało.


W tym temacie, w trakcie stawiania RAID dane polecą z obu dysków, więc trzeba sobie pliki zrzucić gdzieś. ładnie położymy ext3 na md0

Tworzymy macierz RAID 1, składającą się z 2 urządzeń w którym jednego urządzenia brakuje.

root@svn:~# mdadm --create /dev/md0 --level 1 --raid-devices=2 missing /dev/sdb
mdadm: array /dev/md0 started.

Test:

root@svn:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Fri Jun 26 14:18:24 2009
     Raid Level : raid1
     Array Size : 1048512 (1024.11 MiB 1073.68 MB)
  Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)
   Raid Devices : 2
  Total Devices : 1
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Fri Jun 26 14:18:24 2009
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

           UUID : 78376526:72b7e62f:ada6ad5b:0d479e64 (local to host svn)
         Events : 0.1

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       16        1      active sync   /dev/sdb
root@svn:~# 

Status: poprawny, zdegradowana Na dole widać którego dysku brakuję.


Tworzymy system plików

root@svn:~# mkfs -t ext3 /dev/md0
mke2fs 1.41.3 (12-Oct-2008)
Etykieta systemu plików=
Typ OS: Linux
Rozmiar bloku=4096 (log=2)
Rozmiar fragmentu=4096 (log=2)
65536 i-węzłów, 262128 bloków
13106 bloków (5.00%) zarezerwowanych dla superużytkownika
Pierwszy blok danych=0
Maksymalna liczba bloków systemu plików=268435456
8 grup bloków
32768 bloków w grupie, 32768 fragmentów w grupie
8192 i-węzłów w grupie
Kopie zapasowe superbloku zapisane w blokach: 
	32768, 98304, 163840, 229376

Zapis tablicy i-węzłów: zakończono                      
Tworzenie kroniki (4096 bloków): wykonano
Zapis superbloków i podsumowania systemu plików: wykonano

Ten system plików będzie automatycznie sprawdzany co każde 39 montowań
lub co 180 dni, zależnie co nastąpi pierwsze. Można to zmienić poprzez
tune2fs -c lub -i.
root@svn:~# 

Już teraz możemy ją dla testu zamontować !

root@svn:~# mount -t ext3 /dev/md0 /root/test
root@svn:~# cd /root/test
root@svn:~/test# ls
lost+found
root@svn:~/test# 


Dodajemy drugi dysk.


root@svn:~/test# mdadm --manage /dev/md0 --add /dev/sdc
mdadm: added /dev/sdc
root@svn:~/test# 

Ponowny test

 mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Fri Jun 26 14:18:24 2009
     Raid Level : raid1
     Array Size : 1048512 (1024.11 MiB 1073.68 MB)
  Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Fri Jun 26 14:27:20 2009
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : 78376526:72b7e62f:ada6ad5b:0d479e64 (local to host svn)
         Events : 0.18

    Number   Major   Minor   RaidDevice State
       0       8       32        0      active sync   /dev/sdc
       1       8       16        1      active sync   /dev/sdb
root@svn:~/test# 


Dwa dyski działają poprawnie.


Do tego momentu, teraz można potestować odłączając losowo któryś dysk. itp, nie chce mi się tego pisać. Bo to wszystko, działa teraz na moim serwerze.


Migracja RAID 1 do RAD 5

Prawdziwa zabawa zaczyna się teraz. Bo trzeba wykonać migrację z RAID1 do RAID 5.


1) Zamykamy wszystkie dojścia do macierzy md0 Wszystkie aplikacja typu vmware, nfs. Odmontowujemy md0

zatrzymujemy macierz

mdadm --stop /dev/md0

Dodajemy dwa dyski ( z macierzy RAID 1 )

root@svn:~#  mdadm --create /dev/md0 --level=5 -n 2 /dev/sdc /dev/sdb
mdadm: /dev/sdc appears to contain an ext2fs file system
    size=1048512K  mtime=Fri Jun 26 15:31:38 2009
mdadm: /dev/sdc appears to be part of a raid array:
    level=raid1 devices=2 ctime=Fri Jun 26 15:31:19 2009
mdadm: /dev/sdb appears to contain an ext2fs file system
    size=1048512K  mtime=Fri Jun 26 15:31:38 2009
mdadm: /dev/sdb appears to be part of a raid array:
    level=raid1 devices=2 ctime=Fri Jun 26 15:31:19 2009
Continue creating array? y
mdadm: array /dev/md0 started.

test

root@svn:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Fri Jun 26 14:40:14 2009
     Raid Level : raid5
     Array Size : 1048512 (1024.11 MiB 1073.68 MB)
  Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Fri Jun 26 14:40:21 2009
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : c7b682ed:bc9a17e6:ada6ad5b:0d479e64 (local to host svn)
         Events : 0.4

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
root@svn:~# 


Montujemy macierz

root@svn:~# mount -t ext3 /dev/md0 /root/test
root@svn:~# cd test
root@svn:~/test# ls
lost+found  wazne_dane
root@svn:~/test# 

wazne_dane <- tutaj nasze pliki, z poprzedniej macierzy RAID1.

Gasimy serwer, i wrzucamy nowy dysk (powinniśmy to zrobić na początku, ale myślałem że wyłoży się na powyższym kroku, co jest miłym zaskoczeniem).


root@svn:~# mdadm --add /dev/md0 /dev/sdd
mdadm: added /dev/sdd
root@svn:~# 

Nowy dysk wrzucony i dodany do macierzy md5.

Rozbudowa


root@svn:~# mdadm --grow /dev/md0 --raid-disks=3
mdadm: Need to backup 128K of critical section..
mdadm: ... critical section passed.
root@svn:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.91
  Creation Time : Fri Jun 26 14:40:14 2009
     Raid Level : raid5
     Array Size : 1048512 (1024.11 MiB 1073.68 MB)
  Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Fri Jun 26 14:48:48 2009
          State : clean, recovering
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

 Reshape Status : 38% complete
  Delta Devices : 1, (2->3)

           UUID : c7b682ed:bc9a17e6:ada6ad5b:0d479e64 (local to host svn)
         Events : 0.292

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
root@svn:~# 

Po kilku chwilach

root@svn:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Fri Jun 26 14:40:14 2009
     Raid Level : raid5
     Array Size : 2097024 (2048.22 MiB 2147.35 MB)
  Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Fri Jun 26 14:48:56 2009
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : c7b682ed:bc9a17e6:ada6ad5b:0d479e64 (local to host svn)
         Events : 0.726

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
root@svn:~# 

Macierz odbudowana. Teraz wypadało, by powiększyć tablicę plików, tak byśmy mogli skożystać z naszej partycji.

1) wykonać sprawdzenie poprawności systemu plików 2)

resize2fs -p /dev/md0


Końcówka

root@svn:~# df -m
/dev/md0                  2016        18      1896   1% /root/test

Jak widać ma 1896 MB, czyli, 2 GB. Schemat n-1.


Teraz coś czego nie mogłem się doczekać, a mianowicie kontrolna awaria ;) Gasimy maszynę, demontujemy hdd.


Taki typ, awarii nie jest tym do którego mdadm został przystosowany. mdadm lubi chronić przed nagłym odłączeniem dysku czyli gdy ze stanu online - leci w offline.

Po uruchomieniu serwera, okazało się więc że macierz nie wstała.

root@svn:/var/log# mdadm --detail /dev/md0
mdadm: md device /dev/md0 does not appear to be active.

Dopiero trzeba było ją zamontować "siłą" czyli z przełącznikiem force

root@svn:/var/log# mdadm  --force --run /dev/md0
mdadm: started /dev/md0

Idąc dalej tym tropem wyświetliłem status

root@svn:/var/log# mdadm  --detail --force /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Fri Jun 26 15:33:25 2009
     Raid Level : raid5
     Array Size : 2097024 (2048.22 MiB 2147.35 MB)
  Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)
   Raid Devices : 3
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Fri Jun 26 15:41:04 2009
          State : clean, degraded
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : 6720df8a:f44d3411:ada6ad5b:0d479e64 (local to host svn)
         Events : 0.726

    Number   Major   Minor   RaidDevice State
       0       8       32        0      active sync   /dev/sdc
       1       8       16        1      active sync   /dev/sdb
       2       0        0        2      removed

Status, działająca zdegradowana. Trzeci dysk twardy usunięty.

Co z danymi ?

root@svn:/var/log# mount -t ext3 /dev/md0 /root/test
root@svn:/var/log# cd /root/test
root@svn:~/test# ls
lost+found  wazne_dane


Naprawiamy macierz, montując nowy dysk.

root@svn:~/test# mdadm --add /dev/md0 /dev/sdd
mdadm: added /dev/sdd

Wynik odbudowy

root@svn:~/test# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Fri Jun 26 15:33:25 2009
     Raid Level : raid5
     Array Size : 2097024 (2048.22 MiB 2147.35 MB)
  Used Dev Size : 1048512 (1024.11 MiB 1073.68 MB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Fri Jun 26 17:45:37 2009
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : 6720df8a:f44d3411:ada6ad5b:0d479e64 (local to host svn)
         Events : 0.740

    Number   Major   Minor   RaidDevice State
       0       8       32        0      active sync   /dev/sdc
       1       8       16        1      active sync   /dev/sdb
       2       8       48        2      active sync   /dev/sdd
root@svn:~/test# 


Na produkcyjnym

root@serwercentralny:~# mdadm --create /dev/md0 --level=5 -n 2 /dev/sda /dev/sdb
mdadm: /dev/sda appears to contain an ext2fs file system
    size=312571136K  mtime=Tue Jun 30 10:40:15 2009
mdadm: /dev/sda appears to be part of a raid array:
    level=raid5 devices=2 ctime=Tue Jun 30 10:39:43 2009
mdadm: /dev/sdb appears to contain an ext2fs file system
    size=312571136K  mtime=Tue Jun 30 10:40:15 2009
mdadm: /dev/sdb appears to be part of a raid array:
    level=raid5 devices=2 ctime=Tue Jun 30 10:39:43 2009
Continue creating array? yes
mdadm: array /dev/md0 started.
root@serwercentralny:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Tue Jun 30 10:53:29 2009
     Raid Level : raid5
     Array Size : 312571136 (298.09 GiB 320.07 GB)
  Used Dev Size : 312571136 (298.09 GiB 320.07 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jun 30 10:53:29 2009
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

 Rebuild Status : 0% complete

           UUID : 32d88fb7:4641f6b9:daea58f5:373f59dd (local to host serwercentralny)
         Events : 0.1

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       2       8       16        1      spare rebuilding   /dev/sdb
root@serwercentralny:~# mount -a
root@serwercentralny:~# cd /dysk2
root@serwercentralny:/dysk2# ls
backup                     lost+found               svn.opzsgu.pl                           WEB
Centos 5.2                 maszyny_wirtualne        test                                    WinXPSP3.iso
debian-40r5-i386-CD-1.iso  pocztownia               ubuntu-8.04.1-server-i386.iso           WWW1
hostowanie                 proxmox-ve_1.1-3664.iso  ubuntu-8.10-server-i386.iso             WWW2
LoadBalancer               SVN                      VMware-server-2.0.0-122956.i386.tar.gz  XenServer-5.0.0-install-cd.iso
root@serwercentralny:/dysk2# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Tue Jun 30 10:53:29 2009
     Raid Level : raid5
     Array Size : 312571136 (298.09 GiB 320.07 GB)
  Used Dev Size : 312571136 (298.09 GiB 320.07 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jun 30 10:53:51 2009
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

 Rebuild Status : 3% complete

           UUID : 32d88fb7:4641f6b9:daea58f5:373f59dd (local to host serwercentralny)
         Events : 0.6

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       2       8       16        1      spare rebuilding   /dev/sdb

root@serwercentralny:/etc/init.d# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Tue Jun 30 10:53:29 2009
     Raid Level : raid5
     Array Size : 312571136 (298.09 GiB 320.07 GB)
  Used Dev Size : 312571136 (298.09 GiB 320.07 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jun 30 10:55:31 2009
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

 Rebuild Status : 5% complete

           UUID : 32d88fb7:4641f6b9:daea58f5:373f59dd (local to host serwercentralny)
         Events : 0.8

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       2       8       16        1      spare rebuilding   /dev/sdb

root@serwercentralny:~/Pulpit/vmware-server-distrib# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Tue Jun 30 10:53:29 2009
     Raid Level : raid5
     Array Size : 312571136 (298.09 GiB 320.07 GB)
  Used Dev Size : 312571136 (298.09 GiB 320.07 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jun 30 11:03:33 2009
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

 Rebuild Status : 16% complete

           UUID : 32d88fb7:4641f6b9:daea58f5:373f59dd (local to host serwercentralny)
         Events : 0.22

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       2       8       16        1      spare rebuilding   /dev/sdb
root@serwercentralny:~/Pulpit/vmware-server-distrib# 
root@serwercentralny:~/Pulpit/vmware-server-distrib# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Tue Jun 30 10:53:29 2009
     Raid Level : raid5
     Array Size : 312571136 (298.09 GiB 320.07 GB)
  Used Dev Size : 312571136 (298.09 GiB 320.07 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jun 30 12:11:29 2009
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

 Rebuild Status : 79% complete

           UUID : 32d88fb7:4641f6b9:daea58f5:373f59dd (local to host serwercentralny)
         Events : 0.4596

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       2       8       16        1      spare rebuilding   /dev/sdb
root@serwercentralny:~/Pulpit/vmware-server-distrib# 
root@serwercentralny:~/Pulpit/vmware-server-distrib# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Tue Jun 30 10:53:29 2009
     Raid Level : raid5
     Array Size : 312571136 (298.09 GiB 320.07 GB)
  Used Dev Size : 312571136 (298.09 GiB 320.07 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jun 30 12:24:29 2009
          State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

 Rebuild Status : 93% complete

           UUID : 32d88fb7:4641f6b9:daea58f5:373f59dd (local to host serwercentralny)
         Events : 0.5446

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       2       8       16        1      spare rebuilding   /dev/sdb
root@serwercentralny:~/Pulpit/vmware-server-distrib# 
root@serwercentralny:~/Pulpit/vmware-server-distrib# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Tue Jun 30 10:53:29 2009
     Raid Level : raid5
     Array Size : 312571136 (298.09 GiB 320.07 GB)
  Used Dev Size : 312571136 (298.09 GiB 320.07 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jun 30 12:32:19 2009
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : 32d88fb7:4641f6b9:daea58f5:373f59dd (local to host serwercentralny)
         Events : 0.5932

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb
root@serwercentralny:~/Pulpit/vmware-server-distrib# 
root@serwercentralny:~/Pulpit/vmware-server-distrib# mdadm --add /dev/md0 /dev/sdc
mdadm: added /dev/sdc
root@serwercentralny:~/Pulpit/vmware-server-distrib# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Tue Jun 30 10:53:29 2009
     Raid Level : raid5
     Array Size : 312571136 (298.09 GiB 320.07 GB)
  Used Dev Size : 312571136 (298.09 GiB 320.07 GB)
   Raid Devices : 2
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jun 30 12:32:44 2009
          State : clean
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : 32d88fb7:4641f6b9:daea58f5:373f59dd (local to host serwercentralny)
         Events : 0.5934

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb

       2       8       32        -      spare   /dev/sdc
root@serwercentralny:~/Pulpit/vmware-server-distrib# 
root@serwercentralny:~/Pulpit/vmware-server-distrib# mdadm --grow /dev/md0 --raid-disks=3
mdadm: Need to backup 128K of critical section..
mdadm: ... critical section passed.
root@serwercentralny:~/Pulpit/vmware-server-distrib# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.91
  Creation Time : Tue Jun 30 10:53:29 2009
     Raid Level : raid5
     Array Size : 312571136 (298.09 GiB 320.07 GB)
  Used Dev Size : 312571136 (298.09 GiB 320.07 GB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jun 30 12:33:50 2009
          State : clean, recovering
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

 Reshape Status : 0% complete
  Delta Devices : 1, (2->3)

           UUID : 32d88fb7:4641f6b9:daea58f5:373f59dd (local to host serwercentralny)
         Events : 0.5996

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb
       2       8       32        2      active sync   /dev/sdc
root@serwercentralny:~/Pulpit/vmware-server-distrib# 

Rebuild typów, potrwa ponad 20 godzin... więc jutro będzie kontynuacja :)


Po długim czasie

root@serwercentralny:~/Pulpit/vmware-server-distrib# mdadm --detail /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Tue Jun 30 10:53:29 2009
     Raid Level : raid5
     Array Size : 625142272 (596.18 GiB 640.15 GB)
  Used Dev Size : 312571136 (298.09 GiB 320.07 GB)
   Raid Devices : 3
  Total Devices : 3
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jun 30 18:38:51 2009
          State : active
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           UUID : 32d88fb7:4641f6b9:daea58f5:373f59dd (local to host serwercentralny)
         Events : 0.213777

    Number   Major   Minor   RaidDevice State
       0       8        0        0      active sync   /dev/sda
       1       8       16        1      active sync   /dev/sdb
       2       8       32        2      active sync   /dev/sdc
root@serwercentralny:~/Pulpit/vmware-server-distrib# 

Technicznie serwer był offline tylko kilka minut, reszta operacji. Przebudowy itp, były wykonywane podczas pracy. wolny czas zawdzięczany jest tym, że dysk był intensywnie używany przez aplikacje serwerowe ;)

root@serwercentralny:~# resize2fs -p /dev/md0
resize2fs 1.41.4 (27-Jan-2009)
System plików /dev/md0 jest zamontowany pod /dysk2; wymagana zmiana rozmiaru w locie
old desc_blocks = 19, new_desc_blocks = 38
Wykonywanie zmiany rozmiaru w locie /dev/md0 na 156285568 (4k) bloków.
System plików na /dev/md0 ma teraz 156285568 bloków.

root@serwercentralny:~# 


Usuwanie dysku z macierzy

Czasem potrzeba usunąc dysk twardy z macierzy, aby to zrobić:

mdadm /dev/md0 --fail /dev/sdb --remove /dev/sdb


Odzew:
mdadm: set /dev/sdb faulty in /dev/md0
mdadm: hot removed /dev/sdb
  • ustawiamy dysk /dev/sdb jako uszkodzony
  • usuwamy dysk /dev/sdb