This is Bavaria, Germany!
We are running lots of servers on Vmware ESX3. Backup is made for some of the servers only by snapshoting the directory with the files where the virtual servers live in.
Sometimes we need to restore files from such a virtual ESX vserver. We need to restore the whole machine into the free Vmware Server 1.0 We don't like to do this on our ESX machines (just to be sure...).
We are on the VMware ESX3 server, connected by ssh.
# this is where the Vmware ESX Vserver files live in:
/vmfs/volumes/filer_vmware/
./wendetest/
-rw-r--r-- vmware-17.log
-rw-r--r-- vmware-18.log
-rw-r--r-- vmware-19.log
-rw-r--r-- vmware-20.log
-rw-r--r-- vmware-21.log
-rw-r--r-- vmware-22.log
-rw-r--r-- vmware.log
-rw------- wendetest_1-flat.vmdk
-rw------- wendetest_1.vmdk
-rw------- wendetest-flat.vmdk
-rw------- wendetest.nvram
-rw------- wendetest.vmdk
-rw------- wendetest.vmsd
-rwxr-xr-x wendetest.vmx
-rw------- wendetest.vmxf
# directory where the export of esx3 -> server10
# shall happen, we can easily access this directory
# through a sambashare
./tmp/export/wendetest/
# snapshot of yesterday
/vmfs/volumes/filer_vmware/.snapshot/abend.00/
./wendetest
... same files but from yesterday
Attention! Read and understand this: if you are having snapshots made on your virtual Vmware-Server (you see files like xx-yyyyy-delta.vmdk) you can only restore the machine before alle snapshots. All differences are stored in the delta-files which I don't know how to bind into the vmdk-files you are generating for your Vmware Server 1.0! If you have vmware-snapshots you restore a machine which is very old!
We need to create Vmware Server 1.0 files from a yesterday snapshot of the ESX filer. The convert-utility is only available on a running ESX- Server.
$ ssh root@ddeck1 [root@ddeck1 yesterday]# pwd /vmfs/volumes/filer_vmware/tmp/export/wendetest [root@ddeck1 yesterday]# vmkfstools -i \ /vmfs/volumes/filer_vmware/.snapshot/abend.00/wendetest/wendetest.vmdk \ -d 2gbsparse \ ./wendetest.vmdk
This is the result:
[root@ddeck1 yesterday]# ls -lh total 1.4G -rw------- 1.4G Jan 31 07:41 wendetest-s001.vmdk -rw------- 3.1M Jan 31 07:41 wendetest-s002.vmdk -rw------- 64K Jan 31 07:41 wendetest-s003.vmdk -rw------- 434 Jan 31 07:41 wendetest.vmdk
The Vmware Server 1.0 is running on MS Windows machine here.
Copy the virtual harddisks to Vmware Server 1.0
c:\virtual machines>$ mkdir own_world c:\virtual machines>$ mkdir own_world\wendetest c:\virtual machines>$ cd own_world\wendetest c:\virtual machines>$ move \\filer\vmware\tmp\yesterday\*.vmdk .\
Copy the rest of the files which describe the virtual machine etc. th Vmware Server 1.0
$ cd c:\virtual machines\own_world\wendetest $ SET SRC=\\filer\vmware_snapshot\abend.00\wendetest $ copy %SRC%\*.nvram . $ copy %SRC%\*.vmsd . $ copy %SRC%\*.vmx . $ copy %SRC%\*.vmxf .
The file wendetest.vmx seems to describe the environment of the virtual servers. There are some lines which are made for a unix environment
Delete these lines if they exist:
floppy0.fileName = "/dev/fd0" ... ide0:0.fileName = "/usr/lib/vmware/isoimages/windows.iso"
I had to remove this lines, VMWare Server 1.0 seems to accept the "local" harddisk without these lines:
scsi0:1.present = "true" scsi0:1.deviceType = "disk" scsi0:1.filename = "/vmfs/volumes/1fb2b950-304ad728/wendetest/wendetest.vmdk" scsi0:1.mode = "persistent" scsi0:1.redo = ""
I had to remove this line for a harddisk which does not exist anymore:
scsi0:2.present = "false" scsi0:2.fileName = "/vmfs/volumes/1fb2b950-304ad728/mailand/mailand_1.vmdk" scsi0:2.deviceType = "scsi-hardDisk"
I had to remove this line:
sched.swap.derivedName = "/vmfs/volumes/1fb2b950-304ad728/wendetest/wendetest-6e940bfe.vswp"