rootdelay=5
einfügen, siehe hier, oder /boot
als eigene Partition einfügenZiel dieser Anleitung:
Im Vergleich zur Installation nach dem Handbuch, muss eine leicht veränderte Reihenfolge eingehalten werden:
Erfolgt wie im Handbuch server, beispielhaft mit folgender Partitionierung über LVM:
vgcreate vgserverroot /dev/sda1
vgcreate vgserver /dev/md0
/home
→ lvcreate -L 400G -n home vgserver
(wird quotiert)/var
→ lvcreate -L 250G -n var vgserver
(wird quotiert) /var/spool/cups
→ lvcreate -L 10G -n varspoolcups vgserver
(wird nicht quotiert)lvcreate -L 20G -n ipfire vgserver
lvcreate -L 60G -n client01 vgserver
eth0
und eth1
bekannt.eth0
der Standardinstallation immer durch br0
ersetzt werden muss. eth0
sollte nicht mehr in /etc/network/interfaces
konfiguriert werden:auto lo iface lo inet loopback auto br0 iface br0 inet static bridge-ports eth0 bridge-stp off bridge-maxwait 5 address 10.16.1.1 netmask 255.240.0.0 network 10.16.0.0 broadcast 10.31.255.255 gateway 10.16.1.254 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 10.16.1.1 dns-search linuxmuster-net.lokal auto br1 iface br1 inet manual bridge-ports eth1 bridge-stp off bridge-maxwait 5
br0
als Switch für alle Geräte im internen=grünen Netzwerk verwendet wird und br1
nur von den Geräten, die im roten Netz eine IP bekommen sollen (z.b. IPFire)br1
weglassen und stattdessen das PCI-device dem (dann einzigen) roten Client durchreichen3)cp /etc/network/interfaces /etc/network/interfaces.kvm
sichern, da die Konfiguration von der linuxmuster-setup Routine überschrieben wird.
Im Programm virt-manager
kann man den IPfire einrichten. Die relevante Konfiguration zu qemu/kvm/libvirt liegt unter /etc/libvirt/qemu/ipfire.xml
und die relevanten Teile zu storage und Netzwerk lauten in der XML Schreibweise:
<devices> <emulator>/usr/bin/kvm</emulator> <disk type='block' device='disk'> <driver name='qemu' type='raw'/> <source dev='/dev/vgserver/ipfire'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </disk> <interface type='bridge'> <mac address='08:00:27:4b:e9:b3'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <interface type='bridge'> <mac address='08:00:27:73:df:21'/> <source bridge='br1'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </interface> <interface type='network'> <mac address='08:00:27:2d:a5:71'/> <source network='blau'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </interface>
<address type='pci'…>
etc. können auch weggelassen werden, wenn man die Datei mal selbst editiert, diese werden dann automatisch neu generiert.
Jetzt kann der IPFire regulär per eingebundenem CD-Image aufgesetzt und vorkonfiguriert werden (siehe ipfire und ipfire.preconfiguration) oder wenn der IPFire schon installiert war, per setup
als root modifiziert werden.
Alternativ kann ein vorgefertigtes Image (z.B. virtualappliance) auf das LVM-Storage kopiert und eingerichtet werden:
# qemu-img convert -p -O raw ipfire.img /dev/vgserver/ipfire # virsh start ipfire # ssh ipfire -p 222 [root@ipfire ~]# setup
Beim Befehl linuxmuster-setup --first
oder linuxmuster-setup --modify
kann das Setup des Servers wie im Handbuch beschrieben nur dann funktionieren, wenn die oben eingerichteten Bridges auch als Netzwerk„karten“ ausgewählt werden können.
br0
als Interface für das interne (grüne) Netz ausgewählt werden.
cp /etc/network/interfaces.kvm /etc/network/interfaces
die gesicherte Datei wiederhergestellt werden.
/usr/share/linuxmuster/scripts/helperfunctions.sh
die Zeile bearbeiten und /sys/class/net/br*
hinzufügen################# # nic setup # ################# discover_nics() { n=0 # fetch all interfaces and their macs from /sys for i in /sys/class/net/bond* /sys/class/net/eth* /sys/class/net/br* /sys/class/net/wlan* /sys/class/net/intern /sys/class/net/extern /sys/class/net/d mz; do
Folgende Strategie wird beschrieben:
Wenn eine Historie und Versionierung des Backups gewünscht ist, bietet sich an
rsnapshot
weiter zu sichern.rsnapshot
weiter zu sichern.Während die Migration und die Images der VM eine Schnelle Disaster-Recovery Aktion erlauben, erlaubt die Synchronisation via rsnapshot Zugriff auf einzelne Dateien. Werden beide Verfahren angewandt, lässt sich eine schnelle Rekonstruktion eines (z.B. alten) Images durch eine Synchronisation eines tagesaktuellen „rsnapshots“ aktualisieren.
Ein Backup des Servers durch Migration nach z.B. /srv/backup/server
wird als Standardlösung im Handbuch beschrieben.
Hier wird beschrieben, wie man darüberhinaus über die komplette Sicherung der Festplatten-Images und der Konfiguration zu einem Backup mit schnellem Disaster-Recovery kommt:
/srv/backup/server_manual
rsync -aR --numeric-ids --delete /etc/libvirtd/qemu/ /srv/backup/server/ rsync -aR --numeric-ids --delete /etc/network/interfaces /srv/backup/server/ rsync -aR --numeric-ids --delete /etc/udev/rules.d/ /srv/backup/server/
virsh shutdown ipfire lvcreate -s /dev/vgserver/ipfire -L 2G -n ipfire-backup virsh start ipfire qemu-img convert -c -f raw -O qcow2 /dev/vgserver/ipfire-backup /srv/backup/ipfire.img dd bs=512 count=1 if=/dev/vgserver/ipfire of=/srv/backup/ipfire-partitiontable
eth0
und eth1
entsprechend neu und korrekt den Bridges br0
und br1
zugeordnet werden.++++ Zum Aufklappen des Skript-Beispiels, bitte hier klicken |
/srv/ipfire
müssen erstellt werden.# Ziel auf dem NAS/NFS/USB-Festplatte: snapshot_root /srv/backup/rsnapshot/ no_create_root 1 retain daily 61 retain monthly 12 link_dest 1 backup /srv/ipfire ipfire/ backup /srv/chapman chapman/
/srv/backup/rsnapshot/
sichert, falls es keine leeren Verzeichnisse gibt, wäre:#!/bin/bash function prep { kvmclient=$1 partition=$2 lvcreate -s /dev/vgserver/${kvmclient} -L 200M -n ${kvmclient}-backup kpartx -a /dev/vgserver/${kvmclient}-backup mount /dev/mapper/vgserver-${kvmclient}--backup${partition} /srv/${kvmclient} } function pop { kvmclient=$1 umount /srv/${kvmclient} kpartx -d /dev/vgserver/${kvmclient}-backup lvremove -f /dev/vgserver/${kvmclient}-backup } function check { c=0 for i in "$@" ; do if [ -z "$(ls -A /srv/$i 2>/dev/null)" ]; then c=1 echo WARNING: Abbruch, weil /srv/$i leer erscheint fi done [ $c -eq 1 ] && return 1 || return 0 } prep ipfire 1 prep chapman 1 # check for empty dirs check ipfire chapman # backup using rsnapshot if [ $? -eq 0 ]; then rsnapshot daily fi # normalzustand herstellen pop chapman pop ipfire
++++
rootdelay=5
einfügen, siehe hier, oder /boot
als eigene Partition einfügen