CA2702756A1 - System and method for managing virtual hard drives in a virtual machine environment - Google Patents

System and method for managing virtual hard drives in a virtual machine environment Download PDF

Info

Publication number
CA2702756A1
CA2702756A1 CA2702756A CA2702756A CA2702756A1 CA 2702756 A1 CA2702756 A1 CA 2702756A1 CA 2702756 A CA2702756 A CA 2702756A CA 2702756 A CA2702756 A CA 2702756A CA 2702756 A1 CA2702756 A1 CA 2702756A1
Authority
CA
Canada
Prior art keywords
drive image
virtual machine
machine environment
file
hard disk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA2702756A
Other languages
French (fr)
Inventor
Mark J. Conrad
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vertiv IT Systems Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2702756A1 publication Critical patent/CA2702756A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Platform software is installed onto a native hardware platform (NHWP) containing a hard disk drive. That hard disk drive is formatted and structured as the NHWP would expect to use it to boot and run. However, the structure of that hard disk is converted to a drive image file (compressed or uncompressed) that can be loaded into a Virtual Machine Environment (VME). By mounting the drive image (or a partition of a drive image), the VME can use the partition as if it were a device rather than a file.

Description

System and Method for Managing Virtual Hard Drives in a Virtual Machine Environment CROSS REFERENCE TO CO-PENDING APPLICATION

[0001] The present application is related to and claims priority to U.S.
Provisional Application Serial No. 60/996,232, filed November 7, 2007. The contents of that application are incorporated herein by reference in their entirety.

FIELD OF INVENTION
[0002] 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 NYME 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.

DISCUSSION OF THE BACKGROUND
[0003] 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.

BRIEF DESCRIPTION OF THE DRAWINGS
[0004] 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:
[0005] Figure 1 is block diagram of partitions of a hard disk as they are created by an operating system for a NVME;
[0006] Figure 2 is a screen dump showing a listing of a set of partitions corresponding to the partitions of Figure 1;
[0007] Figure 3 is a block diagram of a hard disk in a VME using a file that includes the partitions of the hard disk drive of the NVME of Figure 1;
[0008] Figure 4 is a screen dump showing a process of converting the set of partitions corresponding to the partitions of Figure 1 into a drive image file that is then compressed into a compressed drive image file for transfer to a VME;
[0009] Figure 5 is a screen dump showing a process of uncompressing the compressed drive image file of Figure 4 back into a drive image file for use with the VME; and [0010] Figure 6 is a screen dump showing a process of linking a drive image file to a filesystem of the VME at a mount point.

