LVM

Logical Volume Manager (zarządca woluminów logicznych) – mechanizm systemu operacyjnego do zarządzania przestrzenią pamięci masowej. W szczególności, zarządca pozwala na połączenie partycji znajdujących się na różnych urządzeniach pamięci masowej w jeden dysk wirtualny. Jego rozmiar nie jest zdefiniowany na stałe – jeśli zachodzi taka potrzeba, istnieje możliwość jego rozszerzenia o nową przestrzeń pamięciową. Obsługa woluminów logicznych zaimplementowana jest w większości systemów operacyjnych, może różnić się funkcjonalnością i stosowaną terminologią.

Struktura

Linux Logical Volume Manager (LVM) v1

Pomimo różnic w budowie, implementacje LVM bazują na identycznym schemacie działania. Podstawową jednostką są woluminy fizyczne (ang. physical volumes), które mogą być fizycznymi dyskami twardymi, partycjami lub numerami jednostek logicznych (LUN) na zewnętrznym urządzeniu przechowywania danych. Woluminy fizyczne organizowane są w ciągi niewielkich bloków zwanych ekstentami fizycznymi (ang. physical extents). W zależności od implementacji, wszystkie ekstenty mogą mieć stały rozmiar (np. 4 MB) lub zmienny, przy czym w tym drugim przypadku zarządca może zezwalać na ich dzielenie i łączenie. Zbiór wszystkich fizycznych ekstentów tworzy grupę woluminów fizycznych (ang. physical volume group).

Fizyczne ekstenty i grupy woluminów mają swoje logiczne odpowiedniki. W podstawowym scenariuszu są one mapowane jeden-do-jednego, tj. jednemu logicznemu ekstentowi odpowiada dokładnie jeden ekstent fizyczny. Możliwa jest jednak sytuacja, w której logiczny ekstent jest mapowany na kilka ekstentów fizycznych, z których każdy zawiera dokładnie te same informacje (jak w RAID-1) – technika ta zwie się mirroringiem.

Logiczne ekstenty łączone są w logiczne woluminy (ang. logical volume), które są przez system operacyjny traktowane jako ciągłe bloki bajtów i mogą być używane dokładnie w taki sam sposób, jak partycje. Choć system widzi wolumin jako ciągły obszar przestrzeni dyskowej, w rzeczywistości fizyczne ekstenty użyte do jego skonstruowania mogą być rozrzucone po całym fizycznym dysku lub też po kilku dyskach.

Możliwości

LVM może:

  • zmieniać on-line („na gorąco”) rozmiar grupy woluminu (VG) przez absorbowanie lub usuwanie woluminów fizycznych (PV),
  • zmieniać on-line rozmiar woluminów logicznych (LV), poprzez dołączanie lub skracanie, tzw. obszarów (ang. logical extent),
  • tworzyć kopie (ang. snapshot) woluminów logicznych,
  • łączyć ze sobą (ang. stripe) całe lub fragmenty woluminów logicznych pochodzących z różnych woluminów fizycznych, podobnie jak ma to miejsce w RAID 0,
  • tworzyć lustra (ang. mirroring) woluminów logicznych na paru PV (physical volume – woluminach fizycznych), podobnie jak to ma miejsce w RAID 1,
  • przesuwać on-line woluminy logiczne pomiędzy woluminami fizycznymi,
  • dzielić lub łączyć grupy woluminów (VG).

Implementacje

LVM zaimplementowany jest w systemach Uniksowych po 1999, i w Windows serii NT począwszy od Windows 2000.

Linki zewnętrzne

Media użyte na tej stronie

LVM1.svg
Autor: , Licencja: CC BY-SA 3.0
Scheme of the Linux Logical Volume Manager v1