Mdadm

Z Podręcznik Administratora by OPZ SGU
Wersja z dnia 20:29, 26 cze 2009 autorstwa Admin (dyskusja | edycje) (Utworzył nową stronę „'''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ę kt…”)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

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.


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

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.