Vmware Disk Mount User'S Guide: Virtual Disk Development Kit

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

VMware Disk Mount User’s Guide

Virtual Disk Development Kit


VMware Disk Mount User’s Guide

VMware Disk Mount User’s Guide


Item: EN-000055-01

You can find the most up-to-date technical documentation on the VMware Web site at:
http://www.vmware.com/support/
The VMware Web site also provides the latest product updates.
If you have comments about this documentation, submit your feedback to:
[email protected] 

© 2008 VMware, Inc. All rights reserved. Protected by one or more U.S. Patent Nos. 6,397,242, 6,496,847, 6,704,925, 6,711,672,
6,725,289, 6,735,601, 6,785,886, 6,789,156, 6,795,966, 6,880,022, 6,944,699, 6,961,806, 6,961,941, 7,069,413, 7,082,598,
7,089,377, 7,111,086, 7,111,145, 7,117,481, 7,149,843, 7,155,558, 7,222,221, 7,260,815, 7,260,820, 7,269,683, 7,275,136,
7,277,998, 7,277,999, 7,278,030, 7,281,102, 7,290,253, 7,356,679, 7,409,487, 7,412,492, 7,412,702, 7,424,710, and 7,428,636;
patents pending.
VMware, the VMware “boxes” logo and design, Virtual SMP, and VMotion are registered trademarks or trademarks of
VMware, Inc. in the United States and/or other jurisdictions. All other marks and names mentioned herein may be trademarks
of their respective companies.

VMware, Inc.
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com

2 VMware, Inc.
Contents

About This Book 5

Using VMware Disk Mount 7
Limitations on Mounting Virtual Disks 7
Running VMware Disk Mount on a Windows Host 8
Log Files 8
Examples Using VMware Disk Mount on a Windows Host 9
Running VMware Disk Mount on a Linux Host 10
Log File 10
Examples Using VMware Disk Mount on a Linux Host 11
Installing the Fuse Package 12

VMware, Inc. 3
VMware Disk Mount User’s Guide

4 VMware, Inc.
About This Book

This VMware® manual, the VMware Disk Mount User’s Guide, provides an introduction to using the 
vmware-mount command‐line utility.

Revision History
This book is revised with each release of the product or when necessary. A revised version can contain minor 
or major changes. Table P‐1 summarizes the significant changes in each version of this guide.

Table P-1. Revision History


Revision Description

20050408 First version of the VMware Disk Mount User’s Guide.

20070607 Update with support for Linux hosts and remote virtual disks.

20080122 New option for inventory path of the virtual machine.

20080625 Updated support information and Fuse mount.

20080717 Corrected information about snapshots and /p option.
20080915 Added information about Windows and Linux log files.

Intended Audience
This book is intended for anyone who uses VMware Disk Mount. Users typically include people who do 
software development and testing or work with multiple operating systems or computing environments: 
system administrators, application developers, QA engineers, and anyone who wants to create, manage, and 
modify virtual disk files from scripts or at the command line.

Documentation Resources
To access the current versions of VMware API and SDK documentation, go to:

http://www.vmware.com/support/pubs/sdk_pubs.html

To access the current versions of other VMware manuals, go to:

http://www.vmware.com/support/pubs

Documentation Feedback
VMware welcomes your suggestions for improving our documentation. Send your feedback to:

[email protected]

VMware, Inc. 5
VMware Disk Mount User’s Guide

Technical Support and Education Resources


The following sections describe the technical support and educational resources available to you.

Online Support
You can submit questions or post comments to the Developer Community SDKs and APIs forum, which is 
monitored by VMware technical support and product teams. To access the forum, go to:

http://communities.vmware.com/community/developer

Support Offerings
To find out how VMware support offerings can help meet your business needs, go to:

http://www.vmware.com/support/services

VMware Professional Services


VMware Education Services courses offer extensive hands‐on labs, case study examples, and course materials 
designed to be used as on‐the‐job reference tools. Courses are available onsite, in the classroom, and live 
online. For onsite pilot programs and implementation best practices, VMware Consulting Services provides 
offerings to help you assess, plan, build, and manage your virtual environment. To access information about 
education classes, certification programs, and consulting services, go to: 

http://www.vmware.com/services/

6 VMware, Inc.
Using VMware Disk Mount

VMware Disk Mount is a utility for Windows and Linux hosts that allows you to mount an unused virtual disk 
as a separate drive or partition without needing to connect to the virtual disk from within a virtual machine. 
You can mount specific volumes of a virtual disk if the virtual disk is partitioned.

After you mount a virtual disk, you can read from and write to the mounted virtual disk as if it were a separate 
file system with its own drive letter or mount point on your computer. For example, you could scan the disk 
for viruses or transfer files between the host system and a powered off virtual machine. When you are finished 
using a mounted virtual disk, you should unmount it so the virtual machine can use its virtual disk again.

