Using Windows Services for Unix NFS Sever to backup VMWare ESXi
Virtual Machines
The main steps in this process are:
1. Installing Windows Services for UNIX (WSFU)
2. Copying the ESXi Server password and group files to Windows
3. Configuring WSFU for accepting ESX Server connections
4. Sharing the Windows folder for NFS compatibility
5. Configuring the ESXi Server to mount the Window NFS Share as Datastore.
6. Setup Backup Script
1. Installing Windows Services for UNIX (WSFU)
Download windows services for UNIX at:
http://www.microsoft.com/windowsserversystem/sfu/downloads/default.mspx
Install WSFU on the desired machine
Add in the following options
o NFS + Server for NFS
o Authentication tools for NFS + user name mapping
After installation, open services control panel applet and change the service ‘User Name
Mapping’ to startup automatically and then start the service
Windows XP Firewall Enable the following ports:
o Portmapper TCP, UDP 111
o Status TCP, UDP 1039
o Nlockmgr TCP, UDP 1047
o Mountd TCP, UDP 1048
o NFS server TCP, UDP 2049
2. Copy the ESX Server password and group files to Windows
Enable ssh on ESXi –
o Go to the ESXi console and press alt+F1
o Type: unsupported
o Enter the root password
o At the prompt type “vi /etc/inetd.conf”
o Look for the line that starts with “#ssh” (you can search with pressing “/”)
o Remove the “#” (press the “x” if the cursor is on the character)
o Save “/etc/inetd.conf” by typing “:wq!”
o At the prompt type “kill -HUP `ps | grep inetd`”
o Restart the management service “/sbin/services.sh restart”
o (optional: Restart ESXi Server)
o Nice tutorial - http://www.vm-aware.com/2008/07/17/enable-ssh-for-esxi/
Use a program like WinSCP or similar process to copy the following files to your local system
where WSFU is installed
o You can get WinSCP from the fowling location.
o http://winscp.net/eng/download.php#download2
Transfer the file /ect/password and the file /ect/group to C:\SFU or to the location where you
installed WSFU
3. Configure WSFU to accepting ESX Server connections
Click Start, Programs, Windows Services for UNIX, Services for UNIX Administration
Go to user name mappings then configuration
Click password and group files
Then browse for the password and group files that you copied, from the browse dialog box for
both the password and group fields
Click apply
Then go to maps
Click show maps
List windows users and list Unix users
Then select a local administrator user on the left that will be mapped to the root account and
the root user on the right.
Click the add button (should now be in the list)
Then click apply (upper right)
My path is \\myserver.mydomain.int\NFS-VMFS01 for the windows share and NFS share on the
windows host with WSU installed.
4. Sharing the Windows folder for NFS compatibility
Right click the local folder you wish to share via NFS
Share the folder by clicking NFS sharing
Type in the name for the share i.e. NFS-VMFS01
Remove allow anonymous access
Click permissions
Now Change type of access to “Read+Write” then check allow root access.
5. Configure the ESX Server to mount the Window NFS Share as VMFS
Open the VC client and highlight the Vi3 host
In the Configure tab choose Networking
Check to see if there exist a VMKernel (should be as the management by default)
o IF NOT Add networking, VMKernel then pick a vSwitch, then give the VMkernel an IP
that is accessible via the NFS host.
Now open the storage option for this host
Click add storage, > Network File System
In the Server Field enter in myserver.mydomain.int
In the Folder field enter /NFS-VMFS01
For the Datastore I also used NFS-VMFS01
6. Setup Backup Script
On the WSFU Machine
Install VMware Infrastructure Remote Command Line (RCLI)
o http://www.vmware.com/download/vi/drivers_tools.html
Copy the plink.exe to the bin dir of RCL
o Download plink.exe -
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
o Or copy from PuTTy directory
Configure the following script to match your information
o Note this assumes that your vm files have the same name as the directory
@echo off
SET ESXHOST=
SET USER=
SET PASS=
SET DATASTOREPATH=/vmfs/volumes/%ESXHOST%2LD1
SET SNAPSHOTPATH=/vmfs/volumes/Snapshots
c:
cd "c:\program files\vmware\vmware vi remote cli\bin"
if "%3" == "" (
echo.
echo Missing parameters (hostname username password)
echo.
goto end
SET ESXHOST=%1
SET USER=%2
SET PASS=%3
)
echo.
echo ESX: %1 (%TIME%)
echo.
FOR /F %%A IN ('plink %USER%@%ESXHOST% -pw %PASS% ls %DATASTOREPATH%/') do call
:SNAPSHOT %%A
goto end
:SNAPSHOT
if "%1" == "ISO" goto end
echo.
echo VM: %1 (%TIME%)
echo Create VM Snapshot directory
plink %USER%@%ESXHOST% -pw %PASS% mkdir %SNAPSHOTPATH%/%1
echo.
echo Copy VMX file
plink %USER%@%ESXHOST% -pw %PASS% cp %DATASTOREPATH%/%1/%1.vmx
%SNAPSHOTPATH%/%1
echo.
echo Remove existing Snapshots
plink %USER%@%ESXHOST% -pw %PASS% rm %SNAPSHOTPATH%/%1/%1.vmdk
plink %USER%@%ESXHOST% -pw %PASS% rm %SNAPSHOTPATH%/%1/%1_1.vmdk
REM echo.
REM echo Stop VM %1
REM vmware-cmd.pl -H %ESXHOST% -U %USER% -P %PASS% %DATASTOREPATH%/%1/%1.vmx
stop soft
echo.
echo Take snapshot of %1
vmware-cmd.pl -H %ESXHOST% -U %USER% -P %PASS% %DATASTOREPATH%/%1/%1.vmx
createsnapshot "SS1" "Nightly Snapshot" 1 1
REM echo.
REM echo Startup %1
REM vmware-cmd.pl -H %ESXHOST% -U %USER% -P %PASS% %DATASTOREPATH%/%1/%1.vmx
start soft
echo.
echo Copy VM disk %1-flat.vmdk
vmkfstools.pl --server %ESXHOST% --username %USER% --password %PASS% -a lsilogic -d thin -i
%DATASTOREPATH%/%1/%1.vmdk %SNAPSHOTPATH%/%1/%1.vmdk
vmkfstools.pl --server %ESXHOST% --username %USER% --password %PASS% -a lsilogic -d thin -i
%DATASTOREPATH%/%1/%1_1.vmdk %SNAPSHOTPATH%/%1/%1_1.vmdk
echo.
echo remove snapshot
vmware-cmd.pl -H %ESXHOST% -U %USER% -P %PASS% %DATASTOREPATH%/%1/%1.vmx
removesnapshots
echo.
:end
Sources:
http://vmblog.com/archive/2007/01/23/using-windows-based-nfs-in-vi3.aspx by Jason Mattox from
Vizioncore (direct copy of his work, I just added more information to make it work in Windows XP)
http://support.microsoft.com/kb/891760 (NFS Server port information)
http://communities.vmware.com/thread/162418?tstart=0 by robink (The backup script)
http://www.yellow-bricks.com/2008/08/10/howto-esxi-and-ssh/ (ssh on ESXi)
Home / Linux / Virtual system / VMware / Using Windows Services for Unix NFS Sever to backup VMWare ESXi Virtual Machines
Subscribe to:
Post Comments (Atom)
Post a Comment
Post a Comment