Skip to content

Commit ff79a92

Browse files
authored
Sync release-aks-ee-feb with main
Sync release-aks-ee-feb with main
2 parents 2cab738 + fa297c7 commit ff79a92

19 files changed

+463
-385
lines changed

.openpublishing.redirection.azure-local.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1909,6 +1909,11 @@
19091909
"source_path": "azure-local/security-update/security-update-jan-2025.md",
19101910
"redirect_url": "/azure/azure-local/security-update/security-update",
19111911
"redirect_document_id": false
1912+
},
1913+
{
1914+
"source_path": "azure-local/manage/trusted-launch-vm-deploy.md",
1915+
"redirect_url": "/azure/azure-local/manage/trusted-launch-vm-overview",
1916+
"redirect_document_id": false
19121917
}
19131918
]
1914-
}
1919+
}

azure-local/TOC.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -275,11 +275,11 @@ items:
275275

276276
- name: Trusted launch for Arc VMs
277277
items:
278-
- name: What is Trusted Launch for Arc VMs?
278+
- name: What is Trusted launch for Arc VMs?
279279
href: manage/trusted-launch-vm-overview.md
280-
- name: Deploy Trusted Launch for Arc VMs
281-
href: manage/trusted-launch-vm-deploy.md
282-
- name: Manage guest state protection key
280+
- name: Automatic virtual TPM state transfer
281+
href: manage/trusted-launch-automatic-state-transfer.md
282+
- name: Manual backup and recovery
283283
href: manage/trusted-launch-vm-import-key.md
284284

285285
- name: Non Arc VMs

azure-local/concepts/security-features.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: alkohli
55
ms.author: alkohli
66
ms.topic: conceptual
77
ms.service: azure-local
8-
ms.date: 02/14/2025
8+
ms.date: 02/26/2025
99
---
1010

