Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:image_sichern [2020/02/18 13:45] art1 |
admin_grundlagen:image_sichern [2022/08/26 10:11] (aktuell) ingo_wichmann [Backup] |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== 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* | ||
| - | |||
| ====== Images von Partitionen sichern ====== | ====== Images von Partitionen sichern ====== | ||
| ===== dd ===== | ===== dd ===== | ||
| ==== Backup ==== | ==== Backup ==== | ||
| Beispiel: Partition /dev/sda2 in Datei sichern | Beispiel: Partition /dev/sda2 in Datei sichern | ||
| - | mount -o remount,ro /dev/sda2 | + | |
| + | (( 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 | dd if=/dev/sda2 of=/tmp/sda2.img bs=1M status=progress | ||
| oder | 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 | dd if=/dev/sda2 bs=1M | gzip > /tmp/sda2.img.gz | ||
| - | mount -o remount,rw /dev/sda2 | + | mount -o remount,rw,relatime /dev/sda2 |
| ==== Restore ==== | ==== Restore ==== | ||
| Zeile 38: | Zeile 28: | ||
| ==== Backup ==== | ==== Backup ==== | ||
| Beispiel: Partition /dev/sda2 in Datei sichern | Beispiel: Partition /dev/sda2 in Datei sichern | ||
| - | mount -o remount,ro /dev/sda2 | + | mount -o remount,ro,noatime /dev/sda2 |
| fsarchiver savefs /home/nutzer48/sda2.fsa /dev/sda2 | fsarchiver savefs /home/nutzer48/sda2.fsa /dev/sda2 | ||
| - | mount -o remount,rw /dev/sda2 | + | mount -o remount,rw,relatime /dev/sda2 |
| Archiv ansehen | Archiv ansehen | ||
| fsarchiver archinfo /home/nutzer48/sda2.fsa | fsarchiver archinfo /home/nutzer48/sda2.fsa | ||
| Zeile 49: | Zeile 39: | ||
| fsarchiver restfs /home/nutzer48/sda2.fsa id=0,dest=/dev/sda2 | fsarchiver restfs /home/nutzer48/sda2.fsa id=0,dest=/dev/sda2 | ||
| | | ||
| - | === Festplattenimages(qcow2) nachträglich vergrößern === | + | ===== 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 | * Zur Sicherheit erst ein Backup sensibler Daten machen | ||
| - | <code>#yum install cloud-utils-growpart</code> | + | <code>yum install cloud-utils-growpart</code> |
| - | <code>#apt install cloud-guest-utils</code> | + | <code>apt install cloud-guest-utils</code> |
| - | **Bei ausgeschalteter VM** | + | **Vorbereitung bei ausgeschalteter VM** |
| <code>qemu-img resize meinvmimage.qcow2 +30GB</code> | <code>qemu-img resize meinvmimage.qcow2 +30GB</code> | ||
| - | **In der laufenden VM** | + | **Vergrößerung in der laufenden VM** |
| **Ohne LVM** | **Ohne LVM** | ||
| <code>growpart /dev/vda 2 #Leerzeichen bei Partition ist hier notwendig | <code>growpart /dev/vda 2 #Leerzeichen bei Partition ist hier notwendig | ||
| Zeile 72: | Zeile 75: | ||
| </code> | </code> | ||
| + | ==== Images provisionieren ==== | ||
| + | |||
| + | <code> | ||
| + | virt-install --name node1 --memory 8192 --vcpus 2 --disk /home/nutzer33/kvm-images/node1.qcow2 --import --os-variant ubuntu18.04 | ||
| + | </code> | ||
| + | |||
| + | ====== 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* | ||