User Tools

Site Tools


virtualisierung:vmware:esx:ghetto_vcb

Ghetto VCB Backup - Backup von VM's auf ESX Ebene

1.) SSH auf dem ESX aktivieren

Dies kann man ganz einfach in dem VCenter des ESX machen


2.) Ghetto VCB auf ESX kopieren/installieren

mkdir /ghettovcb

Files per SCP hin kopieren Die Files bekommt man hier: https://github.com/lamw/ghettoVCB/tarball/master


3.) Editieren der Config

Die Config ist selbsterklärend

Zwei Tips:

  • Compression bring nichts
  • Für den Mail-Versand muss man die Firewall noch bearbeiten

4.) Firewall Regel auf dem ESX anlegen für den Mail-Versand

Das Firewall-Files MUSS kopiert werden um es zu editieren

cd /etc/vmware/firewall
cp service.xml service.xml_rw
chmod u+w service.xml_rw
vi service.xml_rw

Ganz unten in der Config dies einfügen. Es ist auch recht Selbsterklärend Wichtig ist nur das die “service id” nicht schon vorhanden ist.

        <service id="0033">
                <id>Mail</id>
                <rule id='0000'>
                        <direction>outbound</direction>
                        <protocol>tcp</protocol>
                        <porttype>dst</porttype>
                        <port>25</port>
                </rule>
                <enabled>true</enabled>
                <required>false</required>
        </service>

cp service.xml_rw service.xml
chmod a-w service.xml
rm -f service.xml_rw
esxcli network firewall refresh
esxcli network firewall ruleset list

Danach kann man die Regel auch im VCenter sehen nach einem Refresh der Liste im VCenter.


5.) Das Backup selbst

Man kann alle VM's auf dem ESX-Host Backupen oder man nimmt nur spezielle VM's ins Backup auf.

Backup von allen VM's

/ghettovcb/ghettoVCB.sh -g /ghettovcb/ghettoVCB.conf -a

Backup von speziellen VM's

vi /ghettovcb/backup_vm_list.conf

Die VM's die man ins Backup aufnehmen möchte mit dem genauen Namen im VCenter untereinander in das File schreiben und speichern.

/ghettovcb/ghettoVCB.sh -g /ghettovcb/ghettoVCB.conf -f backup_vm_list.conf

6.) Cron-Job einrichten - nicht persistent

Man muss aufpassen ob die Zeit am ESX richtig gesetzt ist. Am bessten man kontrolliert dies mit “date”

cd /var/spool/cron/crontabs
cp root root_rw
chmod u+w root_rw
vi root_rw

Editieren wie eine normaler Crontab

cp root_rw root
chmod u-w root
rm -f root_rw

Crontab neu starten

< ESXi 3.5u3

kill $(ps | grep crond | cut -f 1 -d ' ')
= ESXi 3.5u3
kill $(pidof crond)
crond

ESXi 4.x und 5.x

kill $(cat /var/run/crond.pid)
/usr/lib/vmware/busybox/bin/busybox crond

7. Cronjob persistent machen

vi /etc/rc.local.d/local.sh
# Write Cron after reboot
/bin/echo "0 2 * * * /vmfs/volumes/datastore1/BACKUP/scripts/ghettoVCB.sh -g /vmfs/volumes/datastore1/BACKUP/scripts/ghettoVCB.conf -f /vmfs/volumes/datastore1/BACKUP/scripts/backup_vm_list.conf" >> /var/spool/cron/crontabs/root

# Restart Cron after new Cronjob
/usr/lib/vmware/busybox/bin/busybox crond
virtualisierung/vmware/esx/ghetto_vcb.txt · Last modified: by stone