Silas Mariusz

rm -rf /
Help us, GOD!
5 Kwiecień 2008
10 152
4 657
153
Awards
29
Nowy Sącz
forum.qnap.net.pl
QNAP
TS-x77
Ethernet
1 GbE

QNAP - Jak zwiększyć rozmiar partycji po migracji na większe dyski z poziomu FAQ SSH?​



Rozszerzenie Storage Pool po wymianie dysków na większe



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.