Używam mojego komputera Ubuntu jako serwera plików dla klientów Windows / Linux / Mac korzystających z udziału Samba. Potrzebuję go łatwo rozbudować, dodając więcej dysków twardych bez konieczności przenoszenia danych w tę iz powrotem.
Tak właśnie to zrobiłem. Z powodzeniem dodałem czwarty dysk twardy. Dobrze byłoby wiedzieć, czy tak właśnie należy to zrobić? Co robię źle lub co mogę zrobić lepiej?
Tworzenie początkowej tablicy 3 dysków
Zacząłem od trzech pustych dysków: / dev / sdb, / dev / sdc i / dev / sdd.
Najpierw utworzyłem puste partycje dla wszystkich dysków:
$ fdisk /dev/sdX
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc
Po utworzeniu pustych partycji RAID na wszystkich trzech dyskach utworzyłem macierz RAID5:
$ mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
Teraz macierz RAID5 jest tworzona i jest już budowana. To zajmuje dużo czasu, ale możesz kontynuować tworzenie nowego fizycznego wolumenu LVM2:
$ pvcreate /dev/md0
Teraz utwórzmy nową grupę woluminów:
$ vgcreate vd_raid /dev/md0
Następnie musimy utworzyć nowy wolumin logiczny w tej grupie woluminów. Najpierw musimy ustalić dokładny rozmiar utworzonej grupy woluminów:
$ vgdisplay vg_raid
Rozmiar można zobaczyć z wiersza, który wskazuje „Total PE” w zakresie fizycznym. Wyobraźmy sobie, że jest to 509. Teraz utwórz nowy wolumin logiczny, który zajmie całą dostępną przestrzeń:
$ lvcreate -l 509 vg_raid -n lv_raid
Wreszcie możemy utworzyć system plików na podstawie tego woluminu logicznego:
$ mkfs.xfs /dev/mapper/vg_raid-lv_raid
Aby móc korzystać z naszej nowo utworzonej macierzy RAID, musimy utworzyć katalog i zamontować go:
$ mkdir /raid
$ mount /dev/mapper/vg_raid-lv_raid /raid
Teraz jest gotowy do użycia. Aby jednak mógł się automatycznie zamontować po ponownym uruchomieniu, musimy zapisać geometrię RAID w pliku konfiguracyjnym mdadm:
$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Następnie dodaj następujący wiersz do / etc / fstab, który automatycznie montuje macierz RAID:
/dev/mapper/vg_raid-lv_raid /raid auto auto,noatime,nodiratime,logbufs=8 0 1
Teraz macierz RAID jest gotowa do użycia i montowana automatycznie do katalogu / raid po każdym uruchomieniu.
Dodanie nowego dysku do tablicy
Wyobraźmy sobie, że teraz masz nowy dysk, / dev / sde, który chcesz dodać do wcześniej utworzonej tablicy bez utraty danych.
Najpierw nowy dysk musi zostać podzielony na partycje, tak jak wszystkie inne dyski:
$ fdisk /dev/sde
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc
Następnie należy go dodać do macierzy RAID:
$ mdadm --add /dev/md0 /dev/sde1
Teraz macierz RAID5 obejmuje cztery dyski, z których tylko trzy są obecnie w użyciu. Macierz należy rozszerzyć o wszystkie cztery dyski:
$ mdadm --grow /dev/md0 --raid-devices=4
Następnie fizyczny wolumin LVM2 musi zostać rozszerzony:
$ pvresize /dev/md0
Teraz wolumin fizyczny jest domyślnie zmieniany, aby objąć całą dostępną przestrzeń w macierzy RAID. Musimy znaleźć nowy rozmiar w zakresie fizycznym:
$ vgdisplay vg_raid
Wyobraźmy sobie, że nowy rozmiar to teraz 764 (widać z „Total PE”). Teraz rozwiń wolumin logiczny, aby to uwzględnić:
$ lvextend /dev/mapper/vg_raid-lv_raid -l 764
Następnie rozwiń system plików XFS. Należy to zrobić, gdy system plików jest podłączony i podłączony:
$ xfs_grow /raid
Domyślnie jest rozszerzony, aby objąć całą dostępną przestrzeń. Na koniec należy zaktualizować geometrię macierzy RAID, ponieważ macierz zawiera teraz nowy dysk. Najpierw usuń dodaną linię z /etc/mdadm/mdadm.conf, a następnie dodaj nową:
$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf