 Autor: [Adam Nadolny](/autorzy/adam-nadolny) Ekspert DevOps i infrastruktury · Zweryfikowano Kwiecień 2026

1.  [Strona główna](/) ›
2.  [Baza wiedzy](/baza-wiedzy/) ›
3.  LVM — zarządzanie woluminami logicznymi na Linux

# LVM — zarządzanie woluminami logicznymi na Linux

Opublikowano: 9 kwietnia 2026 · Kategoria: VPS / Linux / Storage

Standardowe partycje mają stały rozmiar — gdy zapełnisz `/var` na serwerze produkcyjnym o 3:00 w nocy, bez LVM masz problem. LVM (Logical Volume Manager) to warstwa abstrakcji między dyskami fizycznymi a systemem plików, która pozwala rozszerzać woluminy online, tworzyć snapshoty i łączyć wiele dysków w jeden elastyczny pool przestrzeni dyskowej.

## Architektura LVM: PV → VG → LV

LVM ma trójwarstwową architekturę:

-   **PV (Physical Volume)** — fizyczny dysk lub partycja przygotowana dla LVM przez `pvcreate`. Może to być cały dysk (`/dev/sdb`) lub partycja (`/dev/sdb1`).
-   **VG (Volume Group)** — pool przestrzeni złożony z jednego lub wielu PV. Możesz dodawać nowe PV do VG gdy brakuje miejsca. Analogia: VG to pula.
-   **LV (Logical Volume)** — wolumin logiczny wycięty z VG, na którym tworzysz system plików (ext4, xfs). To odpowiednik tradycyjnej partycji. Analogia: LV to naczynie z puli.

## Tworzenie LVM od podstaw

Scenariusz: masz dodatkowy dysk `/dev/sdb` (100 GB) i chcesz użyć go przez LVM:

\# Krok 1: Instalacja narzędzi LVM (jeśli brakuje)
sudo apt install lvm2          # Debian/Ubuntu
sudo yum install lvm2          # CentOS/RHEL

# Krok 2: Utwórz Physical Volume
sudo pvcreate /dev/sdb
# Physical volume "/dev/sdb" successfully created.

# Krok 3: Utwórz Volume Group
sudo vgcreate vg0 /dev/sdb
# Volume group "vg0" successfully created

# Krok 4: Utwórz Logical Volume (80 GB z 100 GB puli)
sudo lvcreate -L 80G -n data vg0
# Logical volume "data" created.

# Lub użyj całego dostępnego miejsca:
sudo lvcreate -l 100%FREE -n data vg0

## Formatowanie i montowanie

\# Utwórz system plików ext4
sudo mkfs.ext4 /dev/vg0/data

# Utwórz punkt montowania
sudo mkdir -p /data

# Zamontuj tymczasowo
sudo mount /dev/vg0/data /data

# Trwałe montowanie przez /etc/fstab
# Użyj UUID (bezpieczniejszy niż nazwa urządzenia)
sudo blkid /dev/vg0/data
# /dev/vg0/data: UUID="abcd-1234" TYPE="ext4"

# Dodaj do /etc/fstab:
# UUID=abcd-1234  /data  ext4  defaults,nofail  0  2

# Weryfikacja
df -h /data

## Rozszerzenie LV online — bez downtime

To najważniejsza cecha LVM — możesz rozszerzyć zamontowany wolumin bez zatrzymywania aplikacji:

\# Sprawdź bieżący stan
sudo lvs
sudo vgs                       # Sprawdź ile miejsca zostało w VG

# Rozszerz LV o 10 GB
sudo lvextend -L +10G /dev/vg0/data

# Lub użyj całego wolnego miejsca w VG
sudo lvextend -l +100%FREE /dev/vg0/data

# Rozszerz system plików ext4 (online, zamontowany)
sudo resize2fs /dev/vg0/data

# Dla XFS (inaczej niż ext4!):
# sudo xfs\_growfs /data           # Argumentem jest punkt montowania, nie urządzenie

# Weryfikacja
df -h /data

Możesz też dodać nowy dysk do VG gdy LV zajął całe dostępne miejsce:

\# Dodaj nowy dysk do istniejącej grupy woluminów
sudo pvcreate /dev/sdc
sudo vgextend vg0 /dev/sdc

# Teraz VG ma więcej miejsca — możesz rozszerzyć LV
sudo lvextend -l +100%FREE /dev/vg0/data
sudo resize2fs /dev/vg0/data

## Zmniejszanie LV — tylko offline

Zmniejszenie LV to operacja bardziej ryzykowna i wymaga odmontowania. Zawsze rób backup przed redukcją:

\# UWAGA: Zmniejszenie LV = ryzyko utraty danych. Zrób backup!

# Odmontuj wolumin
sudo umount /data

# Sprawdź i napraw system plików (OBOWIĄZKOWE przed redukcją)
sudo e2fsck -f /dev/vg0/data

# Zmniejsz system plików do docelowego rozmiaru (np. 30G)
sudo resize2fs /dev/vg0/data 30G

# Zmniejsz LV (musi być <= nowy rozmiar systemu plików)
sudo lvreduce -L 30G /dev/vg0/data

# Zamontuj z powrotem
sudo mount /dev/vg0/data /data

## LVM Snapshot — migawka dla backupu

\# Utwórz snapshot woluminu data (CoW — Copy on Write)
# --size = ile miejsca zarezerwować na zmiany od momentu snapshotu
sudo lvcreate --snapshot --name data-snap --size 5G /dev/vg0/data

# Zamontuj snapshot tylko do odczytu (np. dla backupu)
sudo mkdir -p /mnt/snap
sudo mount -o ro /dev/vg0/data-snap /mnt/snap

# Zrób backup z zamontowanego snapshotu
sudo rsync -avz /mnt/snap/ /backup/data/

# Odmontuj i usuń snapshot po backupie
sudo umount /mnt/snap
sudo lvremove /dev/vg0/data-snap

# Przywróć oryginał ze snapshotu (rollback):
# sudo umount /data
# sudo lvconvert --merge /dev/vg0/data-snap
# sudo lvchange -an /dev/vg0/data
# sudo lvchange -ay /dev/vg0/data
# sudo mount /dev/vg0/data /data

## Thin Provisioning

Thin provisioning pozwala zaalokować więcej miejsca niż fizycznie dostępne — podobnie jak w chmurze. Przydatne gdy tworzysz wiele LV dla różnych serwisów i widzisz że nie wszystkie osiągną maksymalny rozmiar jednocześnie:

\# Utwórz thin pool (50G fizycznej przestrzeni)
sudo lvcreate --thin -L 50G vg0/thin-pool

# Utwórz thin volumes (łącznie 80G, choć pool ma tylko 50G)
sudo lvcreate --thin -V 30G --name web-data vg0/thin-pool
sudo lvcreate --thin -V 30G --name db-data vg0/thin-pool
sudo lvcreate --thin -V 20G --name logs-data vg0/thin-pool

# Monitoruj użycie thin pool
sudo lvs -a vg0

## Inspekcja — pvs, vgs, lvs

\# Physical Volumes — lista dysków w LVM
sudo pvs
sudo pvdisplay /dev/sdb        # Szczegóły

# Volume Groups — lista grup
sudo vgs
sudo vgdisplay vg0             # Szczegóły (w tym wolne miejsce)

# Logical Volumes — lista woluminów
sudo lvs
sudo lvdisplay /dev/vg0/data   # Szczegóły

# Pełny przegląd drzewa LVM
sudo lvscan

## LVM vs woluminy chmurowe — porównanie

Cecha

LVM

Cloud Volumes (EBS, Hetzner)

Rozszerzenie online

Tak (lvextend + resize2fs)

Tak (przez panel/API)

Snapshot

Tak (lvcreate --snapshot)

Tak (zarządzane przez chmurę)

Przenoszenie między serwerami

