Skip to content

Commit 736919f

Browse files
author
Jaromir Kaspar
authored
Merge pull request #431 from microsoft/dev
Dev
2 parents e00b0bc + a8e4666 commit 736919f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+257
-114
lines changed

Docs/AzureStackHCI/01-AzSHCI-Planning/03-deployment-models-and-workloads.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Technically all VMs are located on SOFS share that is presented using DFS-N name
2828

2929
## User Profile Disks host (Windows Server Only)
3030

31-
Azure Stack HCI can also host user profile disks (UPDs). Since UPD is VHD (both native Windows Server functionality and [FSLogix](https://github.com/microsoft/WSLab/tree/master/Scenarios/FSLogix)), Scale-Out File Server can be used as workload pattern is the same as for Virtual Machines.
31+
Azure Stack HCI can also host user profile disks (UPDs). Since UPD is VHD (both native Windows Server functionality and [FSLogix](https://github.com/microsoft/MSLab/tree/master/Scenarios/FSLogix)), Scale-Out File Server can be used as workload pattern is the same as for Virtual Machines.
3232

3333
## SQL
3434

Docs/AzureStackHCI/02-AzSHCI-Deployment/02-os-deployment.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ You can interactively install or upgrade Windows by using the Windows product me
1111
### Manual steps needed after interactive setup
1212

1313
> [!TIP]
14-
> You can test this in [WSLab](https://aka.ms/WSLab) with following VMs in labconfig:
14+
> You can test this in [MSLab](https://aka.ms/MSLab) with following VMs in labconfig:
1515
>
1616
> 1..4 | ForEach-Object {$VMNames="S2D"; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'Win2019Core_G2.vhdx'; HDDNumber = 12; HDDSize= 4TB ; **Unattend="None"**}}
1717
>
18-
>To test environment without dhcp, just stop dhcp server with **Stop-Service DHCPServer** on WSLab DC
18+
>To test environment without dhcp, just stop dhcp server with **Stop-Service DHCPServer** on MSLab DC
1919
2020
if DHCP is not enabled, it's necessary to configure IP and domain join machines. The easiest is to run sconfig that will pop up wizard. Following are powershell examples to configure the same
2121

@@ -369,11 +369,11 @@ Read-Host
369369

370370
## SCVMM
371371

372-
Since deploying operating system with SCVMM is bit complex task, it's well explained within [WSLab scenario](https://github.com/microsoft/WSLab/tree/master/Scenarios/S2D%20and%20Bare%20Metal%20with%20SCVMM).
372+
Since deploying operating system with SCVMM is bit complex task, it's well explained within [MSLab scenario](https://github.com/microsoft/MSLab/tree/master/Scenarios/S2D%20and%20Bare%20Metal%20with%20SCVMM).
373373

374374
## MDT
375375

376-
Unlike SCVMM, Microsoft Deployment toolkit is a free tool. Together with SQL Express with database of your asset, you can perform Zero Touch Installation. See more in [WSLab scenario](https://github.com/microsoft/WSLab/tree/master/Scenarios/AzSHCI%20and%20MDT).
376+
Unlike SCVMM, Microsoft Deployment toolkit is a free tool. Together with SQL Express with database of your asset, you can perform Zero Touch Installation. See more in [MSLab scenario](https://github.com/microsoft/MSLab/tree/master/Scenarios/AzSHCI%20and%20MDT).
377377

378378
## Useful tools in install media
379379

Docs/AzureStackHCI/02-AzSHCI-Deployment/03-os-configuration.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ To complete following steps it is necessary, that servers are domain joined and
77
![](03-OS-Configuration/media/MinimumInfrastructure01.png)
88

99
> [!TIP]
10-
> You can test OS Configuration in [WSLab](https://aka.ms/WSLab) with following VMs in labconfig:
10+
> You can test OS Configuration in [MSLab](https://aka.ms/MSLab) with following VMs in labconfig:
1111
> 1..4 | ForEach-Object {$VMNames="S2D"; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'Win2019Core_G2.vhdx'; HDDNumber = 12; HDDSize= 4TB }}
1212
1313
## Install management tools on management machine
@@ -69,7 +69,7 @@ if ($InstallationType -eq "Client"){
6969

7070
## Perform Windows Update on Servers
7171

72-
Assuming Server Names are S2D1,S2D2,S2D3 and S2D4 (defined in variable $Servers). In WSLab is one [scenario](https://github.com/microsoft/WSLab/tree/master/Scenarios/Windows%20Update), that explains how to invoke Windows Update using WMI/CIM methods. There are different classes in Windows Server 2016 and Windows Server 2019. Therefore in following code is releaseID checked and then depending on that different CIM namespace used. In Deep Dive Scenario you can see, that slightly different argument is used (with AutoSelectOnWebSites=1). [AutoSelectOnWebSites = 1](https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nf-wuapi-iupdatesearcher-search) will also find updates that are flagged to be automatically selected by windows update.
72+
Assuming Server Names are S2D1,S2D2,S2D3 and S2D4 (defined in variable $Servers). In MSLab is one [scenario](https://github.com/microsoft/MSLab/tree/master/Scenarios/Windows%20Update), that explains how to invoke Windows Update using WMI/CIM methods. There are different classes in Windows Server 2016 and Windows Server 2019. Therefore in following code is releaseID checked and then depending on that different CIM namespace used. In Deep Dive Scenario you can see, that slightly different argument is used (with AutoSelectOnWebSites=1). [AutoSelectOnWebSites = 1](https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nf-wuapi-iupdatesearcher-search) will also find updates that are flagged to be automatically selected by windows update.
7373

7474
### Configure
7575

@@ -129,7 +129,7 @@ Invoke-Command -ComputerName $servers -ScriptBlock {
129129

130130
## Configure Spectre/Meltdown mitigations
131131

132-
It is recommended to review [settings](https://support.microsoft.com/en-us/help/4072698/windows-server-speculative-execution-side-channel-vulnerabilities) that will prevent exploiting Speculative Execution Side Channel vulnerabilities. Settings configuration can be validated using [Speculation Control Module](https://aka.ms/SpeculationControlPS) that is also described in [dedicated WSLab Scenario](https://github.com/microsoft/WSLab/tree/master/Scenarios/Exploring%20SpeculationControlSettings)
132+
It is recommended to review [settings](https://support.microsoft.com/en-us/help/4072698/windows-server-speculative-execution-side-channel-vulnerabilities) that will prevent exploiting Speculative Execution Side Channel vulnerabilities. Settings configuration can be validated using [Speculation Control Module](https://aka.ms/SpeculationControlPS) that is also described in [dedicated MSLab Scenario](https://github.com/microsoft/MSLab/tree/master/Scenarios/Exploring%20SpeculationControlSettings)
133133

134134
Following guidance is applicable to Intel processors.
135135

@@ -241,7 +241,7 @@ $result | Sort-Object PSComputerName | Format-Table -GroupBy PSComputerName
241241

242242
## Install Agents
243243

244-
This part will just demonstrate how to push and install Local Admin Password Solution (LAPS). Other agents can be installed similar way using PowerShell. Full WSLab scenario is located [here](https://github.com/microsoft/WSLab/tree/master/Scenarios/LAPS).
244+
This part will just demonstrate how to push and install Local Admin Password Solution (LAPS). Other agents can be installed similar way using PowerShell. Full MSLab scenario is located [here](https://github.com/microsoft/MSLab/tree/master/Scenarios/LAPS).
245245

246246
```powershell
247247
$Servers="AzSHCI1","AzSHCI2","AzSHCI3","AzSHCI4"

Docs/AzureStackHCI/02-AzSHCI-Deployment/04-network-configuration.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ To complete following steps it is necessary, that servers are [domain joined](\0
66

77
It is also necessary to configure physical switches correctly. In general there should be multiple VLANs configured on ports (for Management,Storage and Virtual Machines) with one access VLAN (management). It is also mandatory to configure PfC/ETS when RoCE RDMA is used (DCB Priority Flow Control with priorities 0,3 and 7 with ETS enabled). See [network architecture part](/AzureStackHCI/01-AzSHCI-Planning/04-network-architecture.md). Great switch configuration examples were published by PFE Jan Mortensen at [s2d.dk](http://www.s2d.dk).
88

9-
There are multiple ways to deploy networking in Azure Stack HCI clusters. Following guidance is for converged setup with one or two SMB subnets. Additional scenarios are covered in WSLab in [S2D and Network Deep Dive scenario](https://github.com/microsoft/WSLab/tree/master/Scenarios/S2D%20and%20Networks%20deep%20dive) and [S2D and Direct Connectivity Scenario](https://github.com/microsoft/WSLab/tree/master/Scenarios/S2D%20and%20Direct%20Connectivity)
9+
There are multiple ways to deploy networking in Azure Stack HCI clusters. Following guidance is for converged setup with one or two SMB subnets. Additional scenarios are covered in MSLab in [S2D and Network Deep Dive scenario](https://github.com/microsoft/MSLab/tree/master/Scenarios/S2D%20and%20Networks%20deep%20dive) and [S2D and Direct Connectivity Scenario](https://github.com/microsoft/MSLab/tree/master/Scenarios/S2D%20and%20Direct%20Connectivity)
1010

1111
## Disable unused adapters
1212

@@ -61,7 +61,7 @@ Invoke-Command -ComputerName $Servers -ScriptBlock {
6161

6262
### Validate
6363

64-
Note: following example is inside VMs (WSLab), therefore IOV does not work.
64+
Note: following example is inside VMs (MSLab), therefore IOV does not work.
6565

6666
```powershell
6767
$Servers="AzSHCI1","AzSHCI2","AzSHCI3","AzSHCI4"

Docs/AzureStackHCI/02-AzSHCI-Deployment/06-creating-volumes.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
## Some theory
44

5-
When creating volumes, there are several factors to consider. One is, that due to overhead from [CSV redirection](https://github.com/microsoft/WSLab/tree/master/Scenarios/TestingCSVRedirection) (CSV is FileSystem redirected if REFS used and even if NTFS is used, Storage Spaces are File redirected). Therefore you want to have at least the same number of volumes as you have nodes (or multiple) to effectively distribute IOPS. Another factor is size of volume itself. While it is supported to create 64TB volume, it might be challenging to restore entire volume in reasonable time if something goes wrong.
5+
When creating volumes, there are several factors to consider. One is, that due to overhead from [CSV redirection](https://github.com/microsoft/MSLab/tree/master/Scenarios/TestingCSVRedirection) (CSV is FileSystem redirected if REFS used and even if NTFS is used, Storage Spaces are File redirected). Therefore you want to have at least the same number of volumes as you have nodes (or multiple) to effectively distribute IOPS. Another factor is size of volume itself. While it is supported to create 64TB volume, it might be challenging to restore entire volume in reasonable time if something goes wrong.
66

7-
Another aspect is if using [tiers](https://github.com/microsoft/WSLab/tree/master/Scenarios/S2D%20and%20Tiers%20deep%20dive) (templates) or not. Tiers are mandatory for Multi-Resilient volumes (Mirror-Accelerated Parity) - anytime you want to create a volume that consist of more than 1 kind (different tiers). If using system, where are both SSDs and HDDs for capacity, it is wise to either use tiers, or specify mediatype for created volume. For mor information about volumes see [Volume Deep Dive](https://github.com/Microsoft/WSLab/tree/master/Scenarios/S2D%20and%20Volumes%20deep%20dive)
7+
Another aspect is if using [tiers](https://github.com/microsoft/MSLab/tree/master/Scenarios/S2D%20and%20Tiers%20deep%20dive) (templates) or not. Tiers are mandatory for Multi-Resilient volumes (Mirror-Accelerated Parity) - anytime you want to create a volume that consist of more than 1 kind (different tiers). If using system, where are both SSDs and HDDs for capacity, it is wise to either use tiers, or specify mediatype for created volume. For mor information about volumes see [Volume Deep Dive](https://github.com/Microsoft/MSLab/tree/master/Scenarios/S2D%20and%20Volumes%20deep%20dive)
88

99
## Create volumes
1010

11-
Following example is based on [AzSHCI Deployment Scenario](https://github.com/microsoft/WSLab/blob/master/Scenarios/AzSHCI%20Deployment/Scenario.ps1)
11+
Following example is based on [AzSHCI Deployment Scenario](https://github.com/microsoft/MSLab/blob/master/Scenarios/AzSHCI%20Deployment/Scenario.ps1)
1212

1313
### Calculate reserve
1414

18.3 KB
Loading
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Deploying VMs
2+
3+
Depending on scale, you might consider using PowerShell to deploy Virtual Machines and join these machines to domain in one iteration. The process is two part. In first part you create a VM on one cluster node (preferably random) and second part adds this VM as clustered resource
4+
5+
## Simple example
6+
7+
```powershell
8+
$VMName="MyVM"
9+
$VolumeName="MirrorDisk1"
10+
$ClusterName="AzSHCI-Cluster"
11+
$ClusterNode="AzSHCI1"
12+
$SwitchName="SETSwitch"
13+
$DiskSize=128GB
14+
$MemoryStartupBytes=1GB
15+
16+
New-VM -Name $VMName `
17+
-NewVHDPath "c:\ClusterStorage\$VolumeName\$VMName\Virtual Hard Disks\$VMName.vhdx" `
18+
-NewVHDSizeBytes $DiskSize `
19+
-SwitchName $SwitchName `
20+
-Generation 2 `
21+
-Path "c:\ClusterStorage\$VolumeName\" `
22+
-MemoryStartupBytes $MemoryStartupBytes `
23+
-CimSession $ClusterNode
24+
25+
Add-ClusterVirtualMachineRole -VMName $VMName -Cluster $ClusterName
26+
27+
```
28+
29+
Since above example just creates blank VM, let's experiment with creating Windows Server Virtual Machine.
30+
31+
## Creating Windows Server/Windows 10 VHD
32+
33+
To create Windows vhd/vhdx can be tool convert-windowsimage used. https://github.com/MicrosoftDocs/Virtualization-Documentation/blob/master/hyperv-tools/Convert-WindowsImage/Convert-WindowsImage.ps1
34+
35+
To simplify conversion process you will find **CreateParentDisk.ps1** tool in mslab. It is available [MSLab GitHub](https://github.com/microsoft/MSLab/blob/master/Tools/CreateParentDisk.ps1) and the only thing needed is to right-click and select "run with PowerShell". The script will download convert-windowsimage and will ask for ISO and MSU (Cumulative Update and Servicing Stack Update). To Download CU and SSU you can use another tool - [DownloadLatestCUs.ps1](https://github.com/microsoft/MSLab/blob/master/Tools/DownloadLatestCUs.ps1).
36+
37+
![](07-Deploying-VMs/media/Explorer01.png)
38+
39+
Once parent VHD is created, we can proceed with VM creation. The end-to-end process on how to create domain-joined VMs with various parameters is documented [here](https://github.com/microsoft/MSLab/tree/master/Scenarios/S2D%20and%20Bulk%20VM%20creation)

Docs/AzureStackHCI/02-AzSHCI-Deployment/06-Creating-Volumes/.gitkeep renamed to Docs/AzureStackHCI/04-AzSHCI-Troubleshooting/01-Health-Service/.gitkeep

File renamed without changes.

Docs/AzureStackHCI/02-AzSHCI-Deployment/07-Deploying-VMs/.gitkeep renamed to Docs/AzureStackHCI/04-AzSHCI-Troubleshooting/02-Servicing/.gitkeep

File renamed without changes.

Docs/WSLab-Advanced/creating-parent-disk.md renamed to Docs/AzureStackHCI/04-AzSHCI-Troubleshooting/03-Monitoring/.gitkeep

File renamed without changes.

0 commit comments

Comments
 (0)