Backup Exec: Snapshot provider error (0x8007000E): Ran out of mem


Sinds ik SP2 op de SQL server had geïnstalleerd, kreeg ik de onderstaande foutmelding in mijn Backup Exec log file.

Click an error below to locate it in the job log


Backup- SQL1 
AOFO: Initialization failure on:
\\SQL\Shadow?Copy?Components.
Advanced Open File Option used: Microsoft Volume Shadow Copy Service (VSS).

Snapshot provider error (0x8007000E): Ran out of memoryCheck the Windows Event Viewer for details.

Dit probleem kun je oplossen door de hotfix te bestellen die vermeldt word in het volgende KB document: KB940239

Symantec: Backup Exec and an error with Shadow Copy Components


De onderstaande foutmelding kreeg ik toen ik een SQL server wilde toevoegen in mijn backup list van Symantec Backup Exec 10d.

SQLServer_Shadow_copies_error

Meer informatie over deze foutmelding vind je hier: http://seer.entsupport.symantec.com/docs/291014.htm

 

Deze foutmelding kun je oplossen door de volgende dll opnieuw te registreren ole32.dll

Dit doe je als volgt: Start – Run – regsrv32 ole32.dll {Enter}

 

De oplossing kwam uit een post van Zhu [MSFT] welke je hier kunt vinden: http://forums.techarena.in/showthread.php?t=498777

Unattended: BackupExec 10d Remote Agent


In de map C:\Program Files\VERITAS\Backup Exec\NT\Agents\RANT32 op de Backup Exec server staan de benodigde installatie bestanden. Deze kopieer je naar je installatie directory.

In de installatie directory vindt je de onderstaande cmd files.

  • setupaa.cmd de standaard Remote Agent
  • setupafo.cmd de Remote Agent met de Advanced Open File Option

In het setupaa.cmd bestand vindt je het volgende commando: @start /wait setup /RANT32: -s

In het setupafo.cmd bestand vindt je het volgende commando: @start /wait setup /AOFO: -s

Zie deze technote 258982 voor meer informatie.

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

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.