This chapter contains the following sections:

„ “Limitations on Mounting Virtual Disks” on page 7.

„ “Running VMware Disk Mount on a Windows Host” on page 8.

„ “Running VMware Disk Mount on a Linux Host” on page 10.

Limitations on Mounting Virtual Disks


Consider the following when you mount virtual disks:

„ You cannot mount a virtual disk that is currently being used by a running or suspended virtual machine. 
You can only mount disks that are in a powered off virtual machine, or disks that are not are not associated 
with a virtual machine.

„ You can mount and read Windows virtual disks on Windows hosts (with at least one NTFS volume) or 
Linux virtual disks on Linux hosts. Cross‐mounting is restricted as described below.

„ You can use Disk Mount with virtual disks created by VMware ESX Server 3.x and 2.x (preallocated disks 
only), VMware Workstation 6, 5, or 4, VMware Player, VMware ACE, VMware Fusion, VMware Server 2 
or 1, and VMware GSX Server 3.x and 2.5. However you cannot mount encrypted virtual disks.

„ You cannot mount a virtual disk if any of its .vmdk files are compressed or have read‐only permissions. 
Change these attributes before mounting the virtual disk.

„ On Windows hosts, you must mount virtual disks as drive D: or greater. You cannot specify a drive letter 
already in use on the host.

„ On Windows hosts, you can mount volumes formatted with FAT (12/16/32) or NTFS only. If the virtual 
disk has a mix of partitions or volumes where, for example, a partition is unformatted or is formatted with 
a Linux operating system and another partition is formatted with a Windows operating system, you can 
mount the Windows partition with Disk Mount.

„ If you specify a virtual disk with snapshots, this command locates and mounts the last snapshot. On 
Windows you can mount previous snapshots read‐only. On Linux you cannot mount previous snapshots.

CAUTION   When you have a snapshot mounted with vmware-mount, do not revert to a previous snapshot 
using any other VMware interface. Doing so makes it impossible to unmount the partition.

VMware, Inc. 7
VMware Disk Mount User’s Guide

Disk Mount runs from the command line on any version of Windows 2000, Windows XP, Windows Server 
2003, or Windows Vista, as well as any version of Linux that is supported as a host for VMware Workstation.

Disk Mount on Linux requires the Fuse package. See “Installing the Fuse Package” on page 12.

Running VMware Disk Mount on a Windows Host


To run VMware Disk Mount, open a command prompt on a Windows host. The Disk Mount utility installs in 
C:\Program Files\VMware\VMware Virtual Disk Development Kit\bin by default, which the installer 
adds to your search path, so you can probably type just vmware-mount to run the utility.

The Disk Mount command syntax is:
vmware-mount [driveletter:] [path-to-vmdk] [options]

Use driveletter: to specify the drive letter where you want to mount or unmount a virtual disk. Examples 
in this section use the J: drive and nearby letters.

The path-to-vmdk specifies the location of a virtual disk that you want to mount or query for information, 
C:\Documents and Settings\<user>\My Documents\My Virtual Machines\<VMname>\<VMname>.vmdk 
for example, where <VMname> is the name of a virtual machine.
With no arguments, vmware-mount displays mounted drive mappings, if any. This is similar to the /L option.

Possible options are:

Option Definition

/v:N Mounts volume N of a virtual disk. N defaults to 1.

/d Given a drive letter, deletes the mapping to the virtual disk drive volume.
/f Forcibly deletes the mapping to a virtual disk drive volume. Use this option when a 
technical error or a correctable condition such as open file handles prevents Disk Mount 
from unmounting the drive. Otherwise stop accessing the volume and use /d.

/p Given path-to-vmdk, displays the partitions (volumes) on the virtual disk. Local only.

/L Displays all virtual disks mounted on the host computer. Use without other options.

/m:w Mounts disk in read and write mode, the default.

/m:n Mounts disk in non‐persistent read‐only mode. Allows mounting of snapshot disk.

/? Displays vmware-mount usage information.

The options for remote virtual disks are:

Option Definition

/i:InventoryPath Specifies inventory path on the VirtualCenter that manages this virtual disk.

/h:HostName Specifies the name or IP address of the ESX Server to access the managed virtual disk.

/u:UserName Specifies user name for the ESX Server.

/s:Password Specifies the password for the ESX Server.

/P:Port Specifies the Port number used to communicate with the server. This is optional and 
defaults to 902.

Log Files
On Windows the diagnostic log files for each <user> who ran vmware-mount are located here:
C:\Documents and Settings\<user>\Local Settings\Temp\vmware-<user>-<nnnn>/vmount.log
C:\Documents and Settings\<user>\Local Settings\Temp\vmware-<user>-<nnnn>/vmount-client.log

