====== Images von Partitionen sichern ======
===== dd =====
==== Backup ====
Beispiel: Partition /dev/sda2 in Datei sichern
(( Die zu kopierende Festplatte/Partition darf hierbei nicht gemountet sein, da sonst etwaige Schreibzugriffe während des Kopiervorgangs zu defekten Image-Dateien führen können! ))
mount -o remount,ro,noatime /dev/sda2
dd if=/dev/sda2 of=/tmp/sda2.img bs=1M status=progress
oder
(( um die komprimierten Images kleiner zu bekommen, könnte man die leeren Bereiche des Dateisystems mit Nullen füllen:
dd if=/dev/zero of=/mountpoint/zero bs=1M
rm /mountpoint/zero
Bei SSDs kann man das selbe mit fstrim erreichen:
fstrim -v /mountpoint
))
dd if=/dev/sda2 bs=1M | gzip > /tmp/sda2.img.gz
mount -o remount,rw,relatime /dev/sda2
==== Restore ====
Beispiel: Partition /dev/sda2 aus Image-Datei wiederherstellen
umount /dev/sda2
dd if=/tmp/sda2.img of=/dev/sda2 bs=1M status=progress
oder
zcat /tmp/sda2.img.gz | dd of=/dev/sda2 bs=1M
===== fsarchiver =====
==== Backup ====
Beispiel: Partition /dev/sda2 in Datei sichern
mount -o remount,ro,noatime /dev/sda2
fsarchiver savefs /home/nutzer48/sda2.fsa /dev/sda2
mount -o remount,rw,relatime /dev/sda2
Archiv ansehen
fsarchiver archinfo /home/nutzer48/sda2.fsa
==== Restore ====
Beispiel: Partition /dev/sda2 aus fsarchiver-Archiv wiederherstellen
umount /dev/sda2
fsarchiver restfs /home/nutzer48/sda2.fsa id=0,dest=/dev/sda2
===== partclone =====
==== Backup ====
Beispiel: btrfs-Partition /dev/sda2 in Datei sichern
mount -o remount,ro /dev/sda2
partclone.btrfs -c -s /dev/sda2 -o /home/nutzer48/sda2.pcimg
mount -o remount,rw /dev/sda2
==== Restore ====
Beispiel: btrfs-Partition /dev/sda2 aus partclone-Image wiederherstellen
umount /dev/sda2
partclone.btrfs -r -s /home/nutzer48/sda2.pcimg -o /dev/sda2
===== Festplattenimages(qcow2) nachträglich vergrößern =====
* Zur Sicherheit erst ein Backup sensibler Daten machen
yum install cloud-utils-growpart
apt install cloud-guest-utils
**Vorbereitung bei ausgeschalteter VM**
qemu-img resize meinvmimage.qcow2 +30GB
**Vergrößerung in der laufenden VM**
**Ohne LVM**
growpart /dev/vda 2 #Leerzeichen bei Partition ist hier notwendig
resize2fs /dev/vda2 [Größe in G]
**Mit LVM**
growpart /dev/vda 2 #Leerzeichen bei Partition ist hier notwendig
pvresize /dev/vda2
lvextend -l +100%FREE /dev/centos/root #Das logical volume erweitern; Übersicht mit "lvdisplay"
resize2fs /dev/centos/root
lvextend -l +100%FREE /dev/mapper/centos-root #Die volume group erweitern; Übersicht "vgdispaly"
xfs_growfs / #Bei CentOS mit xfs auf /
==== Images provisionieren ====
virt-install --name node1 --memory 8192 --vcpus 2 --disk /home/nutzer33/kvm-images/node1.qcow2 --import --os-variant ubuntu18.04
====== Image: auf Partitionen zugreifen ======
Beispiel: qcow2-Image laden, konvertieren und auf Partition zugreifen
qcow2-Image laden:
wget http://mirror/images/centos7-x86_64.qcow2
Ist genug Platz?
df -h .
qemu-img info centos7-x86_64.qcow2
In raw-Format konvertieren:
qemu-img convert -O raw centos7-x86_64.qcow2 centos7-x86_64.img
Nächstes freies loop-Device erfragen:
losetup -f
loop-Device für Partitionen erstellen:
losetup -P /dev/loop0 centos7-x86_64.img
ls -l /dev/loop0*