Automating VMWare ESXi snapshots through Scheduled Tasks

July 7th, 2009

Earlier I wrote about Creating ESXi snapshot backups with ghettoVCB.sh. Now, the next logical step is to be able to automate these snapshots so you don’t need to ssh to the ESXi host and run the script manually and wait for the result.

We can use plink, and Windows Scheduled tasks to achieve this result.

In order to use Plink, the file plink.exe will need either to be on your PATH or in your current directory. To add the directory containing Plink to your PATH environment variable.

Start -> Control Panel -> System -> Advanced -> Environmental Settings -> System Variables -> Path -> Edit, and enter the path for your plink.exe file.

OK, so once plink is setup correctly, you can use the following command to connect to your ESXi host, and set your script running with the appropriate ‘vmbackups’ file for the relevant machine.

E:\backup\putty\plink.exe [email protected] -pw passsword “nohup /vmfs/volumes/datastore1/scripts/ghettoVCB.sh /vmfs/volumes/datastore1/scripts/vmbackupsbuilder > /vmfs/volumes/datastore1/scripts/backuplog.txt &”

Picking the above command apart:

1. E:\backup\putty\plink.exe (the path to plink.exe)

2. [email protected] -pw passsword (the username, IP address and password of your ESXi Host)

3. “nohup /vmfs/volumes/datastore1/scripts/ghettoVCB.sh /vmfs/volumes/datastore1/scripts/vmbackupsbuilder > /vmfs/volumes/datastore1/scripts/backuplog.txt &” (this is the path to your ghettoVCB.sh file, the path to your vmbackups file, and a command to log the output

We also run this as a ‘nohup’ command so that the snapshot can continue without anyone being continuously logged into the host.

You probably want to run this without the nohup as a first test, to make sure everything is working OK.

Once you’re happy with the command and it runs successfully for you, you can simply add this command to a .bat file, and then use the standard Windows Task Manager to schedule it to run as frequently as you wish.

Creating NFS share on Windows Server 2003…

July 2nd, 2009

In this post, I’ll talk through how to create an NFS Share in Windows 2003, I’ll then follow it up with a quick post about how to connect to this NFS Share from within your ESXi host.

This post is largely similar to The musings of an IT Consultant: backups VMware ESXi blog, Raj also has a blog called The World Runs on Technology – both of which are excellent – you should check them out.

Stage 4 – setting up NFS Share on Windows Server 2003.

1. Using your FTP client, grab a copy of the following two files from your ESXi host and put them somewhere safe:

/ etc /passwd
/ etc /group

2. Now, download Windows Services for Unix 3.5 from here, and install onto your Windows 2003 server, requires reboot.

3. During install ensure you select the Server for NFS and User Mapping components during the install.

4. In the user mapping section, choose Local User Name Mapping Server and choose Password and Group files

5. In the user name mapping screen, select the passwd and group files that you ftp’s earlier.

6. Reboot your 2003 server and then launch into the MMC (Start -> Run -> MMC)

7. You now need to add the Services for Unix snap-in.  (File -> Add/Remove Snap In -> Add)

Windows Services for Unix Snap In

8. Now, chose User Name Mapping on the left hand side, then select the MAPS section in the right hand side

9. Make sure ‘simple maps’ is checked and then click on show user maps – then list both the Windows and Unix users.

10. Your best option here is to Map your Administrator account to the unix root user – then Apply your settings. You’re done.

Now, on your 2003 machine, create a new folder called, ‘Backup’ for example. Right click on this folder and chose properties. You’ll notice that you have a new tab – called ‘NFS Sharing’. In this tab we can set the share name as Backup. In the permissions section, allow root ‘read-write’ access.

That’s it for setting up the share, you now have a storage area in windows that your ESXi can communicate with. All that’s left, is to point your ESXi host at the new share. So, from the VMWare Infrastructure Client – Go to the ‘Configuration’ tab and then chose ‘Storage’ and then ‘Add Storage’ (which is on the far right)

Here, simply enter the details of the NFS Share you just created and the Share Name etc, like so:

ESXi NFS Share screenshot

Ok, you’re done. In the next post, I’ll be showing you how to automate ESXi snapshot backups through a combination of Scheduled Tasks, ghettoVCB.sh and plink.