LFCS #6: Jak montować partycje jako urządzenia RAID w systemie Linux
Linux Foundation uruchomiła certyfikat LFCS (Linux Foundation Certified Sysadmin), który jest świetną szansą dla administratorów systemów na całym świecie na wykazanie się poprzez egzamin oparty na wydajności, że potrafią zapewnianie całościowego wsparcia operacyjnego na systemach Linux: wsparcie systemowe, diagnozowanie i monitorowanie pierwszego poziomu oraz, w razie potrzeby, eskalacja problemów do innych zespołów wsparcia.
Seria będzie nosiła tytuł Przygotowanie do LFCS (Certyfikowany administrator systemu Linux Foundation) Części 1 do 33 i obejmie następujące tematy:
- Part 1
Jak używać polecenia „Sed” do manipulowania plikami w systemie Linux
- Part 2
Jak zainstalować i używać Vi/Vim w systemie Linux
- Part 3
Jak kompresować pliki i katalogi oraz znajdować pliki w systemie Linux
- Part 4
-
Jak podzielić urządzenia pamięci masowej na partycje w systemie Linux
- Part 5
Jak montować systemy plików (Samba i NFS) w systemie Linux
- Part 6
Jak montować partycje jako urządzenia RAID i tworzyć kopie zapasowe systemu
- Part 7
Zarządzanie procesami i usługami uruchamiania systemu (SysVinit, Systemd i Upstart
- Part 8
Jak zarządzać użytkownikami i grupami, uprawnieniami do plików i dostępem Sudo
- Part 9
Zarządzanie pakietami systemu Linux za pomocą Yum, RPM, Apt, Dpkg, Aptitude i Zypper
- Part 10
Nauka podstawowych skryptów powłoki i rozwiązywania problemów z systemem plików
- Part 11
Jak zarządzać i tworzyć LVM za pomocą poleceń vgcreate, lvcreate i lvextend
- Part 12
Jak poznawać system Linux z zainstalowaną dokumentacją pomocy i narzędziami
- Part 13
Jak skonfigurować i rozwiązać problemy z programem Grand Unified Bootloader (GRUB)
- Part 14
-
Monitoruj wykorzystanie zasobów procesów systemu Linux i ustawiaj limity procesów dla poszczególnych użytkowników
- Part 15
Jak ustawić lub zmodyfikować parametry wykonawcze jądra w systemach Linux
- Part 16
Wdrażanie obowiązkowej kontroli dostępu za pomocą SELinux lub AppArmor w systemie Linux
- Part 17
Jak ustawić listy kontroli dostępu (ACL) i przydziały dysku dla użytkowników i grup
- Part 18
Instalowanie usług sieciowych i konfigurowanie automatycznego uruchamiania podczas rozruchu
- Part 19
Kompletny przewodnik po konfigurowaniu serwera FTP w celu umożliwienia logowania anonimowego
- Part 20
Skonfiguruj podstawowy serwer DNS z buforowaniem rekurencyjnym i skonfiguruj strefy dla domeny
- Part 21
Jak zainstalować, zabezpieczyć i dostroić wydajność serwera bazy danych MariaDB
- Part 22
Jak zainstalować i skonfigurować serwer NFS do udostępniania systemu plików
- Part 23
Jak skonfigurować Apache z wirtualnym hostingiem opartym na nazwach z certyfikatem SSL
- Part 24
-
Jak skonfigurować zaporę sieciową Iptables, aby umożliwić zdalny dostęp do usług w systemie Linux
- Part 25
Jak zamienić Linuksa w router do obsługi ruchu statycznego i dynamicznego
- Part 26
Jak skonfigurować zaszyfrowane systemy plików i dokonać zamiany za pomocą narzędzia Cryptsetup
- Part 27
Jak monitorować wykorzystanie systemu, awarie i rozwiązywać problemy z serwerami Linux
- Part 28
Jak skonfigurować repozytorium sieciowe w celu instalacji lub aktualizacji pakietów
- Part 29
Jak kontrolować wydajność sieci, bezpieczeństwo i rozwiązywanie problemów
- Part 30
Jak instalować maszyny wirtualne i kontenery oraz zarządzać nimi
- Part 31
Naucz się podstaw Git, aby efektywnie zarządzać projektami
- Part 32
Przewodnik dla początkujących dotyczący konfigurowania adresów IPv4 i IPv6 w systemie Linux
- Part 33
Przewodnik dla początkujących dotyczący tworzenia połączeń sieciowych i mostowania w systemie Ubuntu
Ten post jest Częścią 6 z serii 33-samouczków. W tej części wyjaśnimy, jak montować partycje jako urządzenia RAID oraz tworzyć i zarządzać kopiami zapasowymi systemu, czyli wymagane do egzaminu certyfikacyjnego LFCS.
Zrozumienie RAID w systemie Linux
Technologia znana jako Redundant Array of Independent Disks (RAID) to rozwiązanie pamięci masowej, które łączy wiele dysków twardych w jedną jednostkę logiczną, aby zapewnić redundancję danych i/lub poprawić wydajność w operacjach odczytu/zapisu na dysk.
Jednak rzeczywista odporność na błędy i wydajność we/wy dysku zależą od konfiguracji dysków twardych w celu utworzenia macierzy dyskowej. W zależności od dostępnych urządzeń i wymagań dotyczących odporności na awarie/wydajności, definiowane są różne poziomy RAID.
Bardziej szczegółowe wyjaśnienie każdego poziomu RAID można znaleźć w następującym artykule dotyczącym serii RAID.
Zainstaluj mdadm w systemie Linux
Nasze wybrane narzędzie do tworzenia, składania, zarządzania i monitorowania naszych programowych macierzy RAID nazywa się mdadm (skrót od administrator wielu dysków).
sudo apt install mdadm [On Debian, Ubuntu and Mint]
sudo yum install mdadm [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo zypper install mdadm [On OpenSUSE]
Montaż partycji jako urządzeń RAID
Proces montażu istniejących partycji jako urządzeń RAID składa się z następujących kroków.
1. Utwórz nową tablicę za pomocą mdadm
Jeśli jedna z partycji była już wcześniej sformatowana lub stanowiła część innej macierzy RAID, zostaniesz poproszony o potwierdzenie utworzenia nowej tablicy.
Zakładając, że podjąłeś niezbędne środki ostrożności, aby uniknąć utraty ważnych danych, które mogły się na nich znajdować, możesz bezpiecznie wpisać y i nacisnąć Enter.
mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1
2. Sprawdź status tworzenia tablicy
Aby sprawdzić status utworzenia tablicy, użyjesz poniższych poleceń – niezależnie od typu RAID. Są one tak samo ważne, jak wtedy, gdy tworzymy RAID0 (jak pokazano powyżej) lub gdy jesteś w trakcie konfigurowania RAID5, jak pokazano na obrazku poniżej.
cat /proc/mdstat
or
mdadm --detail /dev/md0 [More detailed summary]
3. Sformatuj urządzenie RAID
Sformatuj urządzenie za pomocą systemu plików zgodnie ze swoimi potrzebami/wymaganiami, jak wyjaśniono w części 4 tej serii.
4. Monitoruj usługę macierzy RAID
Poinstruuj usługę monitorującą, aby „pilnie obserwowała” tablicę. Dodaj wyjście mdadm --detail --scan
do /etc/mdadm/mdadm.conf (Debian i pochodne) lub /etc/mdadm.conf (CentOS/openSUSE), podobnie.
mdadm --detail --scan
mdadm --assemble --scan [Assemble the array]
Aby mieć pewność, że usługa uruchomi się podczas uruchamiania systemu, uruchom następujące polecenia jako root.
systemctl start mdmonitor
systemctl enable mdmonitor
5. Sprawdź awarię dysku RAID
Na poziomach RAID obsługujących nadmiarowość w razie potrzeby wymień uszkodzone dyski. Kiedy urządzenie w macierzy dyskowej ulegnie awarii, przebudowa rozpoczyna się automatycznie tylko wtedy, gdy podczas pierwszego tworzenia macierzy dodano urządzenie zapasowe.
W przeciwnym razie musimy ręcznie podłączyć dodatkowy dysk fizyczny do naszego systemu i uruchomić go.
mdadm /dev/md0 --add /dev/sdX1
Gdzie /dev/md0 to tablica, w której wystąpił problem, a /dev/sdX1 to nowe urządzenie.
6. Zdemontuj macierz roboczą
Być może będziesz musiał to zrobić, jeśli chcesz utworzyć nową tablicę przy użyciu urządzeń – (Krok opcjonalny).
mdadm --stop /dev/md0 # Stop the array
mdadm --remove /dev/md0 # Remove the RAID device
mdadm --zero-superblock /dev/sdX1 # Overwrite the existing md superblock with zeroes
7. Utwórz powiadomienia pocztowe
Możesz skonfigurować prawidłowy adres e-mail lub konto systemowe, na które będą wysyłane powiadomienia (upewnij się, że masz tę linię w pliku mdadm.conf). – (Krok opcjonalny)
MAILADDR root
W takim przypadku wszystkie alerty zebrane przez demona monitorowania RAID zostaną wysłane na skrzynkę pocztową lokalnego konta root. Jeden z takich alertów wygląda następująco.
Uwaga: To zdarzenie jest powiązane z przykładem z KROKU 5, gdzie urządzenie zostało oznaczone jako wadliwe, a urządzenie zapasowe zostało automatycznie wbudowane w tablicę przez mdadm. W związku z tym „skończyły nam się” zdrowe urządzenia zapasowe i otrzymaliśmy powiadomienie.
Zrozumienie poziomów RAID w systemie Linux
Oto krótki przegląd typowych poziomów RAID:
RAID0
Całkowity rozmiar tablicy jest n razy większy od rozmiaru najmniejszej partycji, gdzie n to liczba niezależnych dysków w tablicy (potrzebne będą co najmniej dwa dyski). Uruchom następujące polecenie, aby złożyć tablicę RAID 0 przy użyciu partycji /dev/sdb1 i /dev/sdc1.
mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1
Typowe zastosowania: konfiguracje obsługujące aplikacje czasu rzeczywistego, w których wydajność jest ważniejsza niż odporność na awarie.
RAID 1 (inaczej kopiowanie lustrzane)
Całkowity rozmiar tablicy jest równy rozmiarowi najmniejszej partycji (potrzebne będą co najmniej dwa dyski). Uruchom następujące polecenie, aby złożyć tablicę RAID 1 przy użyciu partycji /dev/sdb1 i /dev/sdc1.
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
Typowe zastosowania: instalacja systemu operacyjnego lub ważnych podkatalogów, takich jak /home.
RAID 5 (inaczej dyski z parzystością)
Całkowity rozmiar tablicy będzie (n – 1) razy większy od rozmiaru najmniejszej partycji. Przestrzeń „lost” w (n-1) jest używana do obliczenia parzystości (nadmiarowości) (będziesz potrzebować co najmniej trzech dysków).
Pamiętaj, że możesz określić urządzenie zapasowe (w tym przypadku /dev/sde1), które zastąpi wadliwą część w przypadku wystąpienia problemu. Uruchom następujące polecenie, aby złożyć tablicę RAID 5 przy użyciu partycji /dev/sdb1, /dev/sdc1, /dev/sdd1 i /dev/sde1 jako zapasowy.
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1
Typowe zastosowania: serwery internetowe i serwery plików.
RAID 6 (inaczej dyski z podwójną parzystością
Całkowity rozmiar tablicy wyniesie (n*s)-2*s, gdzie n to liczba niezależnych dysków w macierzy, a s to rozmiar najmniejszego dysku. Pamiętaj, że możesz określić urządzenie zapasowe (w tym przypadku /dev/sdf1), które zastąpi wadliwą część w przypadku wystąpienia problemu.
Uruchom następujące polecenie, aby złożyć tablicę RAID 6 przy użyciu partycji /dev/sdb1, /dev/sdc1, /dev/sdd1 , /dev/sde1 i /dev/sdf1 jako zapasowe.
mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde --spare-devices=1 /dev/sdf1
Typowe zastosowania: Serwery plików i kopii zapasowych o dużej pojemności i wymaganiach wysokiej dostępności.
RAID 1+0 (inaczej Pasek Luster)
Całkowity rozmiar tablicy jest obliczany na podstawie wzorów dla RAID 0 i RAID 1, ponieważ RAID 1+0 jest kombinacją obu. Najpierw oblicz rozmiar każdego lustra, a następnie rozmiar paska.
Pamiętaj, że możesz określić urządzenie zapasowe (w tym przypadku /dev/sdf1), które zastąpi wadliwą część w przypadku wystąpienia problemu. Uruchom następujące polecenie, aby złożyć tablicę RAID 1+0 przy użyciu partycji /dev/sdb1, /dev/sdc1, /dev /sdd1, /dev/sde1 i /dev/sdf1 jako zapasowe.
mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]1 --spare-devices=1 /dev/sdf1
Typowe zastosowania: serwery baz danych i aplikacji wymagające szybkich operacji we/wy.
Tworzenie i zarządzanie kopiami zapasowymi systemu w systemie Linux
Nie zaszkodzi pamiętać, że RAID ze wszystkimi jego nagrodami NIE ZASTĘPUJE KOPII ZAPASOWYCH! Napisz to 1000 razy na tablicy, jeśli zajdzie taka potrzeba, ale pamiętaj, aby to zachować pomysł cały czas w głowie.
Zanim zaczniemy, musimy zauważyć, że nie ma jednego uniwersalnego rozwiązania do tworzenia kopii zapasowych systemu, ale jest kilka rzeczy, które należy wziąć pod uwagę podczas planowania strategii tworzenia kopii zapasowych.
- Do czego używasz swojego systemu? (Desktop czy serwer? Jeśli ma zastosowanie ten drugi przypadek, jakie usługi są najbardziej krytyczne – czyja konfiguracja byłaby naprawdę trudna do stracenia?)
- Jak często trzeba wykonywać kopie zapasowe systemu?
- Jakie dane (np. pliki/katalogi/zrzuty baz danych) chcesz wykonać w kopii zapasowej? Możesz także rozważyć, czy naprawdę potrzebujesz tworzenia kopii zapasowych dużych plików (takich jak pliki audio lub wideo).
- Gdzie (tzn. miejsce fizyczne i nośnik) będą przechowywane te kopie zapasowe?
1. Utwórz kopię zapasową dysków za pomocą polecenia dd
Wykonaj kopię zapasową całych dysków za pomocą polecenia dd. Można utworzyć kopię zapasową całego dysku twardego lub partycji, tworząc w dowolnym momencie dokładny obraz. Należy pamiętać, że działa to najlepiej, gdy urządzenie jest w trybie offline, co oznacza, że nie jest zamontowane i nie ma żadnych procesów uzyskujących do niego dostęp w celu wykonania operacji we/wy.
Wadą tej metody tworzenia kopii zapasowych jest to, że obraz będzie miał ten sam rozmiar co dysk lub partycja, nawet jeśli rzeczywiste dane zajmują niewielki procent tego obrazu.
Na przykład, jeśli chcesz utworzyć obraz partycji o wielkości 20 GB, która jest zapełniona tylko w 10%, plik obrazu nadal będzie miał pojemność 20 GB rozmiar. Innymi słowy, kopia zapasowa obejmuje nie tylko rzeczywiste dane, ale całą partycję. Możesz rozważyć użycie tej metody, jeśli potrzebujesz dokładnych kopii zapasowych swoich urządzeń.
Tworzenie obrazu partycji
dd if=/dev/sda of=/system_images/sda.img
OR
--------------------- Alternatively, you can compress the image file ---------------------
dd if=/dev/sda | gzip -c > /system_images/sda.img.gz
Przywracanie obrazu partycji
dd if=/system_images/sda.img of=/dev/sda
OR
gzip -dc /system_images/sda.img.gz | dd of=/dev/sda
2. Utwórz kopię zapasową plików za pomocą polecenia tar
Utwórz kopię zapasową niektórych plików w katalogach /
za pomocą polecenia tar – omówiono to już w części 3 tej serii. Możesz rozważyć użycie tej metody, jeśli chcesz zachować kopie określonych plików i katalogów (pliki konfiguracyjne, katalogi domowe użytkowników itp.).
2. Kopia zapasowa i synchronizacja plików za pomocą polecenia rsync
Synchronizuj pliki za pomocą polecenia rsync, które jest wszechstronnym narzędziem do zdalnego (i lokalnego) kopiowania plików. Jeśli chcesz tworzyć kopie zapasowe i synchronizować pliki na/z dysków sieciowych, rsync jest dobrym rozwiązaniem.
Niezależnie od tego, czy synchronizujesz dwa katalogi lokalne, czy lokalne zdalne katalogi < ---
zamontowane w lokalnym systemie plików, podstawowa składnia jest taka sama.
Synchronizowanie dwóch katalogów lokalnych
rsync -av source_directory destination directory
Gdzie -a
powoduje powrót do podkatalogów (jeśli istnieją), zachowanie dowiązań symbolicznych, znaczników czasu, uprawnień i pierwotnego właściciela/grupy oraz -v szczegółowe.
Dodatkowo, jeśli chcesz zwiększyć bezpieczeństwo przewodowego przesyłania danych, możesz użyć ssh przez rsync.
Synchronizowanie katalogów lokalnych → zdalnych przez SSH
rsync -avzhe ssh backups root@remote_host:/remote_directory/
Ten przykład zsynchronizuje katalog kopii zapasowych na hoście lokalnym z zawartością katalogu /root/remote_directory na hoście zdalnym.
Gdzie opcja -h
pokazuje rozmiary plików w formacie czytelnym dla człowieka, a flaga -e
służy do wskazania połączenia SSH.
Synchronizowanie zdalnych → katalogów lokalnych przez SSH
W takim przypadku zamień katalogi źródłowy i docelowy z poprzedniego przykładu.
rsync -avzhe ssh root@remote_host:/remote_directory/ backups
Pamiętaj, że to tylko 3 przykłady (najczęstsze przypadki, z którymi możesz się spotkać) użycia rsync. Więcej przykładów i zastosowań poleceń rsync można znaleźć w następującym artykule.
Streszczenie
Jako administrator systemu musisz upewnić się, że Twoje systemy działają tak dobrze, jak to możliwe. Jeśli jesteś dobrze przygotowany, a integralność Twoich danych jest dobrze wspierana przez technologię przechowywania, taką jak RAID i regularne kopie zapasowe systemu, będziesz bezpieczny.
E-Book LFCS jest już dostępny w sprzedaży. Zamów swój egzemplarz już dziś i rozpocznij swoją podróż do zostania certyfikowanym administratorem systemu Linux!
Product Name | Price | Buy |
---|---|---|
The Linux Foundation’s LFCS Certification Preparation Guide | $19.99 | [Buy Now] |
Na koniec, rozważ zakup kuponu egzaminacyjnego za pomocą poniższych linków, aby otrzymać niewielką prowizję, która pomoże nam aktualizować tę książkę.
Jeśli masz pytania, uwagi lub dalsze pomysły na ulepszenie tego artykułu, nie wahaj się wyrazić poniżej. Ponadto rozważ udostępnienie tej serii na swoich profilach w sieciach społecznościowych.