8 VMware, Inc.
Using VMware Disk Mount

Examples Using VMware Disk Mount on a Windows Host


Following are some examples that illustrate how to use Disk Mount on a Windows host.

To mount a local virtual disk

Assuming shortcut C:\My Virtual Machines and virtual machine Windows98, type this command:
vmware-mount J: "C:\My Virtual Machines\Windows98\Windows98.vmdk"

To mount a remote virtual disk

Type a command in this form, where <VMname> is the guest OS name, <inv> is the inventory path, <server> 
is an ESX server or VirtualCenter, <user> is a privileged user, and <password> is the account password:
vmware-mount K: "[storage1] <VMname>/<VMname>.vmdk" /i:<inv> /h:<server> /u:<user> /s:<password>

Here are two examples, connecting through ESX Server and VirtualCenter:
vmware-mount K: “[storage1] WinXP/WinXP.vmdk” /i:ha-datacenter/vm/WinXP /h:esx3 /u:root /s:secret
vmware-mount K: “[storage1] WinXP/WinXP.vmdk” /i:Datacenter/vm/WinXP /h:vc2 /u:admin /s:secretv

NOTE   ESX path names are case‐sensitive.

To unmount the J: drive, if not in use

Use the /d option:
vmware-mount J: /d

To mount a specific volume from a virtual disk

List the volume partitions, then decide which to mount:
vmware-mount "C:\My Virtual Machines\Windows98\Windows98.vmdk" /p
vmware-mount J: "C:\My Virtual Machines\Windows98\Windows98.vmdk" /v:2

To list the currently mounted virtual disks

Use the /L option, with sample output shown below:
vmware-mount /L
Currently mounted volumes:
J:\ => C:\My Virtual Machines\Windows98\Windows98.vmdk
K:\ => [storage1]WindowsXP2/WindowsXP2.vmdk

To unmount a virtual disk so virtual machines can access it again

Using drive letters from the examples above, type:
vmware-mount J: /d
vmware-mount K: /d

Inventory Path
On an ESX server with the /i option, specify InventoryPath as:
/i:ha-datacenter/vm/<VMpathname as read from inventory tree in VC client UI>

On VirtualCenter with the /i option, specify InventoryPath as:
/i:<Path to your datacenter>/vm/<VMpathname as read from inventory tree in VC client UI>

The path to your datacenter is as read from the tree display in the VirtualCenter UI.

VMware, Inc. 9
VMware Disk Mount User’s Guide

Running VMware Disk Mount on a Linux Host


To run Disk Mount, open a command terminal on a Linux host. Disk Mount installs in /usr/bin by default, 
so you can type just vmware-mount to display usage information. Many mount operations require root (su -) 
or superuser (sudo) permission.

VMware Disk Mount for Linux offers two modes for mounting disks:

1 You can mount a specific partition of a virtual disk, either local or remote.

The command syntax for mounting a specific partition is as follows (default partitionNumber is 1):
vmware-mount /path/to/disk [partitionNumber] /mount/point

2 You can mount a flat‐file representation of an entire virtual disk.

The command syntax for mounting a flat‐file representation is:
vmware-mount -f /path/to/disk /mount/point

Disk Mount includes a number of other options to use with virtual disks and mount points. The command 
syntax for most options is either of the following:
vmware-mount [option] [/path/to/disk]
vmware-mount [option] [/mount/point]

In the following list of options, <diskID> is an identifier of the form username@hostname:/path/to/disk 
for remote disks, or just the /path/to/disk for local disks. Options that mount a remote disk also require the 
-h, -u, -F, and possibly -v options. The -v option is required when connecting to a Virtual Center.

Option Definition

<diskID> <mountPoint> Mounts 

-p <diskID> Displays the partitions on a virtual disk.

-l <diskID> Displays all mounted partitions a virtual disk.

-L Displays all virtual disks mounted on the host computer.
-d <mountPoint> Cleanly unmounts this partition, closing disk if it is the last partition.

-f <diskID> <mountPoint> Mounts a flat‐file representation of an entire virtual disk at the specified mount point.

-k <diskID> Unmounts all partitions on a virtual disk and closes the virtual disk.
-K <diskID> Forcibly unmounts all partitions on a virtual disk and closes all virtual disks.

-x Unmounts all partitions and closes all virtual disks.

-X Forcibly unmounts all partitions and closes all virtual disks.

The options for remote virtual disks are:

Option Definition

-v InventoryPath Specifies inventory path on the VirtualCenter that manages this virtual disk

-h HostName Specifies the name or IP address of the ESX Server to access the managed virtual disk.

-u UserName Specifies user name for the ESX Server.

-F PasswordFile Specifies the path name to a plain text file containing the password for the ESX Server.