DISCUSSION OF THE PREFERRED EMBODIMENTS
[0011] 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.
[0012] 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 Figure 1. These HDD partitions (HDP) are accessed by operating system and application software running on the NHWP (e.g., through device nodes (e.g., /dev/sdbl, /dev/sdb2, ... /dev/sdbl0)).
For example, a file system could be on one partition or device node (e.g.
/dev/sdb2) which is accessed via a filesystem command to "mount" it (e.g., "mount -t cramfs /dev/sdb2 /mnt/sdbl ").
Other partitions (e.g., /dev/sdbl may contain boot, operating, and initial RAM-based (e.g.
ramdisk) filesystem object/images, and/or filesystem data. Depending on the operating system that created the HDD partitions, it is possible, without departing from the teachings of the present invention, that other device types or device names (e.g., "hdb"
instead of "sdb") may be used.
[0013] Further, other partitions (e.g. /dev/sdb4) may contain NHWP application code and/or application binary and non-binary data. As shown in Figure 1, partitions sdb5-sdbl0 are, for illustrative purposes only, shown as a single block because of their relatively small sizes.
However, each such partition should be considered to be separate from the each other in their own partition, as shown in Figure 2. As a result of the installation process, the NHWP (e.g., the x86-based MERGE POINT PLATFORM 5200) would be able to access the hard disk drive to boot the installed operating system (e.g. LINUX), mount its associates filesystem(s) and access the data on the partitions. In an exemplary embodiment with an 8 gigabyte hard drive, Figure 2 is a screen dump showing a listing of a set of partitions resulting from an installation as one might see using the "fdisk" utility program.
[0014] 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_sdb) as shown in Figure 3. For example, the VME could emulate the x86-based MERGE POINT
PLATFORM
5200 for which the platform software was written. The file when stored in the file system accessible to the VME need not be stored contiguously but instead may be fragmented as any other file in the VME, as long as the order when read from the file (using file system calls) is the same as the order of the actual hard disk.
[0015] 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 Figure 4, the entire contents (i.e., 8 gigabytes) of the HDD (shown in Figure 1) are copied (e.g. using `dd' or another equivalent device to file conversion utility) into a drive image file (e.g., named v_sdb or v_hdb) of the HDD. (The flags "if' and "of' refer to "input file" and "output file," respectively.) The drive image file can then be compressed (e.g., using the "gzip" compression utility) into an identically reproducible compressed drive image file (e.g., named "v_sdb.gz" or "v_hdb.gz", where ".gz"
is the common file extension for files compressed by "gzip"). The resulting compressed drive image file is shown in Fig. 4 as a 50 megabyte file named "v_sdb.gz". Using the VME or a location (e.g., a shared folder) which the VME can access, the compressed drive image file is made available to the VME (e.g., running the compatible HW or emulated CPU as in the NHWP). As shown in Figure 5, the compressed drive image file is then uncompressed within the VME
file system, thereby reproducing file the original drive image file (e.g., "v_sdb" or "v fidb").
[0016] 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_sdbl, v_sdb2,...v_sdbN, and/or as v hdbl. 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.
[0017] 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 'In' 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 Figure 3, "v_sdb3" starts at sector 8988078 and ends at sector 11717441 and is 1364682 blocks long. To find the actual offset using 512 bytes per sector/block, one would calculate: 8988078 *
512 = 4601895936. Thus, as shown in Figure 6, one could use the "losetup"
command to create the /dev/loopO loopback device. One would then be able to access the/dev/loopO
loopback device as is shown by requesting a listing of the characteristics of that device in Figure 6. One would further be able to make other hard links (e.g., /dev/sdb3 and /dev/vsdb3) and soft links (e.g., /dev/v_sdb3) to the same partition. This thereby associates former physical HDD partition /dev/sdb3 to several equivalent loopback (emulated/artifical/virtual) devices.
Note that the /dev/loop3 device inode number (651) is identical to /dev/sdb3 and /dev/vsdb3.
[0018] The appropriate file system (types) can then be mounted against each of the corresponding (emulated/artificial) devices (e.g., mount -t ext3 /dev/loopl l /mnt/hdbl). 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/loopO /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.
[0019] The above invention can be used with any Management Protocol and/or device including IPMI, ILO and DRAC devices.
[0020] 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.

Claims (6)

1. A method of creating a virtual hard disk for use in a Virtual Machine Environment, the method comprising:

installing software onto a hard disk of a Native Hardware Environment including the hard disk;

converting a structure of the hard disk into a drive image file;

transferring the drive image to a location accessible by a Virtual Machine Environment;
and mounting at least one partition from the drive image into the Virtual Machine Environment such that at least one process of the Virtual Machine Environment can access the at least one partition at a mount point.
2. The method as claimed in claim 1, wherein transferring the drive image comprises transferring the drive image in uncompressed form to the location accessible by a Virtual Machine Environment.
3. The method as claimed in claim 1, wherein transferring the drive image comprises:

compressing the drive image into a compressed drive image;

transferring the compressed drive image to the location accessible by the Virtual Machine Environment; and uncompressing the compressed drive image within the Virtual Machine Environment.
4. The method as claimed in claim 1, wherein transferring the drive image comprises:

compressing the drive image into a compressed drive image;

transferring the compressed drive image to the location accessible by the Virtual Machine Environment; and uncompressing, outside of the Virtual Machine Environment, the compressed drive image to the location accessible by the Virtual Machine Environment.
5. The method as claimed in claim 1, wherein mounting the at least one partition from the drive image comprises:

creating a loopback device at an offset corresponding to the at least one partition; and mounting the loopback device at the mount point.
6. The method as claimed in claim 1, wherein converting the structure of the hard disk into the drive image file comprises writing an entire contents of a device to a file.
CA2702756A 2007-11-07 2008-11-07 System and method for managing virtual hard drives in a virtual machine environment Abandoned CA2702756A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US99623207P 2007-11-07 2007-11-07
US60/996,232 2007-11-07
PCT/US2008/012600 WO2009061486A1 (en) 2007-11-07 2008-11-07 System and method for managing virtual hard drives in a virtual machine environment

Publications (1)

Publication Number Publication Date
CA2702756A1 true CA2702756A1 (en) 2009-05-14

Family

ID=40626088

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2702756A Abandoned CA2702756A1 (en) 2007-11-07 2008-11-07 System and method for managing virtual hard drives in a virtual machine environment

Country Status (5)

Country Link
US (1) US20090235248A1 (en)
EP (1) EP2220559A4 (en)
CA (1) CA2702756A1 (en)
IL (1) IL205223A0 (en)
WO (1) WO2009061486A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037620B2 (en) * 2009-12-16 2015-05-19 Microsoft Technology Licensing, Llc File system active symbolic link
US9336032B2 (en) 2010-10-28 2016-05-10 Hewlett Packard Enterprise Development Lp Zoning data to a virtual machine
US10572451B2 (en) 2014-01-31 2020-02-25 Hewlett Packard Enterprise Development Lp File system storage

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334098B1 (en) * 2000-06-06 2008-02-19 Quantum Corporation Producing a mass storage backup using a log of write commands and time information
EP1490771A4 (en) * 2002-04-03 2007-11-21 Powerquest Corp Using disassociated images for computer and storage resource management
US20060070067A1 (en) * 2004-06-03 2006-03-30 Dell Products L.P. Method of using scavenger grids in a network of virtualized computers
US8370819B2 (en) * 2005-03-25 2013-02-05 Microsoft Corporation Mechanism to store information describing a virtual machine in a virtual disk image
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment

Also Published As

Publication number Publication date
IL205223A0 (en) 2010-12-30
WO2009061486A1 (en) 2009-05-14
US20090235248A1 (en) 2009-09-17
EP2220559A1 (en) 2010-08-25
EP2220559A4 (en) 2014-08-06

Similar Documents

Publication Publication Date Title
AU2007248886B2 (en) Converting machines to virtual machines
US9928091B2 (en) Techniques for streaming virtual machines from a server to a host
JP5932973B2 (en) Virtual storage disk technology
US9304804B2 (en) Replicating virtual machines across different virtualization platforms
US9286098B1 (en) Using master file template area to increase density of virtual machines in a computer system
US8838542B1 (en) Optimized image archiving
US9292215B2 (en) Managing virtual hard disk snapshots
JP6050262B2 (en) Virtual disk storage technology
US8370835B2 (en) Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device
US8621461B1 (en) Virtual machine based operating system simulation using host ram-based emulation of persistent mass storage device
US20120151202A1 (en) Management of multiple software images with shared memory blocks
CN101809559A (en) De-duplication in virtualized server and virtualized storage environments
US9971783B2 (en) Data de-duplication for disk image files
EP3518116A1 (en) Method and apparatus for layered access of file in virtualization instance
US9542108B2 (en) Efficient migration of virtual storage devices to a remote node using snapshots
US9104339B1 (en) Support track aligned partitions inside virtual machines
US9152552B2 (en) Securing sensitive information in a network cloud
CN111679889A (en) Virtual machine conversion migration method and system
US20090235248A1 (en) System and Method for Managing Virtual Hard Drives in a Virtual Machine Environment
US9104436B1 (en) Compile directives for memory management
US20110125996A1 (en) System And Method For Supporting Multiple Hardware Platforms With A Single Disk Image
US11836356B2 (en) Snapshots with smart network interface controller
US9092530B1 (en) Systems and methods for rapidly provisioning virtual storage objects
US11989569B2 (en) Unikernel provisioning
US20230134506A1 (en) System and method for managing vm images for high-performance virtual desktop services

Legal Events

Date Code Title Description
FZDE Discontinued

Effective date: 20141107

FZDE Discontinued

Effective date: 20141107

FZDE Discontinued

Effective date: 20141107