mdadm - narzędzie do pracy z oprogramowaniem RAID-tablice w systemie Linux. W artykule przyjrzymy się, jak pracować z narzędziem mdadm (administrator wielu dysków), aby utworzyć tablicę, dodać dyski, zarządzać dyskami, dodać hot-spare i wiele innych przydatnych informacji.
Treść
- Zainstaluj oprogramowanie RAID Management Utility - mdadm
- Tworzenie RAID z 2 dysków
- Tworzenie systemu plików w RAID, montowanie
- Wyświetl status, sprawdź integralność macierzy RAID
- Odzyskiwanie RAID po awarii, wymiana dysku
- Dodawanie i usuwanie dysków w macierzy RAID w systemie Linux
- Dodawanie dysku Hot-Spare do macierzy RAID
- Usuń tablicę
- Mdmonitor: Monitorowanie stanu RAID i alertów e-mail
- Macierz RAID nieaktywna
Zainstaluj oprogramowanie RAID Management Utility - mdadm
Aby zainstalować narzędzie mdadm, uruchom polecenie instalacji:
- W przypadku Centos / Red Hat używa się yum / dnf:
mniam zainstaluj mdadm
- W przypadku Ubuntu / Debian:
apt-get install mdadm
W rezultacie narzędzie mdadm i niezbędne biblioteki zostaną zainstalowane w systemie:
Uruchamianie transakcji Instalacja: libreport-filesystem-2.1.11-43.el7.centos.x86_64 1/2 Instalacja: mdadm-4.1-1.el7.x86_64 2/2 Weryfikacja: mdadm-4.1-1.el7.x86_64 1/2 Weryfikacja: libreport-filesystem-2.1.11-43.el7.centos.x86_64 2/2 Zainstalowano: mdadm.x86_64 0: 4.1-1.el7 Zainstalowano zależność: libreport-filesystem.x86_64 0: 2.1.11-43.el7. centos Complete!
Tworzenie RAID z 2 dysków
Mam dwa dodatkowe dyski zainstalowane na serwerze i chcę obniżyć wersję oprogramowania Mirror (RAID1). Dyski są puste, dane nie zostały do nich zapisane. Najpierw musisz wyzerować wszystkie superbloki na dyskach, które dodamy do macierzy RAID:
# mdadm --zero-superblock --force / dev / vd b, c
Mam dwa, mam dwa puste dyski VDB i VDC.
mdadm: Nierozpoznane urządzenie komponentu md - / dev / vdb mdadm: Nierozpoznane urządzenie komponentu md - / dev / vdc
Ta lista oznacza, że żaden z dysków nie został wcześniej dodany do tablicy..
Aby złożyć oprogramowanie RAID1 z dwóch dysków w urządzeniu / dev / md0 użyj polecenia:
# mdadm --create --verbose / dev / md0 -l 1 -n 2 / dev / vd b, c
Gdzie „-l 1„Jest typem macierzy, w naszym przypadku RAID1
„-n 2„Jest liczbą dysków dodanych do tablicy.
Jeśli chcesz utworzyć RAID0 w trybie paskowym, aby zwiększyć szybkość odczytu / zapisu danych przez równoległe wykonywanie poleceń między kilkoma dyskami fizycznymi, użyj polecenia:# mdadm --create --verbose / dev / md0 --level = 0 --raid-devices = 2 / dev / vdb / dev / vdc
RAID 5 trzech lub więcej dysków:
# mdadm --create --verbose / dev / md0 --level = 5 --raid-devices = 3 / dev / vdb / dev / vdc / dev / vdd
Po uruchomieniu polecenia musisz potwierdzić działania, a tablica zostanie utworzona:
Teraz, przeglądając informacje o dysku, widzimy naszą tablicę:
# lsblk
NAZWA MAJ: MIN RM ROZMIAR RO TYPE MOUNTPOINT vda 253: 0 0 20G 0 dysk ├─vda1 253: 1 0 512M 0 część / boot └─vda2 253: 2 0 19,5G 0 część / vdb 253: 16 0 20G 0 dysk └ 0md0 9: 0 0 20G 0 raid1 vdc 253: 32 0 20G 0 dysk └─md0 9: 0 0 20G 0 raid1
Tworzenie systemu plików w RAID, montowanie
Aby utworzyć system plików ext4 na naszej macierzy RAID1 dwóch dysków, użyj polecenia:
# mkfs.ext4 / dev / md0
Utwórz katalog kopii zapasowej i podłącz na nim urządzenie RAID:
# mkdir / backup
# mount / dev / md0 / backup /
# df -h
Używany system plików Dostępny Wykorzystanie% Zamontowany na devtmpfs 485M 0 485M 0% / dev tmpfs 496M 0 496M 0% / dev / shm tmpfs 496M 44M 452M 9% / run tmpfs 496M 0 496M 0% / sys / fs / cgroup / dev / vda2 20G 1,4G 19G 7% / / dev / vda1 488M 100M 353M 23% / boot tmpfs 100M 0 100M 0% / run / user / 0 / dev / md0 20G 45M 19G 1% / backup
Tablica została zamontowana bez błędów. Aby nie montować urządzenia za każdym razem ręcznie, dokonamy zmian w fstab:
# nano / etc / fstab
/ dev / md0 / backup ext4 defaults 1 2
Wyświetl status, sprawdź integralność macierzy RAID
Aby sprawdzić integralność danych w tablicy, użyj polecenia:
#echo 'check'> / sys / block / md0 / md / sync współdziałanie
Następnie musisz spojrzeć na dane wyjściowe pliku:
#cat / sys / block / md0 / md / mismatch_cnt
Jeśli w rezultacie otrzymasz 0, wszystko jest w porządku z tablicą:
Aby zatrzymać sprawdzanie poprawności, użyj polecenia:
#echo 'idle'> / sys / block / md0 / md / sync współdziałanie
Aby sprawdzić status wszystkich macierzy RAID dostępnych na serwerze, użyj polecenia:
# cat / proc / mdstat
Osobowości: [raid1] md0: active raid1 vdc [1] vdb [0] 20954112 blokuje super 1.2 [2/2] [UU]
Na liście drużyn widzimy informacje o naszym wcześniej utworzonym nalocie.
Aby uzyskać więcej informacji o określonej tablicy rajdowej, zobacz polecenie:
# mdadm -D / dev / md0
Przeanalizujmy główne punkty listy drużyn:
- Wersja - wersja metadanych;
- Creation Time - data i godzina utworzenia tablicy raid;
- Poziom nalotu - poziom tablicy nalotów;
- Rozmiar tablicy - miejsce na dysku dla tablicy RAID;
- Used Dev Size - używana objętość dla urządzeń;
- Raid Device - liczba dysków w macierzy RAID;
- Total Devices - liczba dysków dodanych do tablicy RAID;
- Stan - aktualny stan (czysty - wszystko jest OK);
- Aktywne urządzenia - liczba aktywnych dysków w macierzy RAID;
- Working Devises - liczba dysków roboczych w macierzy RAID;
- Failed Devices - liczba urządzeń z awariami w macierzy RAID;
- Zapasowe urządzenia - liczba zapasowych dysków w macierzy RAID;
- Polityka spójności - parametr określający typ synchronizacji po awarii w macierzy RAID, rsync - pełna synchronizacja po odzyskaniu macierzy RAID (dostępne są tryby bitmapy, dziennika, ppl);
- UUID - identyfikator macierzy RAID
Krótkie informacje można wyświetlić za pomocą narzędzia fdisk:
# fdisk -l / dev / md0
Dysk / dev / md0: 21,5 GB, 21457010688 bajtów, 41908224 sektorów Jednostki = sektory 1 * 512 = 512 bajtów Rozmiar sektora (logiczny / fizyczny): 512 bajtów / 512 bajtów Rozmiar we / wy (minimum / optymalnie): 512 bajtów / 512 bajtów
Odzyskiwanie RAID po awarii, wymiana dysku
Jeśli jeden z dysków w macierzy RAID ulegnie awarii lub uszkodzeniu, możesz go wymienić na inny. Najpierw ustalmy, czy dysk jest uszkodzony i który dysk należy zmienić..
# cat / proc / mdstat
Osobowości: [raid1] md0: active raid1 vdb [0] 20954112 blokuje super 1.2 [2/1] [U_]
Z polecenia listing widać, że tylko jeden dysk jest aktywny. Mówi także o problemie [U_]. Gdy oba dyski działają, dane wyjściowe będą wynosić [UU].
Szczegółowe informacje RAID pokazują również, że występują problemy:
# mdadm -D / dev / md0
/ dev / md0: Wersja: 1.2 Czas tworzenia: Wt 29 października 12:39:22 PM Poziom nalotu: raid1 Rozmiar macierzy: 20954112 (19,98 GiB 21,46 GB) Użyty rozmiar dewelopera: 20954112 (19,98 GiB 21,46 GB) Urządzenia RAID: 2 Razem Urządzenia: 2 Trwałość: Superblock jest trwały Czas aktualizacji: Wt 29 października 14:41:13 2019 Stan: czysty, zdegradowany Urządzenia aktywne: 1 Urządzenia działające: 1 Urządzenia uszkodzone: 1
Stan: czysty, zdegradowany
- ta linia wskazuje, że dysk w macierzy RAID jest uszkodzony.
W naszym przypadku musimy wymienić uszkodzony dysk / dev / vdc. Aby przywrócić tablicę, musisz usunąć dysk bezczynny i dodać nowy.
Wyjmowanie niewłaściwego dysku:
# mdadm / dev / md0 --remove / dev / vdc
Dodaj nowy dysk do tablicy:
# mdadm / dev / md0 --add / dev / vdd
Odzyskiwanie dysku rozpocznie się automatycznie po dodaniu nowego dysku:
# mdadm -D / dev / md0
/ dev / md0: Wersja: 1.2 Czas tworzenia: Wt 29 października 12:39:22 PM Poziom nalotu: raid1 Rozmiar macierzy: 20954112 (19,98 GiB 21,46 GB) Użyty rozmiar dewelopera: 20954112 (19,98 GiB 21,46 GB) Urządzenia RAID: 2 Razem Urządzenia: 2 Trwałość: Superblock jest trwały Czas aktualizacji: Wt 29 października 14:50:20 2019 Stan: czysty, zdegradowany, odzyskuje Urządzenia aktywne: 1 Działające urządzenia: 2 Urządzenia uszkodzone: 0 Urządzenia zapasowe: 1 Polityka spójności: resynchronizacja Stan odbudowy: 69% kompletna Nazwa: server.vpn.rucript (lokalny do hosta server.vpn.ru) UUID: 9d59b1fb: 7b0a7b6d: 15a75459: 8b1637a2 Zdarzenia: 42 Numer Major Drobne Raid Stan urządzenia 0 253 16 0 aktywna synchronizacja / dev / vdb 2 253 48 1 zapasowa przebudowa / dev / vdd
status odbudowy: ukończono 69%
- pokazuje bieżący stan odzyskiwania macierzy.
zapasowa przebudowa / dev / vdd
- pokazuje, który dysk jest dodawany do tablicy.
Po przywróceniu macierzy lista dysków wygląda następująco:
Stan: czysty Aktywne urządzenia: 2 Działające urządzenia: 2 Urządzenia uszkodzone: 0 Urządzenia zapasowe: 0
Dodawanie i usuwanie dysków w macierzy RAID w systemie Linux
Aby przeanalizować wcześniej utworzoną tablicę, musisz ją odmontować:
# umount / backup
I wykonaj polecenie:
# mdadm -S / dev / md0
mdadm: zatrzymany / dev / md0
Po parsowaniu tablicy nie należy jej definiować jako urządzenia:
# mdadm -S / dev / md0
mdadm: błąd otwierania / dev / md0: Brak takiego pliku lub katalogu
Aby złożyć tablicę, którą wcześniej przeanalizowaliśmy ręcznie, uruchom polecenie:
# mdadm --assemble -scan
To polecenie skanuje dyski ze zdemontowanej lub zwiniętej macierzy RAID i próbuje zebrać od nich RAID za pomocą metadanych.
Aby usunąć dysk roboczy z macierzy i zastąpić go innym, najpierw należy zaznaczyć dysk roboczy jako niedziałający:
# mdadm / dev / md0 --fail / dev / vdc
Następnie dysk można usunąć za pomocą polecenia:
# mdadm / dev / md0 --remove / dev / vdc
Dodaje się nowy dysk, podobnie jak w przypadku niedziałającego dysku:
# mdadm / dev / md0 --add / dev / vdd
Dodawanie dysku Hot-Spare do macierzy RAID
Możesz dodać do tablicy gorący zapas dysk z możliwością wymiany podczas pracy, jeśli jeden z aktywnych dysków ulegnie awarii. Dodaj wolny dysk do wybranej tablicy:
# mdadm / dev / md0 --add / dev / vdc
Po sprawdzeniu statusu macierzy RAID, zobaczymy ten dysk jako zapasowy:
Aby sprawdzić, czy „hot swap ” dysk, zaznacz dowolny z dysków jako niedziałający i sprawdź status macierzy RAID:
# mdadm / dev / md0 --fail / dev / vdb
Następnie, sprawdzając status tablicy, zobaczysz, że rozpoczęła się odbudowa tablicy:
Jedź / dev / vdb oznaczony jako niedziałający, a dysk zapasowy stał się jednym z aktywnych dysków RAID i rozpoczął się proces odzyskiwania.
Aby dodać dodatkowy dysk roboczy do RAID, musisz wykonać dwa kroki.
Dodaj pusty dysk do tablicy:
# mdadm / dev / md0 --add / dev / vdb
Teraz ten dysk wyświetli się jako gorący zapas, aby to działało, rozwiń tablicę RAID:
# mdadm -G / dev / md0 -raid-devices = 3
Następnie rozpocznie się proces odbudowywania tablicy:
Po odbudowaniu wszystkie dyski stały się aktywne:
Liczba Major Minor Raid Stan urządzenia 3 253 32 0 aktywna synchronizacja / dev / vdc 2 253 48 1 aktywna synchronizacja / dev / vdd 4 253 16 2 aktywna synchronizacja / dev / vdb
Usuń tablicę
Jeśli chcesz trwale usunąć tablicę rajdową, użyj następującego schematu:
# umount / backup
- odmontuj tablicę z katalogu
# mdadm -S / dev / md0
- zatrzymaj urządzenie RAID
Następnie usuwamy wszystkie superbloki na dyskach, z których został złożony:
# mdadm --zero-superblock / dev / vdb
# mdadm --zero-superblock / dev / vdc
Mdmonitor: Monitorowanie stanu RAID i alertów e-mail
Możesz użyć tej usługi do monitorowania stanu macierzy RAID. mdmonitor. Najpierw musisz utworzyć plik /etc/mdadm.conf z konfiguracją bieżącej tablicy:
# mdadm -detail -scan> /etc/mdadm.conf
Na końcu pliku /etc/mdadm.conf dodaj adres e-mail administratora, na który należy wysyłać powiadomienia o problemach z macierzą RAID:
MAILADDR [email protected]
Przestał ponownie uruchamiać usługę mdmonitor poprzez systemctl:
# systemctl restart mdmonitor
Następnie system powiadomi Cię e-mailem o błędach w mdadm i wadliwych dyskach.
Macierz RAID nieaktywna
W przypadku awarii sprzętu lub wyłączenia awaryjnego tablica może przejść do stanu nieaktywny. Wszystkie dyski są oznaczone jako nieaktywne, ale na dyskach nie ma błędów.
# cat / proc / mdstat
Osobowości: [liniowy] [wielościeżkowy] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0: nieaktywny vdc [1] vdb [0] 20954112 blokuje super nieużywane urządzenia:
W takim przypadku musisz zatrzymać tablicę za pomocą polecenia:
# mdadm --stop / dev / md0
I odbuduj to:
# mdadm --assemble --scan -force
Jeśli tablica jest zarejestrowana w / etc / fstab, musisz ponownie zamontować ją za pomocą polecenia:
# mount -a
Utility mdadm upraszcza pracę z macierzami RAID w systemie Linux. W tym artykule opisałem główne punkty pracy z tym narzędziem, a także poruszyłem najczęstsze pytania, które pojawiają się podczas pracy z nalot-tablice za pomocą narzędzia mdadm.