Zarządzanie dyskami i pamięcią masową w systemie Linux

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.

Przewijanie do góry