UDA: How to Install VMBK.pl


prerequirements

Op de NFS Share maak je de volgende twee mappen aan: config en cron. In de config map plaats je de custom config file welke je al gemaakt had voor het gebruik van VMBK. Dit geld ook voor de cron map.

Mocht je voor het eerst bezig zijn met VMBK dan raad ik je aan de volgende post te lezen: vmbk backup with different session names.

vmbkwithuda

Nadat je de mappen hebt aangemaakt voeg je de vmbk3.0.0rev11.tar.gz en het script vmbkinstall.sh toe.

Scripts

%post script

Voordat je het script kunt uitvoeren moet de NFS share iso eerst gemound worden. Dit gaat met het volgende commando:

esxcfg-nas -a iso -o vcserver.domain.nl -s iso

Vervolgens dien je op de firewall van ESX port 25 te openen.

esxcfg-firewall -o 25,tcp,out,SMTP

Daarna wordt het onderstaande script uitgevoerd.

## Install VMBK on ESX3.0.1.
# This little script installs VMBK3.0.0. rev 11 within the %post script from UDA
cp /vmfs/volumes/iso/vmbk/vmbkinstall.sh /tmp
cd /tmp/
chmod 755 vmbkinstall.sh
touch vmbkinstall.sh
./vmbkinstall.sh

Waarna als laatste de vmbkinstall.sh wordt aangeroepen. Dit script installeerd en configureerd VMBK.

vmbkinstall.sh

## Install VMBK on ESX3.0.1.
# This little script installs VMBK3.0.0. rev 11 within the %post script from UDA

## Copy the tar file from nfs:iso to /tmp
cp /vmfs/volumes/iso/vmbk/vmbk3.0.0rev11.tar.gz /tmp
cd /tmp/
tar zxf vmbk3.0.0rev11.tar.gz
cd vmbk/

## Install VMBK
./install.sh

## Copy Config file
cp /vmfs/volumes/iso/vmbk/config/vmbk-all.conf /usr/local/bin

Cronjob

Voeg de onderstaande code toe aan je %post script

touch /tmp/vmbkcron.txt
chmod 755 /tmp/vmbkcron.txt

cat <<EOF > /tmp/vmbkcron.txt
30 20 * * 1 /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-all.conf > /dev/null 2>&1
30 20 * * 2 /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-all.conf > /dev/null 2>&1
30 20 * * 3 /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-all.conf > /dev/null 2>&1
30 20 * * 4 /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-all.conf > /dev/null 2>&1
30 20 * * 5 /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-all.conf > /dev/null 2>&1
30 20 * * 7 /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-all.conf > /dev/null 2>&1
EOF

crontab /tmp/vmbkcron.txt

Advertisement

VMWare: DiskLib_Open() failed


Toen ik een back-up gemaakt met vmbk.pl (zie de volgende posts: backup Restore) wilde gaan restoren, liep ik tegen de volgende foutmelding aan:

vmbkimporterror2

Hier is helaas geen oplossing voor dus heb ik een workarround bedacht.

Download Veeam FastSCP hier. Upload daarna het VMDK bestand naar het VMFS volume. Maak daarna een nieuwe VM aan en koppel de VMDK aan. Nu zou de VM weer moeten werken en de restore tijd is vele malen korter.

Vergeet na het aanmaken van de VM niet de netwerkkaart om te zetten naar VMXNET.

change_vmnic

VMware: Redo files (Snapshots) and Active Directory


Om even een punt aan te wakkeren met betrekking tot de discussie over het virtualizeren van een Domain Controller (vanaf nu DC red.) de volgende post. Redo files / Snapshots en DC’s. Toevallig had ik gisteren de nare ervaring van een redo file die afgelopen vrijdag gecommit werd met oude data. Je raad het al de desbetreffende DC was corrupt.

Even de voorgeschiedenis over hoe dit ontstaan is.

VMBK zoals het hoort