-P Port Specifies the Port number used to communicate with the server. This is optional and 
defaults to 902.

Log File
On Linux the diagnostic log files for each <user> who ran vmware-mount are located here:
/tmp/vmware-<user>/fuseMount.log

10 VMware, Inc.
Using VMware Disk Mount

Examples Using VMware Disk Mount on a Linux Host


Following are some examples that illustrate how to use Disk Mount on a Linux host.

To show the partitions on a local virtual disk

Assuming directory /vmware/guest and virtual machine RHEL4, type this command, which produces the 
following output:
vmware-mount -p /vmware/guest/RHEL4/RHEL4.vmdk
Volume 1 : 102 MB, Linux
Volume 2 : 19862 MB, Linux
Volume 3 : 510 MB, Linux swap

To mount a partition from a local virtual disk

To mount the second partition from above, type this command:
vmware-mount /vmware/guest/RHEL4/RHEL4.vmdk 2 /mnt/rhel4

To mount a remote virtual disk

Type a command in this form, where <VMname> is the guest OS name, <inv> is the inventory path, <srv> is 
an ESX server or VirtualCenter, <user> is a privileged user, and <pfile> is a file containing the password:
vmware-mount -v <inv> -h <srv> -u <user> -F <pfile> "[storage1] <VMname>/<VMname>.vmdk" /mount/pt

Here are two examples, connecting through ESX Server and VirtualCenter:
vmware-mount -i ha-datacenter/vm/RH5 -h esx3 -u root -F pwf "[storage1] RH5/RH5.vmdk" /mnt/rh5
vmware-mount -i Datacenter/vm/RH5 -h vc2 -u admin -F pwf "[storage1] RH5/RH5.vmdk" /mnt/rh5

NOTE   ESX path names are case‐sensitive.

To mount a flat representation of a virtual disk

Use the -f option:
vmware-mount -f /vmware/guest/SUSE10/SUSE10.vmdk /mnt/suse10

To list the currently mounted virtual disks

Use the -L option, with sample output shown below:
vmware-mount -L
Disks with mounted partitions:
/vmware/guest/RHEL4/RHEL4.vmdk partition2 /mnt/rhel4
[email protected]:[storage1]RHEL5/RHEL5.vmdk /mnt/rhel5
/vmware/guest/SUSE10/SUSE10.vmdk /mnt/suse10/flat

To unmount a virtual disk so virtual machines can access it again

You can use the -d option and supply a mount point:
vmware-mount -d /mnt/rhel4

You can also use the -k option and supply a disk ID:
vmware-mount -k [email protected]:[storage1]RHEL5/RHEL5.vmdk

You may also use the -x or -X option to unmount, or force‐unmount, all partitions.

Inventory Path
On an ESX server with the /i option, specify InventoryPath as:
/i:ha-datacenter/vm/<VMpathname as read from inventory tree in VC client UI>

On VirtualCenter with the /i option, specify InventoryPath as:
/i:<Path to your datacenter>/vm/<VMpathname as read from inventory tree in VC client UI>

The path to your datacenter is as read from the tree display in the VirtualCenter UI.

VMware, Inc. 11
VMware Disk Mount User’s Guide

Installing the Fuse Package


Fuse (file system in user space) is a loadable kernel module for UNIX operating systems. It allows regular 
(non‐root) users to create and access their own file systems. The file system code runs in user space, while the 
Fuse module provides a bridge to the actual kernel mount interfaces. Fuse was merged into mainstream Linux 
in kernel version 2.6.14. For earlier versions of Linux, you might need to install it.

To check if your system has Fuse

Run the modprobe -l command:
modprobe -l fuse
/lib/modules/2.6.22-14-generic/kernel/fs/fuse/fuse.ko

If the second line showing fuse.ko appears, stop.

If no output appears, proceed to one of the sections below.

To install Fuse with APT

Obtain the Fuse package on Linux systems that use APT installer as follows:
sudo apt-get install fuse-utils

Now you can run the vmware-mount command as described in this manual.

To install Fuse from the Web

1 Download Fuse software from the http://fuse.sourceforge.net Web site.

2 Unpack the software and change to the unpacked directory:
tar -zxf <FusePackage>.tar.gz
cd <FusePackage>

3 Configure the makefile for your system and run make to compile it:
./configure
make

4 As superuser, install the package (this puts it in /usr/local/lib):
sudo make install

5 If /usr/local/lib is not listed in /etc/ld.so.conf or an included file, insert a line for it and run the 
ldconfig command. Alternatively, modify your LD_LIBRARY_PATH environment.
sudo edit /etc/ld.so.conf
sudo ldconfig

6 Run the modprobe command to insert Fuse module into the kernel:
sudo modprobe fuse

Now you can run the vmware-mount command as described in this manual.

12 VMware, Inc.

You might also like