« NetApp to acquire Onaro | Main | Citrix XenServer 4.1 Storage Delivery Services »

January 11, 2008

Comments

Hi Steven,

I remember you. When I posted the process on storagefoo I wasn't using LVM on my linux box. So to be honest with you I don't know whether it'd work of not with LVM.

If you're looking to restore Files within a vmdk from a Snapshot and you are using NFS as the protocol, then you may want to take a look at UFS Explorer. It supports a whole bunch of filesystems (ntfs/ntfs5/ufs/ufs2/ext2/ext3/reiserFS/XFS/fat16/fat32). Since it runs on windows, you'll need to create a FlexClone from an existing snapshot and share it to a windows host. Then use UFS explorer and pick the source vmdk and you'll be able to see and extract files which you then can copy to your target VM using cp or scp.

There's a trial version you can download with a restore limit of 64k.

http://www.ufsexplorer.com/

http://www.filetransit.com/screenshot.php?id=32497

Hey Nick,
I used the software, it worked good for non-LVM VMs, but i eneded up after a few days figuring it out myself...here are the steps if your VM has logical volumes...

-----------------------
create NetApp flexclone from snapshot:
-----------------------
1. vol clone create /vol/vmnfsXXXbk -s none -b parent_volume_name snapshot_name
(parent_volume_name = vmnfsXXX in our environment)
2. vol options clone_name nosnap on
3. snap sched clone_name 0 0 0

-----------------------
Run on linux VM:
-----------------------
1. mount your NFS snapshot flex clone in linux:
mount SAN_IP_ADDRESS:/vol/vmnfsXXXbk /mnt/vmnfs
2. losetup /dev/loop0 /mnt/vmnfs/SERVER_NAME/SERVER_NAME-flat.vmdk
(replace SERVER_NAME with actual VMware server path)
Example: losetup /dev/loop0 /mnt/vmnfs/WEB1/WEB1-flat.vmdk
3. kpartx -av /dev/loop0
4. vgscan
this will return something like:
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
5. vgchange -ay VolGroup00
This will return something like:
2 logical volume(s) in volume group "VolGroup00" now active
6. lvs
This will return something like:
LogVol00 VolGroup00 -wi-a- 5.06G
LogVol01 VolGroup00 -wi-a- 30.00G
7. mount /dev/VolGroup00/LogVol00 /mnt/vm

Thats it...

--------------------------------------
Unmount the vmdk:
--------------------------------------
1. umount /mnt/vm
2. vgchange -an VolGroup00
3. kpartx -d /dev/loop0
4. losetup -d /dev/loop0

Hi Nick,

Just curious if you could direct me to a best practices with Netapp and VMware ESX using NFS.

Additionally, setting up VM on a netapp using NFS, is it better to use one export or have multiple exports for each VM? What are the advantages of either way?

thanks

Roberto,

Best practices for all protocols are described on TR3428

http://www.netapp.com/us/library/technical-reports/tr-3428.html

we do not recommend having multiple exports for the same underline NFS volume, with a different Datastore label, using IP aliases, all of which, are use to mount the volume on the same physical host.

While this can be done in order to leverage IP load balancing and utilize multiple host NICs, from a management standpoind you need to start keeping track which VMs reside on which datastore. Although the datastores will have different labels, the underline NFS volume is the same and you will be able to see all of the VMs.

In a large environment keeping track which VM is started in which datastore can be a difficult task and is prone to errors.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

© NetApp, Inc.  |  "Safe Harbor" Statement  |  Privacy Policy