Skip to content

Commit 805b04f

Browse files
Merge pull request #253496 from EMaher/enewman/non-admin-update
Non-admin instructions for nested virtualization
2 parents 17cdba4 + b2155e3 commit 805b04f

File tree

2 files changed

+24
-13
lines changed

2 files changed

+24
-13
lines changed

articles/lab-services/class-type-networking-gns3.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.date: 04/24/2023
1414

1515
[!INCLUDE [preview note](./includes/lab-services-new-update-focused-article.md)]
1616

17-
This article shows you how to set up a class for emulating, configuring, testing, and troubleshooting virtual and real networks using [GNS3](https://www.gns3.com/) software.
17+
This article shows you how to set up a class for emulating, configuring, testing, and troubleshooting networks using [GNS3](https://www.gns3.com/) software.
1818

1919
This article has two main sections. The first section covers how to create the lab. The second section covers how to create the [template machine](./classroom-labs-concepts.md#template-virtual-machine) with nested virtualization enabled and with GNS3 installed and configured.
2020

@@ -50,11 +50,13 @@ To configure the template VM, complete the following tasks:
5050

5151
To prepare the template virtual machine for nested virtualization, follow the detailed steps in [enable nested virtualization](how-to-enable-nested-virtualization-template-vm.md).
5252

53+
If you created a lab template VM with a non-admin account, add the non-admin account to the **Hyper-V Administrators** group. For more information about using nested virtualization with a non-admin account, see [non-admin user best practices](concept-nested-virtualization-template-vm.md#non-admin-user).
54+
5355
### Install GNS3
5456

5557
1. Connect to the template VM by using remote desktop.
5658

57-
1. Follow the detailed instructions on the GNS3 website, to [install GNS3 on Windows](https://docs.gns3.com/docs/getting-started/installation/windows).
59+
1. Follow the detailed instructions on the GNS3 website, to [install GNS3 on Windows](https://docs.gns3.com/docs/getting-started/installation/windows).
5860

5961
1. Make sure to select **GNS3 VM** in the component dialog:
6062

@@ -75,11 +77,11 @@ To prepare the template virtual machine for nested virtualization, follow the de
7577

7678
When the setup finishes, a zip file `GNS3.VM.Hyper-V.2.2.17.zip` is downloaded to the same folder as the installation file. The zip file contains the virtual disks and the PowerShell script to create the Hyper-V virtual machine.
7779

78-
To create the GNS 3 VM:
80+
To create the GNS 3 VM:
7981

8082
1. Connect to the template VM by using remote desktop.
8183

82-
1. Extract all files in the `GNS3.VM.Hyper-V.2.2.17.zip` file.
84+
1. Extract all files in the `GNS3.VM.Hyper-V.2.2.17.zip` file. If the template VM has a non-admin account for lab users, extract the files in a location accessible to the non-admin account.
8385

8486
1. Right-select the `create-vm.ps1` PowerShell script, and then select **Run with PowerShell**.
8587

@@ -115,6 +117,8 @@ Now that you installed GNS3, and added the GNS3 VM, configure GNS 3 to use the H
115117

116118
Next, you can add appliances for the class. Follow the detailed steps from the GNS3 documentation to [install appliances from the GNS3 marketplace](https://docs.gns3.com/docs/using-gns3/beginners/install-from-marketplace).
117119

120+
If the template VM has a non-admin account for lab users, install the appliances to a location accessible to the non-admin account. Optionally, you can set the preferences for the admin and non-admin user to look for appliances and projects in a location accessible by both users.
121+
118122
### Prepare to publish template
119123

120124
Now that you set up the template virtual machine, verify the following key points before you publish the template:

articles/lab-services/concept-nested-virtualization-template-vm.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ Before setting up a lab with nested virtualization, here are a few things to tak
3636

3737
- Hyper-V guest VMs are licensed as independent machines. For information about licensing for Microsoft operation systems and products, see [Microsoft Licensing](https://www.microsoft.com/licensing/default). Check licensing agreements for any other software you use, before installing it on the template VM or guest VMs.
3838

39-
- Virtualization applications other than Hyper-V are [*not* supported for nested virtualization](/virtualization/hyper-v-on-windows/user-guide/nested-virtualization#3rd-party-virtualization-apps). This includes any software that requires hardware virtualization extensions.
39+
- Virtualization applications other than Hyper-V [*aren't* supported for nested virtualization](/virtualization/hyper-v-on-windows/user-guide/nested-virtualization#3rd-party-virtualization-apps). This includes any software that requires hardware virtualization extensions.
4040

4141
## Enable nested virtualization for a lab
4242

43-
To avoid that lab users need to enable nested virtualization on their lab VM and install the nested VMs inside it, you can prepare a lab template. When you publish the lab, each lab user has a lab VM that already contains the nested virtual machines.
43+
You can enable nested virtualization and create nested Hyper-V VMs on the template VM. When you publish the lab, each lab user has a lab VM that already contains the nested virtual machines.
4444

4545
To enable nested virtualization for a lab:
4646

@@ -77,12 +77,12 @@ You can connect to a lab VM from another lab VM or a nested VM without any extra
7777
Consider the following sample lab setup:
7878

7979
- Lab VM 1 (Windows Server 2022, IP 10.0.0.8)
80-
- Nested VM 1-1 (Ubuntu 20.04, IP 192.168.0.102)
81-
- Nested VM 1-2 (Windows 11, IP 192.168.0.103, remote desktop enabled and allowed)
80+
- Nested VM 1-1 (Ubuntu 20.04, IP 192.168.0.102)
81+
- Nested VM 1-2 (Windows 11, IP 192.168.0.103, remote desktop enabled and allowed)
8282

8383
- Lab VM 2 (Windows Server 2022, IP 10.0.0.9)
84-
- Nested VM 2-1 (Ubuntu 20.04, IP 192.168.0.102)
85-
- Nested VM 2-2 (Windows 11, IP 192.168.0.103, remote desktop enabled and allowed)
84+
- Nested VM 2-1 (Ubuntu 20.04, IP 192.168.0.102)
85+
- Nested VM 2-2 (Windows 11, IP 192.168.0.103, remote desktop enabled and allowed)
8686

8787
To connect with SSH from lab VM 2 to nested lab VM 1-1:
8888

@@ -108,12 +108,19 @@ To connect with RDP from lab VM 2, or its nested VMs, to nested lab VM 1-2:
108108
109109
1. On lab VM 2, or its nested VMs, connect using RDP to `10.0.0.8:3390`
110110
111-
112111
> [!IMPORTANT]
113112
> Include `~\` in front of the user name. For example, `~\Administrator` or `~\user1`.
114113
115114
## Recommendations
116115
116+
### Non-admin user
117+
118+
You may choose to create a non-admin user when creating your lab. There are a few things to note when using nested virtualization with a non-admin account.
119+
120+
- To be able to start or stop VMs, the non-admin user must be added to **Hyper-V Administrators** group.
121+
- The non-admin user can't mount drives.
122+
- The Hyper-V VM files must be saved in a location accessible to the non-admin user.
123+
117124
### Processor compatibility
118125
119126
The nested virtualization VM sizes may use different processors as shown in the following table:
@@ -139,11 +146,11 @@ When you create the nested virtual machines, choose the [VHDX file format](/open
139146
140147
### Configure the number of vCPUs for nested VMs
141148
142-
By default, when you create the nested virtual machine, only one virtual CPU (*vCPU*) is assigned. Depending on the operating system, and software of the nested VM, you might have to increase the number of vCPUs.
149+
By default, when you create the nested virtual machine, only one virtual CPU (*vCPU*) is assigned. Depending on the operating system, and software of the nested VM, you might have to increase the number of vCPUs. For more information about managing and setting nested VM CPU resources, see [Hyper-V processor performance](/windows-server/administration/performance-tuning/role/hyper-v-server/processor-performance) or [Set-VM](/powershell/module/hyper-v/set-vm) PowerShell cmdlet.
143150
144151
### Configure the assigned memory for nested VMs
145152
146-
When you create the nested virtual machine, the minimum assigned memory might not be sufficient for the operating system and installed software of the nested VM. You might have to increase the minimum amount of assigned memory for the nested VM.
153+
When you create the nested virtual machine, the minimum assigned memory might not be sufficient for the operating system and installed software of the nested VM. You might have to increase the minimum amount of assigned memory for the nested VM. For more information about managing and setting nested VM CPU resources, see [Hyper-V Host CPU Resource Management](/windows-server/virtualization/hyper-v/manage/manage-hyper-v-minroot-2016) or [Set-VM](/powershell/module/hyper-v/set-vm) PowerShell cmdlet.
147154
148155
### Best practices for running Linux on Hyper-V
149156

0 commit comments

Comments
 (0)