Počítačové sítě/LAB: Zálohování dat (2x disk, RAID, LVM)

Požadavky

editovat
  • VirtualBox
  • Virtuální PC s instalovaným OS Debian

Zadání

editovat

Úkolem LABu je vytvořit dostatečně bezpečné a zároveň flexibilní řešení pro ukládání dat. Praktické využití je např. v domácím NAS - network attached storage (síťové úložiště).

  • Přidat do virtuálního PC 2 disky
  • Na discích nastavit RAID 1
  • Na RAID 1 nastavit LVM
  • Vytvořit LV "data", "fotky", "hudba"
  • Mountovat LV
  • Vytvořit snapshot z LV "data", vymazat soubory a obnovit je ze snapshotu

Řešení

editovat

HW příprava disků

editovat
  • Ve VirtualBox přidat k virtuálnímu PC disky (Nastavení -> Úložiště -> Přidat pevný disk -> Vytvořit nový disk -> .VDI -> dynamicky alokované -> disk 1 -> Vytvořit)
  • To samé pro disk2 (toto odpovídá fyzické instalaci disků do počítače)
  • Velikost bude stačit výchozí hodnota (8GB)

Instalace potřebných balíků

editovat

Je třeba nainstalovat balíky mdadm pro konfiguraci a správu RAID a lvm2 pro konfiguraci a správu LVM.

apt-get install -y mdadm lvm2

SW příprava disků

editovat
  • Seznam disků
ls /dev | grep sd

výpis:
sda
sda1
sda2
sda5
sdb
sdc
  • Vytvořit jeden primární diskový oddíl o celkové kapacitě disku na nových discích (v tomto případě jsou to disky sdb a sdc.
fdisk /dev/sdb
n<enter>
<enter>
<enter>
<enter>
<enter>
w<enter>
  • Vše nechat na výchozích hodnotách: n - nový, p - primární, 1 - číslo oddílu, první sektor, poslední sektor
  • w<enter> uloží změny a ukončí program fdisk
  • to samé pro sdc
fdisk /dev/sdc
  • Seznam disků
ls /dev | grep sd

výpis:
sda
sda1
sda2
sda5
sdb
sdb1
sdc
sdc1

Vytvoření RAID 1 pole

editovat
  • RAID 1 pole odpovídá zrcadlení - data se ukládají na oba disky, při výpadku jednoho disku jsou tedy uložena na druhém.
mdadm --create PrvniRaid --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
y<enter>
  • <enter> je k pokračování vytváření RAID pole, které nebude sloužit pro boot systému
  • výpis stavu RAID pole
cat /proc/mdstat

Implementace LVM

editovat
  • Vytvořit PV (physical volume)
pvcreate /dev/md/PrvniRaid

výpis:
Physical volume "/dev/md127" successfully created

vypsat všechny PV:
pvdisplay
  • /dev/md127 je jméno PV
  • Vytvořit VG (volume group)
vgcreate vgNAS /dev/md127

výpis:
Volume group "vgNAS" successfully created

vypsat všechny VG:
vgdisplay
  • vgNAS je jméno VG
  • /dev/md127 je jméno PV (může jich být více), které tvoří VG
  • Vytvořit LV (logical volume)
lvcreate --name data --size 1G vgNAS
lvcreate --name fotky --size 2G vgNAS
lvcreate --name hudba --size 1G vgNAS

vypsat všechny LV:
lvdisplay

V tomto LABu je použit souborový systém Ext4.

mkfs.ext4 /dev/mapper/vgNAS-data
mkfs.ext4 /dev/mapper/vgNAS-fotky
mkfs.ext4 /dev/mapper/vgNAS-hudba

Adresářová struktura

editovat
  • Vytvořit podadresáře v adresáři /mnt/
mkdir /mnt/data
mkdir /mnt/fotky
mkdir /mnt/hudba
  • Připojit souborové systémy do vytvořených adresářů
mount /dev/mapper/vgNAS-data /mnt/data
mount /dev/mapper/vgNAS-fotky /mnt/fotky
mount /dev/mapper/vgNAS-hudba /mnt/hudba
  • Zápis v souboru /etc/fstab pro automatické připojení po spuštění počítače
echo "/dev/mapper/vgNAS-data /mnt/data ext4 defaults 0 0" >> /etc/fstab
echo "/dev/mapper/vgNAS-fotky /mnt/fotky ext4 defaults 0 0" >> /etc/fstab
echo "/dev/mapper/vgNAS-hudba /mnt/hudba ext4 defaults 0 0" >> /etc/fstab
  • Vytvoření tréningového souboru v adresáři /mnt/data/
echo "ahoj tam!" > /mnt/data/hello-world.txt
cat /mnt/data/hello-world.txt

výpis:
ahoj tam!
  • Restartování počítače
reboot
  • Listování adresářovou strukturou
ls -R /mnt

Vytvoření snapshotu

editovat
lvcreate --snapshot --size 100M --name snap-data /dev/mapper/vgNAS-data

Změna souboru

editovat
rm /mnt/data/hello-world.txt
reboot

Merge snapshotu

editovat
  • výpis adresářové struktury a odpojení LV
ls -R /mnt
umount /mnt/data
  • merge snapshotu do LV
lvconvert --merge /dev/mapper/vgNAS-snap--data
  • připojení LV a výpis adresářové struktury
mount /mnt/data
ls -R /mnt