Nie (dane na fizycznym dysku)

Tak (odłącz i podłącz)

Koszt

0 zł (software)

Dodatkowa opłata miesięczna

Najlepsze dla

Dedyki, VPS z wieloma dyskami

Efemeryczne serwery, łatwy backup

## Najczęstsze pytania

Czym jest LVM i jakie problemy rozwiązuje? +

LVM (Logical Volume Manager) to warstwa abstrakcji między fizycznymi dyskami a systemem plików. Rozwiązuje trzy główne problemy: (1) Rozszerzenie partycji — tradycyjna partycja ma stały rozmiar; LVM pozwala rozszerzyć logical volume online bez restartu, nawet łącząc wiele dysków fizycznych. (2) Snapshot — LVM tworzy spójne migawki woluminu w ułamku sekundy, co jest podstawą backupów online bez zatrzymywania bazy danych. (3) Thin provisioning — możesz zaalokować więcej miejsca niż fizycznie dostępne, przydzielając je w miarę potrzeb (jak w chmurze).

Jak rozszerzyć partycję LVM bez restartu serwera? +

Trzy kroki: (1) lvextend -L +10G /dev/vg0/data — powiększ logical volume o 10 GB (lub -l +100%FREE żeby użyć całego wolnego miejsca). (2) resize2fs /dev/vg0/data — rozszerz system plików ext4 do nowego rozmiaru (jeśli ext4). Dla XFS: xfs\_growfs /mount/point. (3) Zweryfikuj: df -h /mount/point. Całość zajmuje sekund, bez żadnego downtime.

Jak zrobić snapshot LVM i do czego go użyć? +

Snapshot LVM tworzy się w jednej sekundzie: lvcreate --snapshot --name data-snap --size 2G /dev/vg0/data. Parametr --size określa maksymalną ilość zmian które snapshot może przechowywać (CoW — Copy on Write). Użycia snapshotów: (1) Backup online — zamontuj snapshot read-only i zrób rsync/dump podczas gdy oryginał działa. (2) Testowanie migracji — zrób snapshot, przetestuj migrację, przywróć snapshot jeśli coś pójdzie nie tak: lvconvert --merge /dev/vg0/data-snap. (3) Punkt przywrócenia przed dużą aktualizacją systemu.

Kiedy używać LVM, a kiedy woluminów chmurowych? +

LVM ma sens na dedykowanych serwerach fizycznych (bare metal) lub VPS z wieloma dyskami, gdzie potrzebujesz elastycznej alokacji przestrzeni i snapshotów. Chmurowe woluminy (AWS EBS, Hetzner Volumes, DigitalOcean Volumes) są lepsze gdy: chcesz odłączyć dysk od serwera i podłączyć do innego, potrzebujesz automatycznych snapshotów zarządzanych przez chmurę, serwer jest efemeryczny. Na typowym Hetzner VPS lub Contabo VPS z jednym dyskiem LVM daje mniejszą wartość niż na dedyku z wieloma dyskami.

## Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.

Contabo

VPS z dużym dyskiem NVMe — idealne środowisko do konfiguracji LVM i woluminów

Duży dysk

[Aktywuj rabat →](/out/contabo)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/contabo)

Mikrus

Tani VPS do nauki LVM bez ryzyka dla produkcji

Dev/Test

[Aktywuj rabat →](/out/mikrus)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/mikrus)

LH.pl

VPS z pełnym dostępem root — możliwość samodzielnej konfiguracji LVM

Root access

[Aktywuj rabat →](/out/lh-pl)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/lh-pl)

## Powiązane strony

-   [Strategia backupu — 3-2-1 i automatyzacja](/baza-wiedzy/backup-strategia-hosting)
-   [rsync — kopia zapasowa VPS](/baza-wiedzy/rsync-kopia-zapasowa-vps)
-   [Docker na VPS — instalacja i konfiguracja](/baza-wiedzy/docker-na-vps)
-   [Wszystkie artykuły](/baza-wiedzy/)