Jak rozszerzyć partycję root LVM w systemie Linux za pomocą dodatkowej przestrzeni dyskowej na Linuxie
Wprowadzenie
W tym poradniku wykonasz rozszerzenie dysku LVM poprzez rozszerzenie partycji root Linux Logical Volume Manager (LVM) o dodatkową przestrzeń. Ta metoda pozwala na rozszerzenie systemu plików Linux LVM bez ponownej instalacji systemu lub zatrzymywania usług. Postępujesz zgodnie z precyzyjnym i bezpiecznym procesem odpowiednim dla systemów produkcyjnych, gdzie błędy mogą skutkować nieodwracalną utratą danych.
Wymagania wstępne
Docelowa grupa odbiorców: Początkujący administratorzy systemów
Szacowany czas: 30–45 minut
System operacyjny: Dystrybucja Linux z obsługą LVM (testowane na Debian 13)
Wymagane oprogramowanie:
- lvm2 (2.03.x lub nowszy)
- util-linux (zawiera lsblk)
- e2fsprogs (dla ext4) lub xfsprogs (dla XFS)
Wymagania sprzętowe:
- Jeden dodatkowy pusty dysk (na przykład /dev/sdb)
Uprawnienia:
- Root lub użytkownik z uprawnieniami sudo
Wymagania sieciowe:
- Nie wymagane
Zakładana wiedza:
- Podstawowe korzystanie z linii poleceń
- Zrozumienie dysków i partycji
Cel końcowy: Na końcu tego poradnika dodasz dysk do LVM i zakończysz rozszerzenie wolumenu LVM swojego logicznego wolumenu root przy użyciu dodatkowej przestrzeni bez przestojów.
Ważne: Koszt błędu jest nieoszacowany. Pojedyncza niepoprawna nazwa urządzenia może zniszczyć wszystkie dane na twoim systemie. Zawsze weryfikuj każde polecenie przed wykonaniem.
Jeśli to twój pierwszy raz z LVM, przećwicz te kroki w środowisku nieprodukcyjnym.
Krok 1: Zweryfikuj bieżący układ LVM
Uruchom następujące polecenia, aby sprawdzić swoją bieżącą konfigurację LVM.
pvs wyświetla informacje o woluminach fizycznych. Pokazuje, które dyski lub partycje są zainicjowane dla LVM i ile miejsca jest dostępne lub używane na każdym woluminie fizycznym.
sudo pvs
Przykładowy wynik:
PV VG Fmt Attr PSize PFree /dev/sda5 debian-lvm-vg lvm2 a-- 9.25g 36.00m
vgs wyświetla informacje o grupach woluminów. Pokazuje całkowity rozmiar każdej grupy woluminów, ile miejsca jest używane i ile wolnego miejsca jest dostępne do rozszerzenia.
sudo vgs
Przykładowy wynik:
VG #PV #LV #SN Attr VSize VFree debian-lvm-vg 1 2 0 wz--n- 9.25g 36.00m
lvs wyświetla informacje o woluminach logicznych. Pokazuje rozmiar, nazwę i atrybuty każdego wolumenu logicznego, w tym wolumenu root, który będziesz rozszerzać. Rozszerzysz partycję używając dodatkowego dysku.
sudo lvs
Przykładowy wynik:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root debian-lvm-vg -wi-ao---- <8.69g swap_1 debian-lvm-vg -wi-ao---- 544.00m
Oczekiwany wynik:
- Widzisz swój logiczny wolumen root, grupę woluminów i woluminy fizyczne
- Logiczny wolumen root jest zazwyczaj zamontowany w
/
Krok 2: Zidentyfikuj nowy dysk
Wylistuj dostępne dyski:
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
Przykładowy wynik:
NAME SIZE TYPE MOUNTPOINT sda 10G disk ├─sda1 759M part /boot ├─sda2 1K part └─sda5 9.3G part ├─debian--lvm--vg-root 8.7G lvm / └─debian--lvm--vg-swap_1 544M lvm [SWAP] sdb 5G disk sdc 5G disk sdd 5G disk
Oczekiwany wynik:
- Pojawia się nowy dysk, taki jak /dev/sdb, bez partycji lub systemu plików
Ważne: Upewnij się, że dysk jest poprawny i pusty. Wszystkie istniejące dane na tym dysku zostaną utracone.
Krok 3: Utwórz wolumen fizyczny
Zainicjuj nowy dysk jako wolumen fizyczny:
sudo pvcreate /dev/sdb
Oczekiwany wynik:
- Polecenie kończy się pomyślnie i raportuje utworzenie wolumenu fizycznego
Zweryfikuj:
sudo pvs
To pozwala na dodanie nowej przestrzeni do istniejącego LVM.
Krok 4: Rozszerz grupę woluminów
Dodaj nowy wolumen fizyczny do istniejącej grupy woluminów:
sudo vgextend <VG_NAME> /dev/sdb
Oczekiwany wynik:
- Rozmiar grupy woluminów zwiększa się i obejmuje nowy dysk
Zweryfikuj:
sudo vgs
Przykładowy wynik:
VG #PV #LV #SN Attr VSize VFree debian-lvm-vg 2 2 0 wz--n- <19.25g 0
Kolumna PV pokazuje, że grupa woluminów teraz obejmuje nowy dysk.
Krok 5: Rozszerz logiczny wolumen root
Rozszerz logiczny wolumen root, aby wykorzystać całą dostępną wolną przestrzeń. Do rozszerzenia wolumenu logicznego używa się polecenia lvextend:
sudo lvextend -l +100%FREE /dev/<VG_NAME>/root
Oczekiwany wynik:
- Rozmiar wolumenu logicznego zwiększa się pomyślnie
Krok 6: Zmień rozmiar systemu plików
Zmień rozmiar systemu plików, aby wykorzystać dodatkową przestrzeń.
Dla ext4:
sudo resize2fs /dev/<VG_NAME>/root
Dla XFS:
sudo xfs_growfs /
Oczekiwany wynik:
- System plików rozszerza się, aby dopasować do nowego rozmiaru wolumenu logicznego
Krok 7: Zweryfikuj rozszerzenie
Sprawdź zaktualizowany rozmiar systemu plików:
df -h /
Oczekiwany wynik:
- System plików root odzwierciedla zwiększoną pojemność
Potwierdź stan LVM:
sudo lvs
sudo vgs
Weryfikacja i testowanie
- System pozostaje operacyjny bez restartu
df -hpokazuje zwiększoną dostępną przestrzeń- Brak błędów w logach systemowych:
dmesg | tail
Cofanie zmian
Cofanie jest możliwe tylko, jeśli nie zapisano krytycznych danych na nowej przestrzeni.
- Zmniejsz użycie systemu plików, jeśli to możliwe
- Zmniejsz system plików, jeśli jest to obsługiwane
- Zmniejsz wolumen logiczny:
sudo lvreduce /dev/<VG_NAME>/root - Usuń dysk z grupy woluminów:
sudo vgreduce <VG_NAME> /dev/sdb - Usuń wolumen fizyczny:
sudo pvremove /dev/sdb
Ważne: Zmniejszanie woluminów logicznych i systemów plików jest ryzykowne i może prowadzić do utraty danych. Unikaj tej operacji w produkcji, chyba że jest to absolutnie konieczne.
Rozwiązywanie problemów
- Polecenie nie powiodło się z "urządzenie nie znalezione": zweryfikuj nazwę dysku używając
lsblk - Grupa woluminów nie pokazuje wolnej przestrzeni: potwierdź, że
vgextendzakończyło się pomyślnie - Rozmiar systemu plików nie zmienił się: upewnij się, że użyto odpowiedniego narzędzia dla twojego typu systemu plików
- Błędy odmowy dostępu: upewnij się, że polecenia są wykonywane z sudo lub jako root
Podsumowanie i kolejne kroki
Udało ci się nauczyć, jak rozszerzyć system plików root bez przestojów, używając LVM poprzez dodanie nowego dysku, rozszerzenie grupy woluminów i zmianę rozmiaru systemu plików bez przestojów. Ta metoda jest niezbędna, gdy potrzebujesz zwiększyć pojemność serwera w środowiskach Linux.
Kolejne kroki:
- Skonfiguruj migawki LVM do tworzenia kopii zapasowych
- Monitoruj użycie dysku
- Eksploruj zaawansowane funkcje LVM