1111
# Security features for Azure Local
@@ -158,10 +158,22 @@ For more information, see [Manage syslog forwarding](../manage/manage-syslog-for
158158

159159
Azure Local comes with Microsoft Defender Antivirus enabled and configured by default. We strongly recommend that you use Microsoft Defender Antivirus with your Azure Local instances. Microsoft Defender Antivirus provides real-time protection, cloud-delivered protection, and automatic sample submission.
160160

161-
Although we recommend using Microsoft Defender Antivirus for Azure Local, if you prefer third-party antivirus and security software, we advise selecting one that your Independent Software Vendor (ISV) has validated for Azure Local to minimize potential functionality issues.
161+
Although we recommend using Microsoft Defender Antivirus for Azure Local, if you prefer third-party antivirus and security software, **we advise selecting one that your Independent Software Vendor (ISV) has validated for Azure Local** to minimize potential functionality issues.
162162

163163
For more information, see [Microsoft Defender Antivirus compatibility with other security products](/defender-endpoint/microsoft-defender-antivirus-compatibility).
164164

165+
In the rare instance that you experience any functionality issues with Azure Local using a third-party antivirus software, you can exclude the following paths:
166+
167+
- C:\Agents\\*
168+
- C:\CloudContent\\*
169+
- C:\CloudDeployment\\*
170+
- C:\ClusterStorage\\*
171+
- C:\EceStore\\*
172+
- C:\MASLogs\\*
173+
- C:\NugetStore\\*
174+
- C:\deploymentpackage\\*
175+
- C:\ProgramData\GuestConfig\extension_logs\\*
176+
165177
> [!NOTE]
166178
> If you remove the Microsoft Defender Antivirus feature, leave the settings associated with the feature from the security baseline as-is. You don't need to remove these settings.
167179

azure-local/deploy/single-server.md

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.author: robess
66
ms.topic: how-to
77
ms.reviewer: kimlam
88
ms.lastreviewed: 01/17/2023
9-
ms.date: 01/31/2024
9+
ms.date: 02/27/2025
1010
---
1111

1212
# Deploy Azure Stack HCI on a single server
@@ -23,9 +23,9 @@ Currently you can't use Windows Admin Center to deploy Azure Stack HCI on a sing
2323

2424
## Prerequisites
2525

26-
- A server from the [Azure Stack HCI Catalog](https://hcicatalog.azurewebsites.net/#/catalog) that's certified for use as a single-node cluster and configured with all NVMe or all SSD drives.
26+
- A server from the [Azure Stack HCI Catalog](https://hcicatalog.azurewebsites.net/#/catalog) certified for use as a single-node cluster and configured with all NVMe or all SSD drives.
2727
- For network, hardware and other requirements, see [Azure Stack HCI network and domain requirements](../deploy/operating-system.md#determine-hardware-and-network-requirements).
28-
- Optionally, [install Windows Admin Center](/windows-server/manage/windows-admin-center/deploy/install) to register and manage the server once it has been deployed.
28+
- Optionally, [install Windows Admin Center](/windows-server/manage/windows-admin-center/deploy/install) to register and manage the server after it's deployed.
2929

3030
## Deploy on a single server
3131

@@ -38,8 +38,10 @@ Here are the steps to install the Azure Stack HCI OS on a single server, create
3838
```
3939
4040
1. Install the Azure Stack HCI OS on your server. For more information, see [Deploy the Azure Stack HCI OS](../deploy/operating-system.md#manual-deployment) onto your server.
41+
4142
1. Configure the server utilizing the [Server Configuration Tool](/windows-server/administration/server-core/server-core-sconfig) (SConfig).
42-
1. Install the required roles and features using the following command, then reboot before continuing.
43+
44+
1. Install the required roles and features using the following command, then reboot before you continue.
4345
4446
```powershell
4547
Install-WindowsFeature -Name "BitLocker", "Data-Center-Bridging", "Failover-Clustering", "FS-FileServer", "FS-Data-Deduplication", "Hyper-V", "Hyper-V-PowerShell", "RSAT-AD-Powershell", "RSAT-Clustering-PowerShell", "NetworkATC", "Storage-Replica", -IncludeAllSubFeature -IncludeManagementTools
@@ -60,10 +62,11 @@ Here are the steps to install the Azure Stack HCI OS on a single server, create
6062
```
6163

6264
> [!NOTE]
63-
> - The cluster name should not exceed 15 characters.
64-
> - The `New-Cluster` command will also require the `StaticAddress` parameter if the node is not using DHCP for its IP address assignment. This parameter should be supplied with a new, available IP address on the node's subnet.
65+
> - The cluster name shouldn't exceed 15 characters.
66+
> - The `New-Cluster` command requires the `StaticAddress` parameter if the node isn't using DHCP for its IP address assignment. This parameter should be supplied with a new, available IP address on the node's subnet.
6567
6668
1. Use [PowerShell](../deploy/register-with-azure.md?tab=power-shell#register-a-cluster) or [Windows Admin Center](../deploy/register-with-azure.md?tab=windows-admin-center#register-a-cluster) to register the cluster.
69+
6770
1. [Create volumes](/windows-server/storage/storage-spaces/create-volumes).
6871

6972
## Updating single-node clusters
@@ -76,16 +79,20 @@ For solution updates (such as driver and firmware updates), see your solution ve
7679

7780
## Change a single-node to a multi-node cluster (optional)
7881

79-
You can add servers to your single-node cluster, also known as scaling out, though there are some manual steps you must take to properly configure Storage Spaces Direct fault domains (`FaultDomainAwarenessDefault`) in the process. These steps aren't present when adding servers to clusters with two or more servers.
82+
You can add servers to your single-node cluster, also known as scaling out, though there are some manual steps you must take to properly configure Storage Spaces Direct fault domains (`FaultDomainAwarenessDefault`) in the process. These steps aren't present when you add servers to clusters with two or more servers.
8083

8184
1. Validate the cluster by specifying the existing server and the new server: [Validate an Azure Stack HCI cluster - Azure Stack HCI | Microsoft Docs](../deploy/validate.md).
85+
8286
2. If cluster validation was successful, add the new server to the cluster: [Add or remove servers for an Azure Stack HCI cluster - Azure Stack HCI | Microsoft Docs](../manage/add-cluster.md).
87+
8388
3. Once the server is added, change the cluster's fault domain awareness from PhysicalDisk to ScaleScaleUnit: [Inline fault domain changes](../manage/single-node-scale-out.md#inline-fault-domain-changes).
89+
8490
4. Optionally, if more resiliency is needed, adjust the volume resiliency type from a 2-way mirror to a Nested 2-way mirror: [Single-server to two-node cluster](../manage/single-node-scale-out.md#single-server-to-two-node-cluster).
91+
8592
5. [Set up a cluster witness](../manage/witness.md).
8693

8794
## Next steps
8895

89-
- [Deploy workload – AVD](../deploy/virtual-desktop-infrastructure.md)
90-
- [Deploy workload – AKS-HCI](/azure-stack/aks-hci/overview)
91-
- [Deploy workload – Azure Arc-enabled data services](/azure/azure-arc/data/overview)
96+
- [Deploy workload – AVD](../deploy/virtual-desktop-infrastructure.md).
97+
- [Deploy workload – AKS-HCI](/azure-stack/aks-hci/overview).
98+
- [Deploy workload – Azure Arc-enabled data services](/azure/azure-arc/data/overview).

azure-local/manage/create-arc-virtual-machines.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,33 @@ Here we create a VM that uses specific memory and processor counts on a specifie
136136
| **storage-path-id** |The associated storage path where the VM configuration and the data are saved. |
137137
| **proxy-configuration** |Use this optional parameter to configure a proxy server for your VM. For more information, see [Create a VM with proxy configured](#create-a-vm-with-proxy-configured). |
138138
139-
1. Run the following command to create a VM.
139+
1. Run the following commands to create the applicable VM.
140+
141+
**To create a Trusted launch Arc VM:**
142+
143+
1. Specify additional flags to enable secure boot, enable virtual TPM, and choose security type. Note, when you specify security type as Trusted launch, you must enable secure boot and vTPM, otherwise Trusted launch VM creation will fail.
144+
145+
```azurecli
146+
az stack-hci-vm create --name $vmName --resource-group $resource_group --admin-username $userName --admin-password $password --computer-name $computerName --image $imageName --location $location --authentication-type all --nics $nicName --custom-location $customLocationID --hardware-profile memory-mb="8192" processors="4" --storage-path-id $storagePathId --enable-secure-boot true --enable-vtpm true --security-type "TrustedLaunch"
147+
```
148+
149+
1. Once the VM is created, to verify the security type of the VM is `Trusted launch`, do the following.
150+
151+
1. Run the following cmdlet (on one of the cluster nodes) to find the owner node of the VM:
152+
153+
```azurecli
154+
Get-ClusterGroup $vmName
155+
```
156+
157+
1. Run the following cmdlet on the owner node of the VM:
158+
159+
```azurecli
160+
(Get-VM $vmName).GuestStateIsolationType
161+
```
162+
163+
1. Ensure a value of `TrustedLaunch` is returned.
164+
165+
**To create a standard Arc VM:**
140166
141167
```azurecli
142168
az stack-hci-vm create --name $vmName --resource-group $resource_group --admin-username $userName --admin-password $password --computer-name $computerName --image $imageName --location $location --authentication-type all --nics $nicName --custom-location $customLocationID --hardware-profile memory-mb="8192" processors="4" --storage-path-id $storagePathId
@@ -247,7 +273,7 @@ Follow these steps in Azure portal for your Azure Local.
247273

248274
**The Virtual machine kind** is automatically set to **Azure Local**.
249275

250-
1. **Security type** - For the security of your VM, select **Standard** or **Trusted Launch virtual machines**. For more information on what are Trusted Launch Arc virtual machines, see [What is Trusted Launch for Azure Arc Virtual Machines?](./trusted-launch-vm-overview.md).
276+
1. **Security type** - For the security of your VM, select **Standard** or **Trusted launch virtual machines**. For more information on what are Trusted launch Arc virtual machines, see [What is Trusted launch for Azure Arc Virtual Machines?](./trusted-launch-vm-overview.md).
251277

252278
1. **Storage path** - Select the storage path for your VM image. Select **Choose automatically** to have a storage path with high availability automatically selected. Select **Choose manually** to specify a storage path to store VM images and configuration files on your Azure Local. In this case, ensure that the selected storage path has sufficient storage space.
253279

Binary file not shown.
Binary file not shown.
Binary file not shown.
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
title: Automatic virtual TPM state transfer for Azure Local
3+
description: Learn how automatic virtual TPM state transfer works for Azure Local.
4+
ms.topic: how-to
5+
author: alkohli
6+
ms.author: alkohli
7+
ms.service: azure-local
8+
ms.date: 02/27/2025
9+
---
10+
11+
# Automatic transfer of virtual TPM state for Trusted launch VMs on Azure Local
12+
13+
[!INCLUDE [applies-to](../includes/hci-applies-to-23h2.md)]
14+
15+
This article uses an example to illustrate the automatic transfer of virtual TPM (vTPM) state in the case of Trusted launch Arc VMs on Azure Local, even as the VM migrates or fails over to another machine in the system. This operation allows the applications that use the vTPM to function normally during VM migration or fail over.
16+
17+
18+
## Example
19+
20+
This example shows a Trusted launch Arc VM running Windows 11 guest with BitLocker encryption enabled. Here are the steps to run this example:
21+
22+
1. Create a Trusted launch Arc VM running a supported Windows 11 guest operating system (OS).
23+
24+
1. Enable BitLocker encryption for the OS volume on the Win 11 guest. Sign on to the Windows 11 guest and enable BitLocker encryption for the OS volume:
25+
26+
1. In the search box on the task bar, type "Manage BitLocker," and then select it from the list of results.
27+
28+
1. Select **Turn on BitLocker** and then follow the instructions to encrypt the OS volume (C:). BitLocker uses vTPM as a key protector for the OS volume.
29+
30+
1. Confirm the owner node of the VM.
31+
32+
```powershell
33+
Get-ClusterGroup <VM name>
34+
```
35+
36+
1. Migrate the VM to another machine in the system. Run the following PowerShell command from the machine that the VM is on.
37+
38+
```powershell
39+
Move-ClusterVirtualMachineRole -Name <VM name> -Node <destination node> -MigrationType Shutdown
40+
```
41+
42+
1. Confirm that the owner node of the VM is the specified destination node.
43+
44+
```powershell
45+
Get-ClusterGroup <VM name>
46+
```
47+
48+
1. After VM migration completes, verify if the VM is available and BitLocker is enabled.
49+
50+
1. Verify that you can sign on to the Windows 11 guest in the VM, and if BitLocker encryption for the OS volume remains enabled. If true, this confirms that the vTPM state was preserved during VM migration.
51+
52+
> [!NOTE]
53+
> If vTPM state wasn't preserved during VM migration, VM startup would result in BitLocker recovery during guest boot up. You would be prompted for the BitLocker recovery password when you attempted to sign on to the Windows 11 guest. This situation occurs because the boot measurement (stored in the vTPM) of the migrated VM on the destination node is different from that of the original VM.
54+
55+
1. Force the VM to fail over to another machine in the system.
56+
57+
1. Confirm the owner node of the VM using the following command.
58+
59+
```powershell
60+
Get-ClusterGroup <VM name>
61+
```
62+
63+
1. Use Failover Cluster Manager to stop the cluster service on the owner node as follows: Select the owner node as displayed in Failover Cluster Manager.  On the **Actions** right pane, select **More Actions** and then select **Stop Cluster Service**.
64+
65+
1. Stopping the cluster service on the owner node causes the VM to be automatically migrated to another available machine in the system. Restart the cluster service afterwards.
66+
67+
1. After failover completes, verify if the VM is available and BitLocker is enabled after failover.
68+
69+
1. Confirm that the owner node of the VM is the specified destination node.
70+
71+
```powershell
72+
Get-ClusterGroup <VM name>
73+
```
74+
75+
1. After VM failover completes, verify if the VM is available and BitLocker is enabled.
76+
77+
1. Verify that you can sign on to the Windows 11 guest in the VM, and if BitLocker encryption for the OS volume remains enabled. If true, the vTPM state was preserved during VM failover.
78+
79+
> [!NOTE]
80+
> If vTPM state wasn't preserved during VM migration, VM startup would result in BitLocker recovery during guest boot up. You would be prompted for the BitLocker recovery password when you attempted to sign on to the Windows 11 guest. This situation occurs because the boot measurement (stored in the vTPM) of the migrated VM on the destination node is different from that of the original VM.
81+
82+
83+
## Next steps
84+
85+
- [Manage Trusted launch Arc VM guest state protection key](trusted-launch-vm-import-key.md).

0 commit comments

Comments
 (0)