Zarządzanie dyskami i pamięcią masową w systemie Linux
Efektywne zarządzanie przestrzenią dyskową jest jednym z kluczowych zadań administratora systemu Linux. System udostępnia szeroki zestaw narzędzi pozwalających na identyfikację urządzeń, monitorowanie wykorzystania miejsca, tworzenie partycji, konfigurację macierzy RAID oraz zarządzanie logicznymi wolumenami LVM. W tym artykule omówię podstawowe narzędzia i praktyczne zastosowania związane z pamięcią masową w Linuxie.
1. Identyfikacja urządzeń blokowych
Podstawowe informacje o dyskach i partycjach można uzyskać za pomocą polecenia lsblk. Wyświetla ono strukturę urządzeń blokowych w formie drzewa, co ułatwia analizę konfiguracji dysków.
Przykład:
lsblk
Wynik może wyglądać następująco:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 100G 0 disk
├─sda1 512M 0 part /boot
└─sda2 99.5G 0 part /
Dodatkowo polecenie blkid pozwala odczytać identyfikatory UUID i typy systemów plików, co jest przydatne przy konfiguracji pliku /etc/fstab.
2. Tworzenie i modyfikacja partycji
Partycjonowanie dysków można wykonać za pomocą narzędzi takich jak fdisk (MBR), gdisk (GPT) lub parted. Narzędzie parted jest bardziej elastyczne i obsługuje zarówno MBR, jak i GPT.
Przykład tworzenia nowej partycji:
sudo parted /dev/sdb mklabel gpt
sudo parted -a opt /dev/sdb mkpart primary ext4 0% 100%
sudo mkfs.ext4 /dev/sdb1
Utworzony system plików można zamontować:
sudo mkdir /mnt/data
sudo mount /dev/sdb1 /mnt/data
Aby montowanie było trwałe po restarcie, należy dodać wpis do pliku /etc/fstab.
Przykład wpisu:
UUID=xxxx-xxxx /mnt/data ext4 defaults 0 2
3. Monitorowanie wykorzystania przestrzeni
System Linux udostępnia kilka narzędzi do monitorowania wykorzystania przestrzeni dyskowej:
- df -h – wyświetlanie zajętości systemów plików,
- du -sh * – pokazuje rozmiar katalogów,
- iostat – monitorowanie operacji we/wy (pakiet sysstat).
Przykłady:
df -h
du -sh /var/log/*
iostat -xz 5
4. RAID – macierze dyskowe programowe
Linux obsługuje macierze RAID programowo przy użyciu narzędzia mdadm. Pozwala ono na tworzenie i zarządzanie macierzami typu RAID 0, 1, 5, 6 i 10.
Przykład utworzenia macierzy RAID 1:
sudo mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/sdb1 /dev/sdc1
sudo mkfs.ext4 /dev/md0
sudo mount /dev/md0 /mnt/raid
Stan macierzy można sprawdzić poleceniem:
cat /proc/mdstat
Konfiguracja trwała może zostać zapisana w pliku /etc/mdadm/mdadm.conf.
5. LVM – Logical Volume Manager
LVM (Logical Volume Manager) umożliwia elastyczne zarządzanie przestrzenią dyskową poprzez grupowanie fizycznych urządzeń (PV) w grupy wolumenów (VG), z których tworzone są logiczne wolumeny (LV). Dzięki LVM możliwe jest dynamiczne rozszerzanie, przenoszenie oraz tworzenie migawkowych kopii danych (snapshotów).
Podstawowe pojęcia:
- PV (Physical Volume) – fizyczny dysk lub partycja,
- VG (Volume Group) – grupa fizycznych wolumenów,
- LV (Logical Volume) – logiczna jednostka dostępna w systemie jako urządzenie blokowe.
Przykład konfiguracji LVM:
sudo pvcreate /dev/sdb1
sudo vgcreate vgdata /dev/sdb1
sudo lvcreate -n lvbackup -L 20G vgdata
sudo mkfs.ext4 /dev/vgdata/lvbackup
sudo mkdir /mnt/backup
sudo mount /dev/vgdata/lvbackup /mnt/backup
6. Tworzenie i zarządzanie snapshotami LVM
Snapshoty w LVM umożliwiają tworzenie punktów w czasie – kopii logicznego wolumenu, które mogą być używane do backupów lub testów. Snapshot zawiera jedynie zmiany względem oryginału, co pozwala na oszczędne zarządzanie przestrzenią.
Tworzenie snapshota:
sudo lvcreate -L 2G -s -n lvbackup_snap /dev/vgdata/lvbackup
Montowanie snapshota:
sudo mkdir /mnt/snap
sudo mount /dev/vgdata/lvbackup_snap /mnt/snap
Po zakończeniu testów lub kopii snapshot można usunąć:
sudo umount /mnt/snap
sudo lvremove /dev/vgdata/lvbackup_snap
7. Narzędzie parted – praca z dyskami GPT
Narzędzie parted umożliwia interaktywną pracę z nowoczesnymi dyskami o tablicy GPT. Umożliwia tworzenie, usuwanie i skalowanie partycji w trybie tekstowym lub automatycznym (non-interactive).
Przykład:
sudo parted /dev/sdb print
sudo parted /dev/sdb resizepart 2 80GB
Zmiany w partycjach wymagają ponownego odczytu tablicy przez system – można to zrobić za pomocą polecenia partprobe lub ponownego uruchomienia systemu.
8. Automatyczne montowanie – fstab
Plik /etc/fstab definiuje systemy plików montowane automatycznie podczas startu systemu. Każdy wpis określa urządzenie, punkt montowania, typ systemu plików i opcje montowania.
Przykład wpisu:
UUID=1a2b-3c4d /data ext4 defaults,noatime 0 2
Bezpieczne testowanie konfiguracji można wykonać poleceniem:
sudo mount -a
9. Dobre praktyki zarządzania dyskami
- stosowanie LVM do elastycznego zarządzania przestrzenią,
- tworzenie regularnych snapshotów przed aktualizacjami,
- monitorowanie wolnego miejsca za pomocą df i du,
- planowanie rotacji logów, aby uniknąć zapełnienia systemu plików,
- wykorzystywanie RAID w środowiskach produkcyjnych dla bezpieczeństwa danych,
- oznaczanie urządzeń po UUID zamiast /dev/sdX w pliku fstab,
- regularne testowanie kopii zapasowych i przywracania danych.
10. Podsumowanie
Zarządzanie pamięcią masową w Linuxie to zestaw procesów obejmujących konfigurację fizycznych urządzeń, tworzenie logicznych wolumenów i kontrolę wydajności systemu. Dzięki narzędziom takim jak lsblk, df, du, iostat, parted i LVM możliwe jest kompleksowe zarządzanie przestrzenią dyskową. LVM z obsługą snapshotów stanowi fundament nowoczesnych strategii backupu i utrzymania danych. Świadome planowanie, monitorowanie i automatyzacja operacji na dyskach zapewniają bezpieczeństwo i elastyczność w każdym środowisku serwerowym.