QNAP - Jak zwiększyć rozmiar partycji po migracji na większe dyski z poziomu FAQ SSH?
Wprowadzenie
Po wymianie wszystkich dysków w macierzy RAID na większe modele oraz zakończeniu procesu odbudowy (RAID Rebuild), może zdarzyć się sytuacja, w której system QNAP nie rozszerzy automatycznie przestrzeni dostępnej dla Storage Pool.
Najczęściej dotyczy to starszych wersji QTS, nietypowych migracji lub sytuacji, gdy rozszerzenie zostało przerwane.
W takim przypadku możliwe jest ręczne powiększenie całej struktury LVM z poziomu FAQ SSH.
Przed wykonaniem poniższych operacji:
• wykonaj pełną kopię zapasową danych,
• upewnij się, że RAID jest w stanie Healthy,
• nie wykonuj operacji podczas przebudowy RAID,
• wszystkie polecenia wykonujesz na własną odpowiedzialność.
Krok 1 - Zatrzymanie usług QTS
Najpierw należy zatrzymać większość usług systemowych.
Bash:
/etc/init.d/services.sh stop
Co robi to polecenie?
Zatrzymuje większość usług działających w systemie QTS, dzięki czemu wolumen nie będzie aktywnie używany podczas wykonywania operacji na LVM.
Krok 2 - Sprawdzenie nazwy macierzy RAID
Uruchamiamy narzędzie diagnostyczne QNAP.
Bash:
md_checker
Przykładowy wynik:
Kod:
RAID metadata found!
UUID: b2bf0703:c2af0946:6f69db7f:35b449d8
Level: raid1
Devices: 1
Name: md11
Chunk Size: -
md Version: 1.0
Creation Time: Nov 21 21:21:23 2017
Status: ONLINE (md11) [U]
Najważniejszą informacją jest:
Kod:
Name: md11
To właśnie numer urządzenia RAID będzie wykorzystywany w kolejnych poleceniach.
W różnych modelach NAS nazwa może być inna, np.
• md1
• md9
• md11
• md13
Zawsze należy używać numeru wyświetlonego przez md_checker.
Krok 3 - Powiększenie macierzy RAID
Jeżeli przykładowa macierz nosi nazwę md1:
Bash:
mdadm /dev/md1 --grow --size=max
Jeżeli natomiast md_checker pokazał:
Kod:
Name: md11
należy użyć:
Bash:
mdadm /dev/md11 --grow --size=max
Opis polecenia
Polecenie informuje Linux Software RAID, aby wykorzystał całą dostępną przestrzeń nowych dysków.
Nie zmienia danych znajdujących się na macierzy.
Krok 4 - Sprawdzenie Physical Volume (LVM)
Bash:
pvdisplay
Polecenie wyświetla aktualny rozmiar Physical Volume.
Po wykonaniu wcześniejszego kroku nadal będzie widoczny stary rozmiar.
Krok 5 - Powiększenie Physical Volume
Bash:
pvresize /dev/md1
lub
Bash:
pvresize /dev/md11
w zależności od nazwy znalezionej wcześniej.
Opis
Polecenie rozszerza warstwę Physical Volume do nowego rozmiaru macierzy RAID.
Od tego momentu LVM "widzi" dodatkową przestrzeń.
Krok 6 - Sprawdzenie struktury LVM
Wyświetlenie Logical Volume:
Bash:
lvs -a
Wyświetlenie Volume Group:
Bash:
vgs -a
Polecenia te pozwalają sprawdzić:
• nazwę VG (najczęściej vg1),
• nazwę LV (najczęściej lv1),
• ilość wolnego miejsca.
Krok 7 - Rozszerzenie Logical Volume
Najczęściej:
Bash:
lvresize vg1/lv1 -l +100%FREE
Opis
Polecenie przydziela całe wolne miejsce z Volume Group do głównego wolumenu logicznego.
Po zakończeniu warto ponownie sprawdzić:
Bash:
lvs -a
Krok 8 - Odmontowanie snapshotów
Przed rozszerzeniem systemu plików należy odmontować snapshoty.
Bash:
umount /dev/mapper/vg1-snap*
Następnie główny wolumen.
Bash:
umount /dev/mapper/cachedev1
Jeżeli pojawi się komunikat:
Kod:
target is busy
należy sprawdzić procesy blokujące urządzenie.
Bash:
lsof /dev/mapper/cachedev1
Krok 9 - Zatrzymanie QuLog Center
Jedną z usług najczęściej blokujących wolumen jest QuLog.
Bash:
/etc/init.d/qulog.sh force-stop
Ponownie sprawdzamy:
Bash:
lsof /dev/mapper/cachedev1
Jeżeli nadal istnieją aktywne procesy:
Bash:
kill -9 $(lsof /dev/mapper/cachedev1 | awk '{print $2}')
Jeszcze raz sprawdzamy:
Bash:
lsof /dev/mapper/cachedev1
Jeżeli lista jest pusta, ponawiamy:
Bash:
umount /dev/mapper/cachedev1
Polecenie kill -9 bezwarunkowo kończy proces.
Przed jego użyciem upewnij się, że nie zatrzymujesz ważnych usług produkcyjnych.
Krok 10 - Usunięcie mapowania Device Mapper
Bash:
dmsetup remove cachedev1
Polecenie usuwa aktywne mapowanie Device Mapper, dzięki czemu możliwe będzie ponowne uruchomienie LVM.
Krok 11 - Weryfikacja Logical Volume
Sprawdzamy czy wolumen nadal istnieje.
Bash:
lvs -a
Można również wyświetlić urządzenia:
Bash:
ls /dev/vg1
Najczęściej zobaczymy:
Kod:
lv1
Krok 12 - Sprawdzenie systemu plików
Przed powiększeniem EXT4 należy wykonać kontrolę integralności.
Bash:
e2fsck_64 -fvp -C0 /dev/vg1/lv1
Znaczenie parametrów
• -f — wymusza pełne sprawdzenie,
• -v — tryb szczegółowy,
• -p — automatyczna naprawa prostych błędów,
• -C0 — pasek postępu.
Krok 13 - Rozszerzenie systemu plików
Bash:
resize2fs_64 /dev/vg1/lv1
Polecenie rozszerza system plików EXT4 do pełnego rozmiaru Logical Volume.
Na tym etapie cała nowa przestrzeń stanie się dostępna.
Krok 14 - Ponowna aktywacja LVM
Wyłączamy grupę:
Bash:
vgchange -an vg1
Następnie ponownie uruchamiamy konfigurację LVM QNAP.
Bash:
/etc/init.d/init_lvm.sh
Po kilku minutach wszystkie wolumeny zostaną ponownie zamontowane.
Weryfikacja
Po zalogowaniu do interfejsu QTS należy sprawdzić:
• Storage & Snapshots
• Storage Pool
• Volume
• Dostępna pojemność
Nowy rozmiar powinien odpowiadać pojemności nowych dysków.
Jeżeli wszystkie kroki przebiegły prawidłowo, Storage Pool oraz wolumen logiczny zostaną rozszerzone bez utraty danych, a system będzie wykorzystywał pełną pojemność nowych dysków.