Clonzilla PXE Server

Du möchtest dich gerne für unsere Hilfe erkenntlich zeigen 8-o. Gerne. Wir bedanken uns bei dir für deine Spende! LOL


Hauseigenes Apt-Repo: https://apt.iteas.at
GITLAB Enterprise:

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, 22.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

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.

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"

Sollte in der Ausgabe des verschlüsselten Passwortes ein $Zeichen vorhanden sein, muss bei Grub dieses Zeichen durch einfache Anführungszeichen escaped werden. Beispiel:

usercrypted='$fdskjf32478asodfADFewer.e423s'

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