Bug Reference

CLOUDSTACK-6288

Branch

4.4, master

Introduction

As enterprise workloads for virtual environments grow in size and in performance demands, virtual hard disk (VHD) formats need to accommodate them. Hyper-V in Windows Server 2012 introduces a new version of the VHD format called VHDX, which is designed to handle current and future workloads. VHDX has a much larger storage capacity than the older VHD format. It also provides data corruption protection during power failures and optimizes structural alignments of dynamic and differencing disks to prevent performance degradation on new, large-sector physical disks.

Currently in cloudstack, only VHD virtual disk format is supported for Hyper-V. With this feature support for VHDX format will also be enabled for Hyper-V.

Purpose

This is a feature specification for supporting VHDX image format for Hyper-V.

References

Document History

AuthorDescriptionDate
Devdeep SinghInitial Revision3/27/2014

Glossary

Instance/vm - Virtual machine running on a hypervisor. The terms may be used interchangeably.

Feature Specifications

  1. A user should be able to register a template of type VHDX for Hyper-V. Functionality of being able to register a template of type VHD for Hyper-V should continue to work
  2. A user should be able to create an instance on Hyper-V from template of type VHDX as well as VHD.
  3. Following operation should work for volumes of type VHDX.
    1. Migrating a volume from one storage pool to another.
    2. Downloading a volume.
    3. Creating a template from volume.
    4. Downloading a template.
    5. Storage motion of volumes.
      1. Live migrating a volume attached to a running vm from one storage pool to another.
      2. Live migrating an instance with its volumes from host to another while the volumes migrate from one storage pool to another.
  4. All data disks that are allocated and created on Hyper-V will be of type VHDX.
  5. A cloudstack Hyper-V setup that has been upgraded from 4.3 may have existing root and data volumes of type VHD. All the supported operations; as listed in point 3 above; on these volumes should continue to work.
  6. An instance can have virtual disks of type VHDX and VHD, both attached to it.

Test Guidelines

Functional

Support-ability Characteristics

Logs can be looked up at the following location

Configuration Characteristics

There are no configurable options available for VHDX support

Users Communities

CloudStack administrators and users, both can register a template, create instance from a template, attach data volumes, download volumes and template and create template from volumes with format as VHDX. This is the existing behavior and none of these operations are affected by this feature.

Supported Hypervisor

This feature is implemented for Windows Server 2012 R2 and Hyper-V 2012 R2 (Core).

Use cases

Architecture and Design description

Database modifications

There are no database schema changes for this feature. The existing schema is sufficient to hold the format type for volumes and template.

Creating and attaching volumes
Creating template from volume/Registering a template

Web Services APIs

Api 'registerTemplate' is used for registering a template in cloudstack. While registering a template 'vhdx', should be passed in the format type parameter.

UI flow

While registering a template a option is provided for registering a template of format VHDX for Hyper-V. With this change a user can now register a template of type VHD or VHDX for Hyper-V.

IP Clearance

No IP dependencies are introduced by this feature.

Appendix

Appendix A:

Appendix B: