The present invention is directed to a system and method for managing and/or using virtual disk drives in a Virtual Machine Environment (VME), and, in one embodiment, to a system and method for creating at least one disk drive volume in a Non-Virtual Machine Environment (NVME) and transferring an image of the at least one disk drive volume from the NVME to the VME such that the at least one drive volume can be used within the VME as a portion of a file system of the VME.
A number of Virtual Machine architectures exist, including, but not limited to, MICROSOFT VIRTUAL PC, PARALLELS WORKSTATION, VMWARE WORKSTATION, VIRTUAL IRON, and VIRTUALBOX. Using many of these systems, a user can create a Virtual Machine that runs on top of another operating system (e.g., WINDOWS (VISTA), LINUX and MAC OS) and assign resources to the Virtual Machine.
The following description, given with respect to the attached drawings, may be better understood with reference to the non-limiting examples of the drawings, wherein:
A programmer or a systems engineer designs/creates platform software (e.g., an operating system, drivers, and application software) for a native HW platform (NHWP) (e.g., an x86-based version of the AVOCENT 5200 MERGE POINT SERVER MANAGEMENT SYSTEM or another server management unit) that is expected to be installed on a physical hard disk drive (present in the NHWP). That platform software is packaged into an installation format (e.g., an install CDROM (disk/ISO image), a DVD or bootable external drive (e.g., a USB-based hard disk drive or flash drive), or an installer executable file) that can be provided to the NHWP for installation.
The installation format is then provided to a Native Hardware Platform (NHWP) that includes a hard disk drive onto which the platform software is to be installed. After installation of the platform software, the hard disk drive (HDD) of the NHWP will be formatted and contain at least one HDD partition (i.e., a division or slice of the HDD), as shown in
Further, other partitions (e.g. /dev/sdb4) may contain NHWP application code and/or application binary and non-binary data. As shown in
The HDD from the NHWP can then be removed from the NHWP and connected (e.g., installed internally or connected as an external drive) to an intermediate manufacturing platform workstation (e.g. an x86-based PC running LINUX). Once connected, the entire contents of the HDD are copied to a file system of or accessible to the VME (running a compatible HW or emulated CPU as in the NHWP) as a file (e.g., v_sdb and/or v_hdb) as shown in
In one embodiment, the contents of the file (e.g., v_sdb or v_hdb) are copied directly to the VME or to a location accessible by the VME. In another embodiment, the contents are moved in compressed form to the VME (or to a location accessible by the VME) and uncompressed. Either the VME can uncompress the compressed file or another process can uncompress the compressed file and store it in a location accessible by the VME. In an exemplary compression-based method shown in
The VME would then create emulated device nodes (and corresponding file system hard and soft links) for each partition found in the virtualized disk(s) (e.g., v_sdb and v_hdb). These partitions will be seen from programs such as fdisk as: v_sdb1, v_sdb2, . . . v_sdbN, and/or as v_hdb1. There will be a corresponding loopback (artificial/emulated) device node and file system hard link node for each of the partitions from the original HDD.
A loopback device node can be created and used using the ‘losetup’ utility program. To link an associated loopback device with several other equivalent devices, one can use the ‘ln’ utility program. For example, to create access to “v_sdb3” which corresponds to “/dev/sdb3”, one would calculate a location of “v_sdb3” within the file v_sdb. As was shown in
The appropriate file system (types) can then be mounted against each of the corresponding (emulated/artificial) devices (e.g., mount—t ext3/dev/loop11/mnt/hdb1). After mounting, any remaining fixups (e.g., to v_sdb or v_hdb) that are needed to complete the emulated HDP environment within the VME can be applied, and the NHWP HDD will be transformed and running within the VME. For example, one can mount into the file system (at the mount point “/mnt/sdb3”) the loopback device using either “mount /dev/loop0/mnt/sdb3” or “mount /dev/sdb3/mnt/sdb3”. Both of these mounts are equivalent, and designed to make the underlying application code believe it is communicating with a real HDD.
The above invention can be used with any Management Protocol and/or device including IPMI, ILO and DRAC devices.
While certain configurations of structures have been illustrated for the purposes of presenting the basic structures of the present invention, one of ordinary skill in the art will appreciate that other variations are possible which would still fall within the scope of the appended claims.
The present application is related to and claims priority to U.S. Provisional Application Ser. No. 60/996,232, filed Nov. 7, 2007. The contents of that application are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
60996232 | Nov 2007 | US |