lvm lvm> pvcreate /dev/sda4 # dodajemy napęd fizyczny do lvm lvm> vgcreate lvm /dev/sda4 # tworzymy grupę woluminów o nazwie lvm lvm> lvcreate -l 90%FREE -n vz lvm # Tworzymy wolumin logiczny o nazwie vz ( zostawiamy trochę miejsca na lvm snapshot ) lvm> exit mkfs.ext3 /dev/lvm/vz # jeśli nie chcemy mieć quotę pod openvz to wybieramy ext3 jako system plików
lvm lvm> lvextend -l 100%FREE /dev/lvm/vz lvm> exit xfs_growfs /dev/lvm/vz
Kiedy dodajemy do systemu obce grupy woluminów ( po awarii systemu lub z innych dysków )
vgchange -a y my_volume_group
lvcreate -l50%FREE -s -n snapshot /dev/lvm/vz #tworzymy wolumin logiczny zawierający snapshot woluminu logicznego vz mkdir /mnt/snapshot # tworzymy punkt montowania mount /dev/lvm/snapshot -o nouuid /mnt/snapshot # montujemy volumin ignorując uuid partycji ( w przeciwnym razie przy montowaniu xfs otrzymamy błąd ) rsync -av --del /mnt/snapshot/ user@domain:/dest/ # wykonujemy rsync umount /mnt/snapshot # odmontowujemy partycję lvremove -f /dev/lvm/snapshot # usówamy snapshot rmdir /mnt/snapshot usówamy punkt montowania
Gotowy skrypt lvm snapshot do edycji
#!/bin/bash SNAP=lvmrsync_`date +%Y_%m_%d_%H_%M` # snapshot volume and mount point name LVM='/dev/lvm2/' # LVM volume group LG='storage' # logical volume to backup echo -- |tee -a /var/log/rsync_log echo start rsync `date +%Y_%m_%d_%H_%M` |tee -a /var/log/rsync_log echo -- |tee -a /var/log/rsync_log mkdir /mnt/$SNAP lvcreate -l100%FREE -s -n $SNAP $LVM$LG |tee -a /var/log/rsync_log mount $LVM$SNAP -o nouuid /mnt/$SNAP date | tee -a /var/log/rsync_log ; rsync -av --del /mnt/$SNAP/ volen@192.168.0.245:/backup/sloth/ >> /var/log/rsync_log 2>&1 || echo "ERROR" | tee -a /var/log/rsync_log data2=`date` echo " rsync finished $data2 " | tee -a /var/log/rsync_log umount /mnt/$SNAP 2>&1 | tee -a /var/log/rsync_log rmdir /mnt/$SNAP lvremove -f $LVM$SNAP |tee -a /var/log/rsync_log
odmontowujemy i sprawdzamy system plików potem zmniejszamy system plików i na koniec lvm
umount /main e2fsck -f /dev/mapper/vg-main resize2fs -p /dev/mapper/vg-main 800G lvreduce -L 800G /dev/mapper/vg-main
Przykładowo powięszamy lvm o 310G oraz dopasowujemy do nowego rozmiaru ext4 Powiększanie partycji jest bezpieczne i nie wymaga odmontowywania.
lvextend -L+310G /dev/mapper/vg-vz resize2fs /dev/mapper/vg-vz