VMBK.pl word gestart. Deze maakt een redo file aan zodat er een hot backup plaats kan vinden.

vmbkredo.gif

Nadat de backup klaar is, wordt de redo file gecommit en worden alle wijzigingen die op het moment dat de redo file actief is, samengevoegd met de data op de vmdk. De data uit de redo file krijgt voorang op de data die al op de vmdk staat.

vmbkredo1.gif

Redo file als het mis gaat

In mijn geval was de vmbk.pl job blijven hangen. Door gebrek aan tijd kon ik de log files niet nakijken en kwam ik er pas afgelopen vrijdag achter. Nadat ik de ESX server (2.5.4 patch 4) opnieuw opgestart had ging de back-up job gewoon weer aan de slag die nacht. Maar wat er volgens mij gebeurd is nadat de backup klaar was, heeft vmbk de redo file gecommit die al meer dan week oud was. Balen want het was mijn eerste DC welke alle FSMO roles had etc.

Zoals je in het volgende plaatje ziet wordt de oude redo file gecommit.

vmbkredo2.gif

En het gevolg is dat de DC corrupt raakt.

vmbkredo3.gif

EventID’s op de DC

Hier vindt je een overzicht van alle evenID’s die optraden nadat de DC corrupt raakte.

dcaftercommit.gif

dcaftercommit1.gif

dcaftercommit2.gif

dcaftercommit3.gif

dcaftercommit4.gif

Hoe deze ellende weer herstellen

Volgens KB875495 is de enige oplossing na zo’n voorval als deze het “demoten” van de DC en het daarna weer opnieuw aanmaken van de AD.

FSMO roles verplaatsen

