Clonzilla PXE Server

Clonezilla ist mächter als man meinen würde. Ich möchte euch hier mal kurz zeigen wie man seinen eigenen Clonezilla PXE-Server baut.

Verwendetes System: Ubuntu 16.04

Voraussetzungen:

  • Fertig installierter Ubuntu Server
  • Clonezilla ISO herunter geladen (niemals die Debianversion verwenden, da gibt es so gut wie keine Treiber)
  • Funktionierender DHCP Server

Für den Betrieb benötigen wir nen NFS und nen TFTP-Server. Über die Konfiguration eines DHCPservers wird hier nicht eingegangen.

apt install tftpd-hpa nfs-kernel-server

Den TFT konfigurieren wir auf /home/tftpboot. Die schreibgeschützte Freigabe für die Clonezilladaten auf /home/nfsroot/clonezilla_ubuntu und das Backup selbst beschreibbar auf /home/partimag. Die Dinge kann natürlich nach belieben aufteilen.

mkdir -p /home/tftpboot/clonezilla_ubuntu
mkdir -p /home/nfsroot/clonezilla_ubuntu
mkdir /home/tftpboot/pxelinux.cfg
mkdir /home/partimag
mkdir /exports

cat /etc/exports

/export *(acl,async,no_subtree_check,fsid=0,rw) /home/nfsroot *(ro,no_root_squash,async,no_subtree_check) /home/partimag *(sync,no_subtree_check,no_root_squash,rw) </code>

systemctl restart nfs-kernel-server.service

Daten für den Boot bereitstellen

ISO Downloaden und mounten. Daten verteilen.

