Skip to content
37 changes: 19 additions & 18 deletions azure-local/deploy/deployment-virtual.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Deploy a virtual Azure Local, version 23H2 system
title: Deploy a virtual Azure Local, version 23H2 / 24H2 system
description: Describes how to perform an Azure Local, version 23H2 virtualized deployment.
author: alkohli
ms.author: alkohli
Expand All @@ -19,7 +19,10 @@ This article describes how to deploy a virtualized Azure Local instance on a hos
You need administrator privileges for the Azure Local virtual deployment and should be familiar with the existing Azure Local solution. The deployment can take around 2.5 hours to complete.

> [!IMPORTANT]
> A virtual deployment of Azure Local is intended for educational and demonstration purposes only. Microsoft Support doesn't support virtual deployments.
> A virtual deployment of Azure Local is intended for educational and demonstration purposes only.

>[!NOTE]
>Microsoft Support doesn't support virtual deployments.
Comment on lines 26 to 28
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Karl-WE - add space between > on both lines

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please re-review my edit. TY.


## Prerequisites

Expand Down Expand Up @@ -52,10 +55,10 @@ Before you begin, make sure that each virtual host system can dedicate the follo
| ----------| ------- |
| Virtual machine (VM) type | Secure Boot and Trusted Platform Module (TPM) enabled. |
| vCPUs | Four cores. |
| Memory | A minimum of 24 GB. |
| Memory | A minimum of 32 GB. |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To comply with latest HW requirements as per docs
AzL configurator app will hardcheck for 32 GB.

| Networking | At least two network adapters connected to internal network. MAC spoofing must be enabled. |
| Boot disk | One disk to install the Azure Stack HCI operating system from ISO. At least 200 GB. |
| Hard disks for Storage Spaces Direct | Four dynamic expanding disks. Maximum disk size is 1024 GB. |
| Boot disk | One disk to install the Azure Stack HCI operating system from ISO. At least 127 GB. |
| Hard disks for Storage Spaces Direct | Two dynamic expanding disks. Maximum disk size is 1024 GB. |
| Data disks | At least 127 GB each. The size must be the same for each disk. |
| Time synchronization in integration | Disabled. |

Expand Down Expand Up @@ -117,7 +120,7 @@ Follow these steps to create an example VM named `Node1` using PowerShell cmdlet

```PowerShell
New-VHD -Path "your_VHDX_path" -SizeBytes 127GB
New-VM -Name Node1 -MemoryStartupBytes 20GB -VHDPath "your_VHDX_path" -Generation 2 -Path "VM_config_files_path"
New-VM -Name Node1 -MemoryStartupBytes 32GB -VHDPath "your_VHDX_path" -Generation 2 -Path "VM_config_files_path"
```

1. Disable dynamic memory:
Expand Down Expand Up @@ -153,10 +156,12 @@ Follow these steps to create an example VM named `Node1` using PowerShell cmdlet
Get-VmNetworkAdapter -VmName "Node1" |Connect-VmNetworkAdapter -SwitchName "virtual_switch_name"
```

1. Enable MAC spoofing on all network adapters on VM `Node1`. MAC address spoofing is a technique that allows a network adapter to masquerade as another by changing its Media Access Control (MAC) address. This is required in scenarios where you're planning to use nested virtualization:
1. Enable MAC spoofing *on all network adapters* on VM `Node1`. MAC address spoofing is a technique that allows a network adapter to masquerade as another by changing its Media Access Control (MAC) address.
In addition we need to enable teaming *on all network adapters*, because NetworkATC will team vNICs for the management / compute intent, and depending on the configuration (storage switched) aswell on the storage vNICs.
This is required in scenarios where you're planning to use nested virtualization:

```PowerShell
Get-VmNetworkAdapter -VmName "Node1" |Set-VmNetworkAdapter -MacAddressSpoofing On
Get-VmNetworkAdapter -VmName "Node1" |Set-VmNetworkAdapter -MacAddressSpoofing On -Allow Teaming On
```

1. Enable trunk port (for multi-node deployments only) for all network adapters on VM `Node1`. This script configures the network adapter of a specific VM to operate in trunk mode. This is typically used in multi-node deployments where you want to allow multiple Virtual Local Area Networks (VLANs) to communicate through a single network adapter:
Expand Down Expand Up @@ -187,26 +192,22 @@ Follow these steps to create an example VM named `Node1` using PowerShell cmdlet
Set-VmProcessor -VMName "Node1" -Count 8
```

1. Create extra drives to be used as the boot disk and hard disks for Storage Spaces Direct. After these commands are executed, six new VHDXs will be created in the `C:\vms\Node1` directory as shown in this example:
1. Create extra drives to be used as one for boot disk and two hard disks for Storage Spaces Direct. After these commands are executed, three new VHDXs will be created in the `C:\vms\Node1` directory as shown in this example:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Karl-WE - suggested rewrite:

Create extra drives to be used as one for the boot disk and two hard disks for Storage Spaces Direct.

  • After you run these commands, as shown in the example, three new VHDXs appear in the C:\vms\Node1 directory.


```PowerShell
new-VHD -Path "C:\vms\Node1\OS.vhdx" -SizeBytes 127GB
new-VHD -Path "C:\vms\Node1\s2d1.vhdx" -SizeBytes 1024GB
new-VHD -Path "C:\vms\Node1\s2d2.vhdx" -SizeBytes 1024GB
new-VHD -Path "C:\vms\Node1\s2d3.vhdx" -SizeBytes 1024GB
new-VHD -Path "C:\vms\Node1\s2d4.vhdx" -SizeBytes 1024GB
new-VHD -Path "C:\vms\Node1\s2d5.vhdx" -SizeBytes 1024GB
new-VHD -Path "C:\vms\Node1\s2d6.vhdx" -SizeBytes 1024GB
```
```

1. Attach drives to the newly created VHDXs for the VM. In these commands, six VHDs located in the `C:\vms\Node1` directory and named `s2d1.vhdx` through `s2d6.vhdx` are added to `Node1`. Each `Add-VMHardDiskDrive` command adds one VHD to the VM, so the command is repeated six times with different `-Path` parameter values.
1. Attach drives to the newly created VHDXs for the VM. In these commands, two VHDs located in the `C:\vms\Node1` directory and named `s2d1.vhdx` through `s2d2.vhdx` are added to `Node1`. Each `Add-VMHardDiskDrive` command adds one VHD to the VM, so the command is repeated six times with different `-Path` parameter values.

Afterwards, the `Node1` VM has four VHDs attached to it. These VHDXs are used to enable Storage Spaces Direct on the VM, which are required for Azure Stack HCI deployments:
Afterwards, the `Node1` VM has two VHDs attached to it. These VHDXs are used to enable Storage Spaces Direct on the VM, which are required for Azure Local deployments:

```PowerShell
Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\OS.vhdx"
Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d1.vhdx"
Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d2.vhdx"
Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d3.vhdx"
Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d4.vhdx"
```

1. Disable time synchronization:
Expand Down