Mdadm: Różnice pomiędzy wersjami
m |
|||
(Nie pokazano 11 wersji utworzonych przez 3 użytkowników) | |||
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 65: | Linia 72: | ||
Tworzymy macierz RAID 1, składającą się z 2 urządzeń w którym jednego urządzenia brakuje | 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. | |||
<pre> | <pre> | ||
Linia 195: | Linia 204: | ||
Do tego momentu, teraz można potestować odłączając losowo któryś dysk. itp, nie chce mi się tego pisać. | 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. | 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. | Prawdziwa zabawa zaczyna się teraz. Bo trzeba wykonać migrację z RAID1 do RAID 5. | ||
Linia 493: | Linia 509: | ||
root@svn:~/test# | root@svn:~/test# | ||
</pre> | </pre> | ||
'''Na produkcyjnym''' | |||
<pre> | |||
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# | |||
</pre> | |||
Rebuild typów, potrwa ponad 20 godzin... więc jutro będzie kontynuacja :) | |||
Po długim czasie | |||
<pre> | |||
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# | |||
</pre> | |||
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 ;) | |||
<pre> | |||
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:~# | |||
</pre> | |||
== Usuwanie dysku z macierzy == | |||
Czasem potrzeba usunąc dysk twardy z macierzy, aby to zrobić: | |||
<pre> | |||
mdadm /dev/md0 --fail /dev/sdb --remove /dev/sdb | |||
Odzew: | |||
mdadm: set /dev/sdb faulty in /dev/md0 | |||
mdadm: hot removed /dev/sdb | |||
</pre> | |||
*ustawiamy dysk /dev/sdb jako uszkodzony | |||
*usuwamy dysk /dev/sdb | |||
[[Category:Ubuntu]] |
Aktualna wersja na dzień 02:15, 2 mar 2011
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