W tym artykule, dowiemy się, jak utworzyć konfigurację RAID 5 Array przy użyciu ‘mdadm’ narzędzia.
Mdadm jest narzędziem, które jest używane do tworzenia i zarządzania macierzami pamięci masowej w systemie Linux z możliwością RAID, gdzie administratorzy mają dużą elastyczność w zarządzaniu poszczególnymi urządzeniami pamięci masowej i tworzeniu logicznej pamięci masowej o wysokiej wydajności i redundancji.
RAID 5 Array jest typem, w którym wdrażamy poprzez paskowanie danych na wszystkich dostępnych urządzeniach. Każdy element każdego paska jest obliczany przez blok parzystości. Jeśli jakieś urządzenie nie otrzyma bloku parzystości, użyje pozostałych bloków do obliczenia brakujących danych z urządzeń. Następnie urządzenie, które otrzymuje blok parzystości będzie obracać tak, że każde urządzenie ma zrównoważoną ilość informacji parzystości o storage.
- Podstawowe korzyści z RAID 5 są redundantne z większej pojemności użytkowej pamięci masowej.
- W RAID 5, informacja o parzystości jest dystrybuowana i jedna pojemność dysku będzie używana dla parity.
Wymagania
- Maszyna Ubuntu z użytkownikiem nieroot z uprawnieniami sudo.
- Wiele surowych urządzeń pamięci masowej do utworzenia macierzy RAID.
- Aby wykonać to demo, potrzebujemy minimum 3 urządzeń pamięci masowej.
Aby znaleźć dołączone urządzenia pamięci masowej do maszyny, możemy użyć poniższego polecenia.
Tworzenie nowej macierzy RAID 5 przy użyciu polecenia ‘mdadm’.
Przed rozpoczęciem czegokolwiek sprawdzimy istniejące dyski dołączone do maszyny. Poniżej znajduje się polecenie, aby wyświetlić listę dostępnych dysków.
$ lsblk –o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINTOutputNAME SIZE FSTYPE TYPE MOUNTPOINTsda 20G disksdb 20G disksdc 20G linux_raid_member diskvda 20G disk├─vda1 20G ext4 part /└─vda15 1M part
Jak widzimy w powyższym wyjściu, mamy 3 dyski bez żadnego systemu plików z 20GB i urządzenia są nazwane jako /dev/sda, /dev/sdb i /dev/sdc dla tej maszyny lub sesji.
Do utworzenia macierzy RAID 5, użyjemy polecenia mdadm – to create z nazwą urządzenia, które chcemy utworzyć i poziomem raid z liczbą urządzeń dołączonych do RAID.
$ sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc
Narzędzie mdadm rozpocznie tworzenie macierzy zajmie to trochę czasu do zakończenia konfiguracji, możemy monitorować postęp używając poniższego polecenia
$ cat /proc/mdstatOutputPersonalities : md0 : active raid5 sdc sdb sda 24792064 blocks super 1.2 level 5, 512k chunk, algorithm 2 recovery = 15.6% (16362536/24792064) finish=7.3min speed=200808K/secunused devices: <none>
W powyższym wyjściu możemy zobaczyć urządzenie /dev/md0 jest tworzone z RAID 5 używając urządzeń pamięci masowej /dev/sda, /dev/sdb i /dev/sdc, to również pokaże postęp na urządzeniu raid.
Tworzenie i montowanie systemu plików
Przed zamontowaniem dysku macierzy, musimy utworzyć system plików na dysku macierzy, który utworzyliśmy używając powyższych kroków.
Utworzymy system plików na macierzy
$ sudo mkfs.ext4 –F /dev/md0
Teraz utworzymy punkt montowania i dołączymy nowy dysk RAID utworzony w powyższych krokach.
$ sudo mkdir –p /mnt/raiddisk1$ sudo mount /dev/md0 /mnt/raiddisk1
Weryfikacja nowego punktu montowania lub dysku RAID
$ df –h –x devtmpfs –x tmpfsOutputFilesystem Size Used Avail Use% Mounted on/dev/vda1 20G 1.1G 18G 6% //dev/md0 40G 60M 39G 1% /mnt/raiddisk1
Jak widzimy, nowy system plików jest zamontowany i dostępny.
Teraz możemy przeskanować aktywną macierz i dołączyć plik za pomocą poniższej komendy
$ sudo mdadm –details –scan | sudo tee –a /etc/mdadm/mdadm.conf
Potrzebowaliśmy zaktualizować plik ‘initramfs’ tak aby macierz RADI była dostępna kiedy maszyna rozpocznie proces bootowania.
$ sudo update-initramfs -u
Dodanie macierzy RAID do automatycznego montowania przy starcie systemu.
Dodaj poniższą linię do /etc/fstab.
/dev/md0 /mnt/raiddisk1 ext4 defaults,nofail,discard 0 0
W powyższych ustawieniach i konfiguracji skonfigurowaliśmy macierz RAID 5 poziomu używając trzech dysków i zamontowaliśmy dysk w czasie rozruchu tak, że kiedy kiedykolwiek zrestartujemy serwer, dysk raid zostanie załadowany.
.