mount /home/Downloads/clonezilla-live-20170626-zesty-amd64.iso /mnt/loop
cp -a /mnt/loop/* /home/nfsroot/clonezilla_ubuntu/.
cp /home/nfsroot/clonezilla_ubuntu/live/filesystem.squashfs /home/tftpboot/clonezilla_ubuntu/.
cp /home/nfsroot/clonezilla_ubuntu/live/vmlinuz /home/tftpboot/clonezilla_ubuntu/.
umount /mnt/loop

Nun noch das Menü erstellen. In den Ordner tftpboot müssen die Dateien „vesamenu.c32 und pxelinux.0“ kopiert werden. Wer diese nicht hat, ich habe sie hier angehängt. tftpboot.zip

nano /home/tftpboot/pxelinux.cfg/default
default
DEFAULT vesamenu.c32
ALLOWOPTIONS 0
PROMPT 0
TIMEOUT 50
MENU TITLE PXE Systeme Supertux
menu background tux.png
LABEL   lokal_System
MENU LABEL      ^Starte von lokalem Medium (Festplatte, USB, DVD)
TEXT HELP
      Startet lokal nach BIOS Einstellungen
ENDTEXT
                localboot 0x80
 
MENU SEPARATOR
 
LABEL backup
        MENU LABEL Backupsysteme
        TEXT HELP
                z.b. Clonezilla Images
        ENDTEXT
        KERNEL vesamenu.c32
        APPEND pxelinux.cfg/backup

Nun noch das Untermenü.

nano /home/tftpboot/pxelinux.cfg/backup
backup
MENU TITLE Daten sichern/backup
 
 
LABEL Main Menu
        MENU LABEL Main Menu
        KERNEL vesamenu.c32
        APPEND pxelinux.cfg/default
menu background grey.png
 
MENU SEPARATOR
 
LABEL      clonezilla_ubuntu
MENU LABEL ^Clonezilla: Backup/Recovery (interaktiv)
TEXT HELP
     Daten werden auf dem Backupserver abgelegt.
ENDTEXT
KERNEL     clonezilla_ubuntu/vmlinuz
APPEND     initrd=clonezilla_ubuntu/initrd.img boot=live username=user config components edd=on nomodeset nodmraid ocs_prerun="mount 192.168.1.2:/v-machines/partimag /home/partimag" ocs_live_run="screen ocs-live-general" ocs_live_extra_param="" ocs_live_batch="no" union=overlay noswap noprompt vga=788 fetch=tftp://192.168.1.2/clonezilla_ubuntu/filesystem.squashfs ocs_daemonon="ssh" nfsroot=192.168.1.2:/home/nfsroot/clonezilla_ubuntu keyboard-layouts=de locales=de_DE.UTF-8

Ab jetzt kann man bequem per PXE seine Images sichern und recovern.

Auch ist es sehr hilfreich wenn man sich in die PXEsession verbinden kann. In der Config ist das natürlich schon aufgedreht. Dies ist bei den automatischen Backups und Recoverys sehr wichtig. So kann man mitschauen und eingreifen.

Zu der Funktion: Hierbei wird lediglich ein Screen aktiviert. Diesen kann man dann z.B. mit:

sudo -i
screen -ls
screen -rx tty1.debian

beitreten. Der Screen wird aktiv sobald der Client per PXE fertig gebootet hat.

Passwort setzen

echo 12345678 | mkpasswd -s
9ybt7XC4Q/JZo

Das ganze nun die Line eintragen. Hier ein Beispiel:

append initrd=initrd1.img boot=live union=aufs noswap noprompt vga=788 fetch=tftp://192.168.120.254/filesystem.squashfs usercrypted=9ybt7XC4Q/JZo ocs_numlk="on" ocs_daemonon="ssh"

Bei jeder Clonezillaconfig die man per Livedisk generiert sieht man am Schluss die Befehle, diese kann man dann nach belieben zusammenstöbseln.

beispiele.conf
LABEL      clonezilla_vdrtux_sichern
MENU LABEL ^clonzilla: vdrtux sichern
TEXT HELP
     Daten werden auf dem Backupserver abgelegt.
ENDTEXT
KERNEL     clonezilla_ubuntu/vmlinuz
APPEND     initrd=clonezilla_ubuntu/initrd.img boot=live username=user config components edd=on nomodeset nodmraid ocs_prerun="mount backup.osit.cc:/v-machines/partimag /home/partimag" ocs_live_run="screen ocs-sr -q2 --batch -j2 -z1p -i 4096 -fsck-src-part-y -p poweroff savedisk vdrtux-img sda" ocs_live_extra_param="" ocs_live_batch="no" union=overlay noswap noprompt vga=788 fetch=tftp://192.168.3.201/clonezilla_ubuntu/filesystem.squashfs ocs_daemonon="ssh" nfsroot=192.168.3.220:/home/nfsroot/clonezilla_ubuntu keyboard-layouts=de locales=de_DE.UTF-8
 
 
 
LABEL      clonezilla_ubuntu_recover_hdd
MENU LABEL ^Clonezilla - Gesamte Festplatte recovern
TEXT HELP
     Spielt ein ausgewaehltes Festplattenimage zurueck
     auf den Zieldatentraeger.
ENDTEXT
KERNEL     clonezilla_ubuntu/vmlinuz
APPEND     initrd=clonezilla_ubuntu/initrd.img boot=live username=user config components edd=on nomodeset nodmraid noprompt ocs_prerun="mount backup.osit.cc:/v-machines/partimag /home/partimag" ocs_live_run="screen ocs-sr -g auto -e1 auto -e2 -c -r -j2 -k -p reboot restoredisk ask_user" ocs_live_extra_param="" ocs_live_batch="no" union=overlay noswap noprompt vga=788 fetch=tftp://192.168.3.201/clonezilla_ubuntu/filesystem.squashfs ocs_daemonon="ssh" nfsroot=192.168.3.220:/home/nfsroot/clonezilla_ubuntu keyboard-layouts=de locales=de_DE.UTF-8
 
 
 
LABEL      clonezilla_ubuntu_recover_partition
MENU LABEL ^Clonezilla - Eine Partion recovern
TEXT HELP
     Spielt ein ausgewaehltes Partitionsimage zurueck
     auf den Zieldatentraeger.
ENDTEXT
KERNEL     clonezilla_ubuntu/vmlinuz
APPEND     initrd=clonezilla_ubuntu/initrd.img boot=live username=user config components edd=on nomodeset nodmraid noprompt ocs_prerun="mount backup.osit.cc:/v-machines/partimag /home/partimag" ocs_live_run="screen ocs-sr -g auto -e1 auto -e2 -c -r -j2 -k -p reboot restoreparts ask_user" ocs_live_extra_param="" ocs_live_batch="no" union=overlay noswap noprompt vga=788 fetch=tftp://192.168.3.201/clonezilla_ubuntu/filesystem.squashfs ocs_daemonon="ssh" nfsroot=192.168.3.220:/home/nfsroot/clonezilla_ubuntu keyboard-layouts=de locales=de_DE.UTF-8
Melde dich an um einen Kommentar zu erstellen.