From 173d7213368f1142e5cd90ef788ee7e68b60f3f7 Mon Sep 17 00:00:00 2001 From: Brian Cain Date: Tue, 21 Apr 2020 15:19:30 -0700 Subject: [PATCH] Add Hyper-V Disk management docs --- website/pages/docs/disks/usage.mdx | 3 -- .../docs/disks/hyperv/common-issues.html.md | 2 +- .../source/docs/disks/hyperv/index.html.md | 2 +- .../source/docs/disks/hyperv/usage.html.md | 50 +++++++++++++++++-- 4 files changed, 48 insertions(+), 9 deletions(-) diff --git a/website/pages/docs/disks/usage.mdx b/website/pages/docs/disks/usage.mdx index 3ab962a92..1bedbf6e9 100644 --- a/website/pages/docs/disks/usage.mdx +++ b/website/pages/docs/disks/usage.mdx @@ -21,9 +21,6 @@ Please note that `VAGRANT_EXPERIMENTAL` is an environment variable. For more information about this flag visit the [Experimental docs page](/docs/experimental/) for more info. Without this flag enabled, any disks defined will not be configured. -Also note that the examples below use the VirtualBox provider, which is the current -supported provider for this feature. - Below are some very simple examples of how to use Vagrant Disks with the VirtualBox provider. ## Basic Examples diff --git a/website/source/docs/disks/hyperv/common-issues.html.md b/website/source/docs/disks/hyperv/common-issues.html.md index a31a000c6..9028985dd 100644 --- a/website/source/docs/disks/hyperv/common-issues.html.md +++ b/website/source/docs/disks/hyperv/common-issues.html.md @@ -1,7 +1,7 @@ --- layout: "docs" page_title: "Common Issues - Disks Hyper-V Provider" -sidebar_current: "disks-providers-virtualbox-issues" +sidebar_current: "disks-providers-hyperv-issues" description: |- This page lists some common issues people run into with Vagrant and Hyper-V as well as solutions for those issues. diff --git a/website/source/docs/disks/hyperv/index.html.md b/website/source/docs/disks/hyperv/index.html.md index 99fb27389..b83640319 100644 --- a/website/source/docs/disks/hyperv/index.html.md +++ b/website/source/docs/disks/hyperv/index.html.md @@ -1,7 +1,7 @@ --- layout: "docs" page_title: "Disks for Hyper-V Provider" -sidebar_current: "disks-providers-virtualbox" +sidebar_current: "disks-providers-hyperv" description: |- Vagrant comes with support out of the box for Hyper-V, a free, cross-platform consumer virtualization product. diff --git a/website/source/docs/disks/hyperv/usage.html.md b/website/source/docs/disks/hyperv/usage.html.md index 52ee044ab..356afcb66 100644 --- a/website/source/docs/disks/hyperv/usage.html.md +++ b/website/source/docs/disks/hyperv/usage.html.md @@ -1,9 +1,9 @@ --- layout: "docs" -page_title: "Usage - Disks VirtualBox Provider" -sidebar_current: "disks-providers-virtualbox-usage" +page_title: "Usage - Disks Hyper-V Provider" +sidebar_current: "disks-providers-hyperv-usage" description: |- - The Vagrant VirtualBox provider is used just like any other provider. Please + The Vagrant Hyper-V provider is used just like any other provider. Please read the general basic usage page for providers. --- @@ -25,7 +25,49 @@ description: |- for more info. Without this flag enabled, any disks defined will not be configured. -For examples of how to use the disk feature with VirtualBox, please refer to the +For examples of how to use the disk feature with Hyper-V, please refer to the [general disk usage guide](/docs/disks/usage.html) for more examples. ## provider_config options + +Most options are used for either creating or attaching a hard disk to your guest. +Vagrant supports most options for these operations. You should be able to define +the powershell specific argument to a given Hyper-V command in the provider_config +hash, and Vagrant should properly pass it along to the command. + +To define a provider specific option, please refer to the [Disk Options documentation page](/docs/disks/configuration.html) for more info. + +### Note about options defined below + +It is possible these options could be out of date or stale. If you happen to see +an option that has changed or is missing from this page, please open an issue +or pull request on Vagrants GitHub page to correct this. + +### New-VHD Supported Options + +For more information about each option, please visit the [New-VHD Hyper-V documentation](https://docs.microsoft.com/en-us/powershell/module/hyper-v/new-vhd?view=win10-ps). + +__Note:__ By default, all Hyper-V disks are defined as a Dynamic virtual hard disk. If you +wish to make the disk a fixed size, you can set the `Fixed` option below when creating +a new disk. + +* `BlockSizeBytes` (string) - Optional argument, i.e. `"128MB"` +* `Differencing` (bool) - If set, the disk will be used to store differencing changes from parent disk (must set `ParentPath`) +* `Fixed` (bool) - If set, the disk will be a fixed size, not dynamically allocated. +* `LogicalSectorSizeBytes` (string) - Optional argument, must be either `"512MB"` or `"4096MB"` +* `ParentPath` (string) - The parent disk path used if a `Differencing` disk is defined +* `PhysicalSectorSizeBytes` (string) - Optional argument, must be either `"512MB"` or `"4096MB"` +* `SourceDisk` (int) - Existing disk to use as a source for the new disk + +### Add-VMHardDiskDrive Supported Options + +For more information about each option, please visit the [Add-VMHardDiskDrive Hyper-V documentation](https://docs.microsoft.com/en-us/powershell/module/hyper-v/add-vmharddiskdrive?view=win10-ps) + +Generally, these options do not need to be set or handled by most users. Only +use these options if you are sure you know what you are doing. Vagrant will +be able to attach disks for you without these options, but they are available +if it is required that you specificy a specific location for a disk. + +* `ControllerLocation` (int) - The location that the disk should be attached to on the controller +* `ControllerNumber` (int) - The controller to use for attaching the disk +* `ControllerType` (string) - The kind of controller to use when attaching the a disk. Only `"IDE"` and `"SCSI"` are valid.