Voordat je dit gaat doen dien je de FSMO roles te verplaatsen (informatie over FSMO roles vindt je hier: http://www.petri.co.il/ en hier: KB197132). In KB324801 lees je hoe je na kunt gaan welke FSMO roles er actief zijn op de DC die verwijderd moet worden. Nadat je bent nagegaan welke FSMO roles er actief zijn dien je deze te verplaatsen. Hier http://www.windowsdevcenter.com/ vindt je meer informatie over het plaatsen van FSMO roles.

Het kan zijn dat de DC dermate beschadigd is, dat het verplaatsen niet meer mogelijk is. In dit geval moet je de FSMO roles “seizen”. Meer informatie over hoe dit in zijn werk gaat lees je hier: http://www.petri.co.il en KB255504.

DC demoten

Nadat je de FSMO roles hebt overgezet kun je de DC demoten. Dit kun je doen via start | Run | dcpromo {enter}.

In mijn geval lukt dit niet en moest ik het volgende commando gebruiken: start | Run | dcpromo /forceremoval {enter}. meer informatie over deze actie lees je in KB332199.

Mocht je gebruik moeten maken van de /forceremoval dan dien je nadat de DC gedemote is ook de oude data van de DC uit de werkende AD te halen. Hoe dit in zijn werk gaat kun je hier lezen: http://www.petri.co.il/

AD weer installeren

Nadat de AD geschoond is en de DC welke kapot was weer een stand alone server is, moet deze weer geconfigureerd worden als DC. Dit heb ik als volgt gedaan. De DC heb ik lid gemaakt van het domain. Daarna heb ik dcpromo (start | Run | dcpromo {enter}.) uitgevoerd en geconfigureerd als additionele domain controller.

Na dit alles kwam de replicatie weer op gang en werkte alles weer naar behoren.

VMBK: Backup with different session names


De VMBK backup duurt helaas iets te lang om elke dag een een full backup te maken. Nu heb ik voor gekozen om twee backup scenario’s te gaan gebruiken.

  1. Daily: de VM’s waar de data veel veranderd. Bijvoorbeeld DC’s, fileserver en mailserver
  2. Full: Alle VM’s. Deze job draait in het weekend. Dit zijn VM’s die vrij statisch zijn.

Dit kun je als volgt configureren. Maak twee vmbk-config.conf files aan (vmbk-daily.conf en vmbk-full.conf). Maak vervolgens een lijst van VM’s die met de daily backup meegenomen moeten worden. Pas het VMX bestand aan van de VM’s door BACKUP.SESSION=daily toe te voegen. Als laatste stap maak je de cronjob aan.

Deel van de vmbk-daily.conf file. Het enige wat je veranderd is de BackupSession value, zodat alleen de VM’s met BACKUP.SESSION=daily in het vmx bestand, worden meegenomen in de backup.

Daily

Configfile VMBK:


#Version 1.01.2
#set timeout
#Timeout=60000
Timeout=180000
#minimum space required for add RedoLOG
minspaceforRedo=1024
# backup esx host configuration
backupESX=true
BackupSession=”daily”
#directory where file
destination=/mnt/esxbackup/

Deel van de vmbk-full.conf file. Dit bestand is default gebleven met betrekken tot de BackupSession value.

Full

Configfile VMBK:


#Version 1.01.2
#set timeout
#Timeout=60000
Timeout=180000
#minimum space required for add RedoLOG
minspaceforRedo=1024
# backup esx host configuration
backupESX=true
BackupSession=”default”
#directory where file
destination=/mnt/esxbackup/

VMX bestand

Voor de dagelijkse backup voeg je de onderstaande regel toe aan het VMX bestand:
BACKUP.SESSION=daily

Cronjob

De volgende stappen moeten worden gedaan om de cronjob aan te maken.

Open /etc/cron.d/vmbk-cron.sh en voeg de onderstaande regels toe of pas deze aan naar jouw situatie.



#!/bin/bash
#copy on directory /etc/crond and configure /usr/local/etc/vmbk-default.conf
30 23 * * 1 root /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-daily.conf > /dev/null 2>&1
30 23 * * 2 root /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-daily.conf > /dev/null 2>&1
30 23 * * 3 root /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-daily.conf > /dev/null 2>&1
30 23 * * 4 root /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-daily.conf > /dev/null 2>&1
30 23 * * 5 root /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-daily.conf > /dev/null 2>&1
30 5 * * 0 root /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-full.conf > /dev/null 2>&1

30 23 * * 1 staat voor Maandag om 23:00 uur wordt de backup gestart.

Door de onderstaande commando’s uit te voeren wordt de cronjob geïnstalleerd:
cp /usr/local/bin/vmbk-cron.sh /etc/cron.d/vmbk-cron.sh

chmod 755 /etc/cron.d/vmbk-cron.sh
touch /etc/cron.d/vmbk-cron.sh

Met het volgende commando herstart je de cron service:
/sbin/service crond restart

Zie deze post over het aanpassen van vmx bestanden.

How to: Restore a backup with VMBK.pl


Login in als root op het Service Console van de ESX server waar je de backup op wilt restoren.

Vervolgens ga je een mount point maken naar de VMBK share:

ESX 2.5.x

# mkdir -p /mnt/esxbackup
# mount -t smbfs -o username=$user,password=$pass //$server/$share /mnt/esxbackup

ESX 3.0.x

# mkdir -p /mnt/esxbackup
# smbmount //$server/$share /mnt/esxbackup -o username=$domain\\$user,password=$password

Nadat je de mountpoint hebt gemaakt ga je naar de directory

# cd /mnt/esxbackup

en open je de map van de VM die je wilt restoren

# cd VMNAAM

In deze map vindt je de volgende bestanden

nvram.VMNAAM
VMNAAM.vmx
VMNAAM.vmdk
VMNAAM.restore
VMNAAM-s00x.vmdk

(Dit is een COW bestand. Een COW bestand wordt met de volgende formule gemaakt vmdk grootte / 2048MB heb je een VMDK van 10GB dan krijg je 5 COW files)

Om de restore job te starten voer je het volgende commando uit:
VMNAAM# ./VMNAAM.restore

De wizard start. Voer hier de juiste waarden in.

Enter directory where backup are present [/esxbackup/SE37BMC1]:
scsi0_0] Exported disk name (split disk) [VMNAAM.vmdk]:
scsi0_0] Imported disk name (monolithic) [VMNAAM.vmdk]:
scsi0_0] VMFS Volume where import disk [LUNNAAM]:
VMDK already exist do you want overwrite [NO]: yes
Do you want create a new guest configuration [YES]: no
(Wil je de VM op een andere ESX host restoren dan dien je hier YES te antwoorden zodat er een nieuw VMX bestand gemaakt word)
Do you want restore vmdk file [YES]: yes

Nadat je YES gevolgd door {enter} hebt gedaan begint het restore process

Importing disk…..
Importing disk /esxbackup/VMNAAM/VMNAAM.vmdk:
Import: 46% done.


Import: 100% done.
Importing disk terminated
VMX file already exist, do you want overwrite [NO]?
no
restore complete

Nadat het restore process klaar is kun je de VM weer gebruiken.

How to: VMware backup with VMBK.pl


In deze post lees je hoe eenvoudig het is om een backup te maken van een ESX 2.5.x omgeving d.m.v. van VMBK.pl. Het gratis te verkrijgen vmbk.pl is gemaakt door Massimiliano Daneri. Je kun het downloaden vanaf deze site: http://www.vmts.net.

Wat moet je doen voordat je daadwerkelijk een backup kunt maken.

  • Een Windows Account aanmaken t.b.v. de smb share voor het service console.
  • Een Windows share aanmaken t.b.v. de smb mountpoint voor het service console.
  • vmbk.tar.gz het installatie bestand voor vmbk.pl (download het bestand http://www.vmts.net).
  • Mountpoint op het Service Console van VMware ESX 2.5.X (dit heb je nodig als je een restore wilt gaan doen)
  • Genoeg vrije schijfruimte voor al je VM’s. Je hebt evenveel vrije schijfruimte nodig voor de backup als de hoeveelheid schijfruimte er in gebruik is door de VM’s.

Nu we duidelijke hebben wat je nodig hebt lijkt het me handig om eerst uit te leggen hoe het vmbk.pl proces in z’n werk gaat. Dit doen we met behulp van het onderstaande tekening:

howvmbkworks.gif

  1. Het script wordt gestart op de ESX 2.5.x host. vervolgens wordt er verbinding gemaakt met de smb share op Windows. Zodra er verbinding is met smb share, word er een hot backup gemaakt van alle online VM’s op de ESX host.
  2. In mijn geval staat de vmbk share op een externe hardeschijf. Deze wordt gewisseld zodra de backup klaar is.
  3. Optioneel kun je de backup wegschrijven naar tape.

Nu je weet hoe het proces in zijn werk gaat, is het nu tijd om alles te gaan configureren.

Dit moet er gebeuren:

  • Een Windows account aanmaken.
  • Een Windows share aanmaken.
  • vmbk.tar.gz uploaden naar de ESX host d.m.v. WinSCP
  • vmbk.pl uitpakken en installeren
  • vmbk.pl configuratie bestand aanpassen
  • SMB mountpoint aanmaken
  • Cronjob aanmaken (scheduled task)

Maak als eerste een Windows account aan in de Active Directory. In het voorbeeld maak ik SA_VMBK aan.

savmbk1.gif

Maak een share aan op een schijf of partitie die voldoende vrije schijfruimte heeft voor het maken van de back-up. Op de share geef je SA_VMBK en de Domain Admins Full Controll. Doe dit ook op NTFS niveau. Voeg eventueel het back-up account toe als je de vmbk map wilt wegschrijven naar tape.

savmbk2.gif

Download nu vmbk.pl: www.vmts.net

Upload vmbk.tar.gz naar de /tmp op de ESX host. Dit kun je doen m.b.v. WinSCP

te gebruiken.

winscpvmbk.gif

Het Windows gedeelte is klaar. Log nu in op het Service Console en ga naar de /tmp folder
# cd /tmp

Pak het vmbk.tar.gz bestand uit
# tar -zxf vmbk.tar.gz

Start de installatie
# cd vmbk
# sh install.sh of ./install.sh

Nadat de installatie klaar is moet het standaard configuratie bestand aangepast worden. Voordat je hiermee begint maak eerst een mountpoint aan mocht je gebruik gaan maken van SMB of NFS. Dit doe je met het volgende commando:
# mkdir -p /mnt/vmbk

Open vervolgens het configuratie bestand:
# nano /usr/local/bin/vmbk-default.conf

Pas nu de volgende opties aan:

# back-up esx host configuration
back-upESX=true

back-upSession=”default”
#directory where file
destination=/vmbk/

Configureer de e-mail instellingen als je de logfiles per e-mail wilt ontvangen.

# true or false
email=false
smtpserver=smtp
to=support@vmts.net
from=esx@vmts.net
encode=base64
html=true

Mocht je gebruik willen maken van een NFS share als opslagplaats voor de back-up, configureer dan de volgende opties:

# Mount a nfs volume
nfs=false
nfsmount=host:/vol
nfsmountpoint=/vmbk
nfsoptions=”soft”

Mocht je gebruik willen maken van een SMB share als opslagplaats voor de back-up, configureer dan de volgende opties:

# mount a samba volume
smb=false
smbserver=//smbserver/share
smbuser=domain\\user
smbpasswd=password
smbmountpoint=/vmbk
#smboptions=%none%

Je kunt ook gebruik maken van third-party back-up agents:

netback-uppolicy=”vmware”
netback-upclientname=%hostname%
netback-uplog=”/var/log/vmbk_netback-up.log”
netback-upprepost=false
netback-upmaster=”masterserver”

#Networker Legato Options
networker=false
networkerserver=”server”
networkergroup=”vmware”
networkerclientname=%hostname%
networkerlog=”/var/log/vmbk_networker.log”
networkerpool=”pool”

#tivoli options
tsm=false

Nadat je het configuratie bestand hebt aangepast kun je een test back-up uitvoeren. Dit doe je met het volgende commando:
# /usr/local/bin/vmbk.pl -C /usr/local/bin/vmbk-default.conf

Als de test back-up is gelukt, kun je er voor kiezen om een cronjob toe te voegen (klik hier voor meer informatie):
# nano /usr/local/bin/vmbk-cron.sh

#!/bin/bash
#copy on directory /etc/crond and configure /usr/local/bin/vmbk-default.conf
1 2 * * * root /usr/local/bin/vmbk.pl -C /usr/local/etc/vmbk-default.conf > /dev/null 2>&1

# cp /usr/local/bin/vmbk-cron.sh /etc/cron.d/vmbk-cron.sh
# chmod 755 /etc/cron.d/vmbk-cron.sh
# touch /etc/cron.d/vmbk-cron.sh

Verder kun je nog wat parameters meegeven in VMX bestanden van de VM’s die wilt gaan back-uppen (klik hier voor meer informatie).

SQL 2005 support in Symantec BackupExec 10d


backupexec.gif

Om een backup van de database te maken moest ik de nieuwe database toevoegen aan de backupjob van Symantec BackupExec. Dus ik open BackupExec bak de desbetreffende backupjob erbij en wil de nieuwe database toevoegen…… Pling Error.

Na wat zoekwerk op de Symantec site kwam ik erachter dat Hotfix6 van BackupExec support van SQL 2005 toevoegde aan BackupExec. Na wat verder door lezen kwam ik er ook achter dat deze hotfix in SP1 verwerkt zit.

Hotfix6:
be5629RHF6_280204.exe

SP1:
be5629RSP1_282818.exe