Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MVPDays Publishing
http://www.mvpdays.com
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any
means without the prior written permission of the publisher.
ISBN:TBA
Feedback Information
We’d like to hear from you! If you have any comments about how we could improve the quality
of this book, please don’t hesitate to contact us by visiting www.checkyourlogs.net or sending an
email to feedback@mvpdays.com.
iii
Acknowledgements
iii
Acknowledgements
Acknowledgements
From Dave
Cristal, you are my rock and my source of inspiration. For the past 20 + years you have been
there with me every step of the way. Not only are you the “BEST Wife” in the world you are my
partner in crime. Christian, Trinity, Keira, Serena, Mickaila and Mackenzie, you kids are so patient
with your dear old dad when he locks himself away in the office for yet another book. Taking the
time to watch you grow in life, sports, and become little leaders of this new world is incredible to
watch.
Thank you, Mom and Dad (Frank and Audry) and my brother Joe. You got me started in this crazy
IT world when I was so young. Brother, you mentored me along the way both coaching me in
hockey and helping me learn what you knew about PC’s and Servers. I’ll never forget us as
teenage kids working the IT Support contract for the local municipal government. Remember
dad had to drive us to site because you weren’t old enough to drive ourselves yet. A great
career starts with the support of your family and I’m so lucky because I have all the support one
could ever want.
A book like this filled with amazing Canadian MVP’s would not be possible without the support
from the #1 Microsoft Community Program Manager – Simran Chaudry. You have guided us
along the path and helped us to get better at what we do every day. Your job is tireless and
your passion and commitment make us want to do what we do even more.
Last but not least, the MVPDays volunteers, you have donated your time and expertise and
helped us run the event in over 20 cities across North America. Our latest journey has us
expanding the conference worldwide as a virtual conference. For those of you that will read this
book your potential is limitless just expand your horizons and you never know where life will take
you.
iv
About the Authors
Dave is well-known in the community as an evangelist for Microsoft, 1E, and Veeam
technologies. Locating Dave is easy as he speaks at several conferences and sessions each year,
including TechEd, Ignite, MVP Days Community Roadshow, and VeeamOn.
Recently Dave has been honored to take on the role of Conference Co-Chair of TechMentor with
fellow MVP Sami Laiho. The lineup of speakers and attendees that have been to this conference
over the past 20 years is really amazing. Come down to Redmond or Orlando in 2018 and you
can meet him in person.
As the founder and Managing Principal Consultant at TriCon Elite Consulting, Dave is a leading
technology expert for both local customers and large international enterprises, providing optimal
guidance and methodologies to achieve and maintain an efficient infrastructure.
BLOG: www.checkyourlogs.net
Twitter: @DaveKawula
v
About the Authors
He is an expert at scripting solutions and has an uncanny ability to reduce complexity and
maximize the functionality of PowerShell. Allan has recently rejoined the TriCon Elite Consulting
team again as a Principal Consultant.
BLOG: http://www.checkyourlogs.net
Twitter: @allanrafuse
vi
About the Authors
Cristal can be found speaking at Microsoft Ignite, MVPDays, and other local user groups. She is
extremely active in the community and has recently helped publish a book for other Women
MVP’s called Voices from the Data Platform.
BLOG: http://www.checkyourlogs.net
Twitter: @supercristal1
vii
About the Authors
Cary Sun is CISCO CERTIFIED INTERNETWORK EXPERT (CCIE No.4531) and MCSE, MCIPT, Citrix
CCA with over twenty years in the planning, design, and implementation of network technologies
and Management and system integration. Background includes hands-on experience with multi-
platform, all LAN/WAN topologies, network administration, E-mail and Internet systems, security
products, PCs and Servers environment. Expertise analyzing user’s needs and coordinating
system designs from concept through implementation. Exceptional analysis, organization,
communication, and interpersonal skills. Demonstrated ability to work independently or as an
integral part of team to achieve objectives and goals. Specialties: CCIE /CCNA / MCSE / MCITP /
MCTS / MCSA / Solution Expert / CCA
Cary’s is a very active blogger at checkyourlogs.net and always available online for questions
from the community. He passion about technology is contagious and he makes everyone around
him better at what they do.
Blog:http://www.checkyourlogs.net
Twitter:@SifuSun
viii
About the Authors
ix
Contents
Contents
Acknowledgements ...................................................................................................... iv
From Dave ............................................................................................................. iv
Contents......................................................................................................................... x
Introduction ................................................................................................................. 16
Chapter 1...................................................................................................................... 19
Pre-Requisites ............................................................................................................. 19
Lab Server Names .................................................................................................... 19
Building the Lab with BigDemo_VMM.PS1 ............................................................... 21
Enable Routing in the Lab ......................................................................................... 26
Software Requirements ............................................................................................ 40
Virtual Machine Manager Accounts Required for Build ......................................... 42
x
Contents
Add a 2 VHDx drives to the VMM Server for the SQL Install ..................................... 46
Install Windows ADK 1709 ........................................................................................ 55
SQL Command Line Utilities ..................................................................................... 58
Chapter 2...................................................................................................................... 59
Chapter 3...................................................................................................................... 79
Chapter 4...................................................................................................................... 90
xi
Contents
Host Patching of Storage Spaces Direct (S2D) with VMM ...................................... 236
xiii
Contents
BigDemo_VMM.PS1................................................................................................... 278
xiv
Contents
Join us at MVPDays and meet great MVP’s like this in person .............................. 297
Live Presentations .................................................................................................. 297
Video Training......................................................................................................... 297
Live Instructor-led Classes ...................................................................................... 298
Consulting Services ................................................................................................ 298
Twitter ..................................................................................................................... 299
xv
Introduction North American MVPDays Community Roadshow
Introduction
MVPDays was founded by Cristal and Dave Kawula back in 2013. It started as a simple idea;
“There’s got to be a good way for Microsoft MVPs to reach the IT community and share their
vast knowledge and experience in a fun and engaging way” I mean, what is the point in
recognizing these bright and inspiring individuals, and not leveraging them to inspire the
community that they are a part of.
Anyone that has an interest in technology, is eager to learn, and wants to meet other like-
minded individuals. This Roadshow is not just for Microsoft MVP’s it is for anyone in the IT
Community.
Make sure you check out the MVPDays website at: www.mvpdays.com. You never know maybe
the roadshow will be coming to a city near you.
The goal of this particular book is to bring you real world step-by-step guidance from our expert
MVP Authors on Microsoft System Center Virtual Machine Manager. These are the same experts
you come to see in person at the MVPDays Roadshow. This book is written in the format of a
Step-by-Step learning guide. We really hope you find some immense value in what we have
written.
16
Introduction North American MVPDays Community Roadshow
Sample Files
All sample files for this book can be downloaded from www.checkyourlogs.net and
www.github.com/dkawula
Additional Resources
In addition to all tips and tricks provided in this book, you can find extra resources like articles
and video recordings on our blog http://www.checkyourlogs.net.
17
Introduction North American MVPDays Community Roadshow
18
Chapter 1 Pre-Requisites
Chapter 1
Pre-Requisites
Lab Server Names
The follow table describes the required Virtual Machines to build this lab. This lab is designed to
be built on a Hyper-V Host Server with a minimum of 16 GB of RAM. An automation script called
BigDemo_VMM.PS1 has been used to provision this lab environment. A copy of this script can
be found in the appendices.
19
Chapter 1 Pre-Requisites
20
Chapter 1 Pre-Requisites
2. Open an administrative
Invoke-WebRequest -Uri "
PowerShell prompt and https://raw.githubusercontent.com/dkawula/Deploying-
System-Center-Virtual-Machine-Manager-
type: 2016/master/BigDemo_VMM.ps1" -OutFile "C:\Post-
Install\BigDemo_VMM.ps1"
21
Chapter 1 Pre-Requisites
4. Copy BigDemo_VMM.PS1
from C:\Post-Install to
F:\BigDemo_VMM
5. Open
BigDemo_VMM.PS1 with
the PowerShell ISE edit
lines 425 and 434 putting
in Your Product key
received with the EVAL
Version of Windows
Server 2016 Downloaded
above
Save BigDemo_VMM.PS1
22
Chapter 1 Pre-Requisites
7. Open an administrative
PowerShell prompt. Run
BigDemo_VMM.PS1
WorkingDir:
f:\dcbuild_VMM
Organization: MVPDays
Rockstarts
TimeZone: Mountain
Standard Time
AdminPassword:
P@ssw0rd
DomainName:
MVPDays.com
DomainAdminPassword:
P@ssw0rd
VirtualSwitchName:
MVPDays_VMM_VSwitch
Subnet: 172.16.100.
ExtraLabFiles: C:\
23
Chapter 1 Pre-Requisites
8. It will take
approximately 1 hour
to build the Lab
Environment
24
Chapter 1 Pre-Requisites
25
Chapter 1 Pre-Requisites
26
Chapter 1 Pre-Requisites
27
Chapter 1 Pre-Requisites
Internet: 192.168.0.254
Subnet = 255.255.255.0
Gateway = 192.168.0.1
28
Chapter 1 Pre-Requisites
29
Chapter 1 Pre-Requisites
30
Chapter 1 Pre-Requisites
31
Chapter 1 Pre-Requisites
32
Chapter 1 Pre-Requisites
33
Chapter 1 Pre-Requisites
34
Chapter 1 Pre-Requisites
35
Chapter 1 Pre-Requisites
36
Chapter 1 Pre-Requisites
37
Chapter 1 Pre-Requisites
38
Chapter 1 Pre-Requisites
39
Chapter 1 Pre-Requisites
Software Requirements
The following table provides a summary of the Microsoft software that is used in this guide.
40
Chapter 1 Pre-Requisites
41
Chapter 1 Pre-Requisites
42
Chapter 1 Pre-Requisites
The Computer Accounts as they have been joined to the MVPDays Domain
43
Chapter 1 Pre-Requisites
44
Chapter 1 Pre-Requisites
45
Chapter 1 Pre-Requisites
Right-Click on VMM01
and click Settings
46
Chapter 1 Pre-Requisites
3. Click New
47
Chapter 1 Pre-Requisites
Name: VMM01-
D.VHDX
Location:
F:\DCBuild_VMM\VMs
\
48
Chapter 1 Pre-Requisites
49
Chapter 1 Pre-Requisites
50
Chapter 1 Pre-Requisites
51
Chapter 1 Pre-Requisites
52
Chapter 1 Pre-Requisites
53
Chapter 1 Pre-Requisites
54
Chapter 1 Pre-Requisites
8. Click Next
55
Chapter 1 Pre-Requisites
Deployment Tools
Windows Pre-installation Environment
(Windows PE)
56
Chapter 1 Pre-Requisites
57
Chapter 1 Pre-Requisites
https://www.microsoft.com
/en-
ca/download/details.aspx?i
d=36434
2. Install msodbcsql.msi
3. Accept all defaults
4. Install
MSSqlCmdLnUtils.msi
5. Accept all defaults
58
Chapter 2 Install SQL Server 2016 SP1
Chapter 2
For the purpose of this book we have pre-created the SQL Service account as part of the
BigDemo_VMM1 Script.
Note: These accounts must have Log on as a Service rights on the SQL server. This can be
achieved via Group Policy or via local policy. You cannot set via local policy if a domain group
policy is already setting a list of user accounts that can log in as a service.
The policy is configured at Computer Configuration -> Policies -> Windows Settings -> Security
Settings -> Local Policies -> User Rights Assignment and the setting is Log on as a Service.
For the purpose of this book / lab we have added the SVC_SQL Service account as a local
administrator on the VMM01 Server.
59
Chapter 2 Install SQL Server 2016 SP1
1. Logon to VMM01 as
MVPDays\Administrator
4. Navigate to Inbound
rules
60
Chapter 2 Install SQL Server 2016 SP1
9. Click Next
61
Chapter 2 Install SQL Server 2016 SP1
62
Chapter 2 Install SQL Server 2016 SP1
63
Chapter 2 Install SQL Server 2016 SP1
1. Logon to VMM01 as
MVPDays\Administrator
2. Mount SQL media to the Media available from the volume license download site
media drive of the site
server
3. Open File Explorer,
navigate to Computer
and then double-click
the Media Drive
4. When prompted by
User Account Control
(UAC), click Yes to
continue with the
installation.
5. The SQL Server
Installation Center
screen launches
64
Chapter 2 Install SQL Server 2016 SP1
65
Chapter 2 Install SQL Server 2016 SP1
4. Click Next
7. Click Next
66
Chapter 2 Install SQL Server 2016 SP1
67
Chapter 2 Install SQL Server 2016 SP1
68
Chapter 2 Install SQL Server 2016 SP1
the P@ssw0rd.
69
Chapter 2 Install SQL Server 2016 SP1
70
Chapter 2 Install SQL Server 2016 SP1
71
Chapter 2 Install SQL Server 2016 SP1
72
Chapter 2 Install SQL Server 2016 SP1
1. Logon to VMM01 as
73
Chapter 2 Install SQL Server 2016 SP1
74
Chapter 2 Install SQL Server 2016 SP1
1. Logon to VMM01
as
MVPDays\Administrat
or
3. Click Connect to
connect to the
local database
75
Chapter 2 Install SQL Server 2016 SP1
4. Within the
Management
Studio, right-click
the Server and
select Properties
76
Chapter 2 Install SQL Server 2016 SP1
5. Select the
Memory node
6. Reset the
maximum
memory to one
half the memory
of the site server.
In other words, if
the site server is
configured with 16
GB of RAM,
configure SQL to
only consume 8
GB maximum.
77
Chapter 2 Install SQL Server 2016 SP1
7. Save settings.
8. If available
configure VMM01
with 16 GB of
RAM
Configuration
Manager will
perform better in
the lab with 16 GB
of RAM
78
Chapter 3 Install System Center Virtual Machine Manager
Chapter 3
1. Logon to VMM as
MVPDays\Administrator
79
Chapter 3 Install System Center Virtual Machine Manager
80
Chapter 3 Install System Center Virtual Machine Manager
1. Logon to VMM01 as
MVPDays\Administrat
or
2. Browse to d:\System
Center Virtual
Machine Manager
3. Run Setup.exe
4. Click on Install
81
Chapter 3 Install System Center Virtual Machine Manager
6. On the Product
Registration
Information fill in your
details. Thanks for the
Easter Egg in the Script
@MrThomasRayner
82
Chapter 3 Install System Center Virtual Machine Manager
83
Chapter 3 Install System Center Virtual Machine Manager
9. On the Installation
Location page change
the path to
D:\Program
Files\Microsoft System
Center 2016\Virtual
Machine Manager
84
Chapter 3 Install System Center Virtual Machine Manager
85
Chapter 3 Install System Center Virtual Machine Manager
86
Chapter 3 Install System Center Virtual Machine Manager
87
Chapter 3 Install System Center Virtual Machine Manager
1. Logon to VMM01 as
MVPDays\Administrator
2. Browse to D:\Post-Install\Update
Rollup 4 for Microsoft System Center
2016 – Virtual Machine Manager
Server (KB4041074) and double click
on the cabinet file.
3. Double click on
kb4041074_vmmserver_amd64.msp
88
Chapter 3 Install System Center Virtual Machine Manager
5. run
d:\kb4041074_vmmserver_amd64.ms
p
89
Chapter 4 Base Configuration of VMM
Chapter 4
1. Logon to VMM01 as
MVPDays\Administr
ator
90
Chapter 4 Base Configuration of VMM
Name: MVPDays-
Admin
User Name:
MVPDays\MVPDays-
Admin
Password: P@ss0wrd
91
Chapter 4 Base Configuration of VMM
1. Logon to VMM01 as
MVPDays\Administr
ator
92
Chapter 4 Base Configuration of VMM
Name: MVPDays-
Admin
User Name:
MVPDays\MVPDays-
Admin
Password: P@ss0wrd
93
Chapter 4 Base Configuration of VMM
1. Logon to VMM01 as
MVPDays\Administrator
3. Type MVPDays HQ
94
Chapter 4 Base Configuration of VMM
95
Chapter 4 Base Configuration of VMM
1. Logon to VMM01 as
MVPDays\Administra
tor
96
Chapter 4 Base Configuration of VMM
3. On the Resource
Location page ensure
Windows Server
Computers in a
Trusted Active
Directory Domain is
selected and click
Next
97
Chapter 4 Base Configuration of VMM
98
Chapter 4 Base Configuration of VMM
8. On the Target
Resources page select
all of the Hyper-V
Servers and click Next
99
Chapter 4 Base Configuration of VMM
100
Chapter 4 Base Configuration of VMM
101
Chapter 5 Configuring Host Networking for S2D with VMM
Chapter 5
https://community.mellanox.com/docs/DOC-2778
We will be emulating this design in our lab by Virtualizing the components on our Nested Hyper-
V environment in Azure.
102
Chapter 5 Configuring Host Networking for S2D with VMM
103
Chapter 5 Configuring Host Networking for S2D with VMM
IP: 172.16.100.100-150/24
GW: 172.16.100.254
DNS: 172.16.100.1
104
Chapter 5 Configuring Host Networking for S2D with VMM
##
##
##
##
## MLAG protocol
##
protocol mlag
##
##
interface port-channel 1
105
Chapter 5 Configuring Host Networking for S2D with VMM
##
## LAG configuration
##
lacp
106
Chapter 5 Configuring Host Networking for S2D with VMM
##
## VLAN configuration
##
vlan 616-621
vlan 666
vlan 999
107
Chapter 5 Configuring Host Networking for S2D with VMM
108
Chapter 5 Configuring Host Networking for S2D with VMM
##
## STP configuration
##
no spanning-tree
##
## L3 configuration
##
interface loopback 0
109
Chapter 5 Configuring Host Networking for S2D with VMM
##
##
##
## LLDP configuration
##
lldp
##
##
110
Chapter 5 Configuring Host Networking for S2D with VMM
##
## MAGP configuration
##
protocol magp
##
## MLAG configurations
111
Chapter 5 Configuring Host Networking for S2D with VMM
##
no mlag shutdown
##
##
##
## SNMP configuration
##
##
##
112
Chapter 5 Configuring Host Networking for S2D with VMM
##
##
##
##
113
Chapter 5 Configuring Host Networking for S2D with VMM
System Deployment
Install and Configure Data Center Bridging – Optional
The Steps below will configure the core roles for Storage Spaces Direct Nodes including the
settings for Data Center Bridging in the lab. Failover Clustering and Hyper-V have been
predeployed as part of the BigDemo_VMM.PS1 Script. If you are following this lab guide in Azure
or nested in Hyper-V you can skip this step because RDMA is not supported in this configuration.
We will however document it so you can see how to deploy it. If you want refer to the book
Master Storage Spaces Direct for more details on how to Setup RDMA and RoCE properly.
It is a best practice to not configure RDMA if your adapters and environment don’t support it.
114
Chapter 5 Configuring Host Networking for S2D with VMM
The LOM network Adapters will be used for the MGMT SET Team and the Riser network adapters
will be used for the Storage SET Team.
115
Chapter 5 Configuring Host Networking for S2D with VMM
116
Chapter 5 Configuring Host Networking for S2D with VMM
117
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
118
Chapter 5 Configuring Host Networking for S2D with VMM
7. On the IP Address
Range page click Next
119
Chapter 5 Configuring Host Networking for S2D with VMM
120
Chapter 5 Configuring Host Networking for S2D with VMM
121
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
122
Chapter 5 Configuring Host Networking for S2D with VMM
123
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administrato
r
124
Chapter 5 Configuring Host Networking for S2D with VMM
125
Chapter 5 Configuring Host Networking for S2D with VMM
126
Chapter 5 Configuring Host Networking for S2D with VMM
127
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
128
Chapter 5 Configuring Host Networking for S2D with VMM
129
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administra
tor
130
Chapter 5 Configuring Host Networking for S2D with VMM
7. On the IP Address
Range page click Next
131
Chapter 5 Configuring Host Networking for S2D with VMM
132
Chapter 5 Configuring Host Networking for S2D with VMM
133
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
134
Chapter 5 Configuring Host Networking for S2D with VMM
135
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administra
tor
136
Chapter 5 Configuring Host Networking for S2D with VMM
7. On the IP Address
Range page click Next
137
Chapter 5 Configuring Host Networking for S2D with VMM
138
Chapter 5 Configuring Host Networking for S2D with VMM
139
Chapter 5 Configuring Host Networking for S2D with VMM
140
Chapter 5 Configuring Host Networking for S2D with VMM
141
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
142
Chapter 5 Configuring Host Networking for S2D with VMM
7. On the IP Address
Range page change the
range to
172.16.100.150-250
click Next
143
Chapter 5 Configuring Host Networking for S2D with VMM
144
Chapter 5 Configuring Host Networking for S2D with VMM
145
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
146
Chapter 5 Configuring Host Networking for S2D with VMM
147
Chapter 5 Configuring Host Networking for S2D with VMM
148
Chapter 5 Configuring Host Networking for S2D with VMM
149
Chapter 5 Configuring Host Networking for S2D with VMM
150
Chapter 5 Configuring Host Networking for S2D with VMM
151
Chapter 5 Configuring Host Networking for S2D with VMM
152
Chapter 5 Configuring Host Networking for S2D with VMM
NOTE: In Production
we would normally
select RDMA here if we
had RDMA Adapters.
As this is a Virtual Lab
we do not so leave it
unchecked.
153
Chapter 5 Configuring Host Networking for S2D with VMM
154
Chapter 5 Configuring Host Networking for S2D with VMM
155
Chapter 5 Configuring Host Networking for S2D with VMM
156
Chapter 5 Configuring Host Networking for S2D with VMM
Name: Cluster
Static: Cluster_IP_Pool
Classification: Host
Cluster Workload
157
Chapter 5 Configuring Host Networking for S2D with VMM
43. Click on
Storage_VSW01 and
click New Virtual
Network Adapter
Name: Live Migration
Static: Live Migration
_IP_Pool
Classification: Live
Migration Workload
44. Click on
Storage_VSW01 and
click New Virtual
Network Adapter
Name: MGMT
Static: MGMT_IP_Pool
Classification: Host
Management
158
Chapter 5 Configuring Host Networking for S2D with VMM
45. Click on
Storage_VSW01 and
click New Virtual
Network Adapter
Name: SMB1
Static: Storage_IP_Pool
Classification: Storage
46. Click on
Storage_VSW01 and
click New Virtual
Network Adapter
Name: SMB2
Static: Storage_IP_Pool
Classification: Storage
47. Click Next
159
Chapter 5 Configuring Host Networking for S2D with VMM
160
Chapter 5 Configuring Host Networking for S2D with VMM
161
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
162
Chapter 5 Configuring Host Networking for S2D with VMM
163
Chapter 5 Configuring Host Networking for S2D with VMM
164
Chapter 5 Configuring Host Networking for S2D with VMM
165
Chapter 5 Configuring Host Networking for S2D with VMM
and Storage_0 in
Network Site
Name: CorpNet
Static:
CorpNet_IP_Pool
Classification: High
Bandwidth
166
Chapter 5 Configuring Host Networking for S2D with VMM
167
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
168
Chapter 5 Configuring Host Networking for S2D with VMM
6. On the Physical
Adapters change to
Riser_P0 and Riser_P1
169
Chapter 5 Configuring Host Networking for S2D with VMM
170
Chapter 5 Configuring Host Networking for S2D with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
171
Chapter 5 Configuring Host Networking for S2D with VMM
6. On the Physical
Adapters change to
LOM-P0
172
Chapter 5 Configuring Host Networking for S2D with VMM
173
Chapter 6 Configure Failover Cluster and S2D with VMM
Chapter 6
1. Logon to VMM01 as
MVPDays\Administrat
or
174
Chapter 6 Configure Failover Cluster and S2D with VMM
175
Chapter 6 Configure Failover Cluster and S2D with VMM
176
Chapter 6 Configure Failover Cluster and S2D with VMM
177
Chapter 7 Configure Storage Integration of S2D with VMM
Chapter 7
1. Logon to VMM01 as
MVPDays\Administra
tor
178
Chapter 7 Configure Storage Integration of S2D with VMM
3. Double-click on
S2DCluster and review
the settings
179
Chapter 7 Configure Storage Integration of S2D with VMM
6. On the Virtual
Machine Manager
Warning click OK
180
Chapter 7 Configure Storage Integration of S2D with VMM
181
Chapter 7 Configure Storage Integration of S2D with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
182
Chapter 7 Configure Storage Integration of S2D with VMM
3. Click on Shared
Volumes
4. On the Shared
Volumes page click
Add
5. On the Select a
Storage Pool page type
CSV01 in the Name and
select Tier 0 – SSD in
the Classification field
and then click Next
183
Chapter 7 Configure Storage Integration of S2D with VMM
Although it doesn’t
look like anything was
created the job will
proceed as soon as you
click OK
184
Chapter 7 Configure Storage Integration of S2D with VMM
185
Chapter 8 VM Templates
Chapter 8
VM Templates
1. Logon to AZHVHost
with an
Administrative
Account
2. Open Hyper-V
Manager, right-click
S2D1, and click
Shutdown.
186
Chapter 8 VM Templates
187
Chapter 8 VM Templates
1. Logon to VMM01 as
MVPDays\Administrator
188
Chapter 8 VM Templates
VM name: WS2016_Gold
Description: Windows
Server 2016 Gold VM
Generation: Generation 2
189
Chapter 8 VM Templates
7. On the Configure
Hardware for the Virtual
Machine page configure
with the following settings
and click Next.
Compatibility: Hyper-V
Memory: 2048
Disk Size: 60GB
Availability: High
190
Chapter 8 VM Templates
9. On the Select a
Destination for the Virtual
Machine page select S2D1
191
Chapter 8 VM Templates
192
Chapter 8 VM Templates
15. Right-click on
WS2016_Gold and click
Connect or View and
select
193
Chapter 8 VM Templates
194
Chapter 8 VM Templates
195
Chapter 8 VM Templates
196
Chapter 8 VM Templates
d:\MSSCVMMLibrary\
Templates
\WS2016_Gold.vhdx
197
Chapter 8 VM Templates
198
Chapter 8 VM Templates
<UILanguage>en-us</UILanguage>
<UILanguageFallback>en-us</UILanguageFallback>
<UserLocale>en-us</UserLocale>
</component>
</settings>
</unattend>
Real World Note: During the writing of this book a bug in SCVMM was identified where the
creation of VMM Templates would fail. The issue was resolved by fully patching the S2D nodes
and SCVMM Server with the latest Cumulative Update. Once this was completed the build of
the VMM Templates succeeded.
199
Chapter 8 VM Templates
1. Logon to VMM01 as
MVPDays\Administrator
2. In the Library
Workspace, click
Templates, and then
right-click on VM
Templates and select
Create VM Template
200
Chapter 8 VM Templates
5. On the VM Template
Identify page type
WS2016_Gold
6. On Generation select
Generation 2 and then
click Next
201
Chapter 8 VM Templates
7. On the Configure
hardware for the virtual
machine. You can
import settings from a
hardware profile or save
a new profile based on
your settings page
change the following:
Memory = 2048
Network = CorpNet
Availability = High
8. Once done click Next
9. On the Configure
identity, network
settings, and scripts for
the new virtual
machine. You can
import settings from a
guest OS profile or save
a new profile based on
your settings page
configure the following:
Guest OS Profile =
Create new Windows
operating System
customization settings
Admin Password =
P@ssw0rd
202
Chapter 8 VM Templates
Domain / Workgroup =
MVPDays.com
MVPDays-Admin run As
Account
Answer File =
WS2016_Gold_Disk_1.x
ml
203
Chapter 8 VM Templates
Deploying a VM Template
1. Logon to VMM01 as
MVPDays\Administrat
or
204
Chapter 8 VM Templates
5. On the Select a VM
Template, Virtual Hard
Disk, or Virtual
Machine as the source
for the new Virtual
Machine select
WS2016_Gold VM
Template, click OK,
and then click Next
205
Chapter 8 VM Templates
7. On the Configure
hardware for the
virtual machine. You
can import settings
from a hardware
profile or save a new
profile based on your
settings page click
Next
8. On the Configure
identity, network
settings, and scripts
for the new virtual
machine. You can
import settings form a
guest OS profile or
save a new profile
based on your settings
page click Next
206
Chapter 8 VM Templates
9. On the Choose
whether to deploy or
store the virtual
machine page click
Next
207
Chapter 8 VM Templates
208
VM Templates
209
Chapter 9 Host Patch Management with VMM
Chapter 9
1. Logon to VMM01 as
MVPDays\Administra
tor
2. In Server Manager,
click Manage, and
then click add Roles
and Features.
210
Chapter 9 Host Patch Management with VMM
4. In the select
installation type
page, confirm that
Role-based or
feature-based
installation option is
selected and click
Next
5. On the select
destination server
page, click Next.
211
Chapter 9 Host Patch Management with VMM
7. On the select
features page. retain
the default selections,
and then click Next.
212
Chapter 9 Host Patch Management with VMM
8. On the Windows
Server Update
Services page, click
Next.
213
Chapter 9 Host Patch Management with VMM
214
Chapter 9 Host Patch Management with VMM
215
Chapter 9 Host Patch Management with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
216
Chapter 9 Host Patch Management with VMM
5. On the Choose
Upstream Server
page, Click Next
217
Chapter 9 Host Patch Management with VMM
218
Chapter 9 Host Patch Management with VMM
219
Chapter 9 Host Patch Management with VMM
220
Chapter 9 Host Patch Management with VMM
221
Chapter 9 Host Patch Management with VMM
222
Chapter 9 Host Patch Management with VMM
223
Chapter 9 Host Patch Management with VMM
1. Logon to VMM01 as
MVPDays\Administrator
224
Chapter 9 Host Patch Management with VMM
1. Logon to VMM01 as
MVPDays\Administrator
225
Chapter 9 Host Patch Management with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
226
Chapter 9 Host Patch Management with VMM
227
Chapter 9 Host Patch Management with VMM
8. Click on the
Assignment Scope in
the left and select
MVPDays HQ and then
click OK
228
Chapter 9 Host Patch Management with VMM
229
Chapter 9 Host Patch Management with VMM
1. Logon to VMM01
as
MVPDays\Admini
strator
230
Chapter 9 Host Patch Management with VMM
5. Select S2DCluster
and click Scan
6. The status should
chance to
Scanning
I did some
research and there
is a fix in the
October 2017
Cumulative
Update. So, I
231
Chapter 9 Host Patch Management with VMM
232
Chapter 9 Host Patch Management with VMM
233
Chapter 9 Host Patch Management with VMM
Remediate Hosts
1. Logon to VMM01 as
MVPDays\Administrator
234
Chapter 9 Host Patch Management with VMM
235
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
Chapter 10
1. Logon to S2D1 as
MVPDays\Administrat
or
Prompt as
Administrator and
type:
236
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
237
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
238
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
239
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
1. Logon to VMM01 as
MVPDays\Administrat
or
240
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
241
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
242
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
Remediate Hosts
9. Logon to VMM01 as
MVPDays\Administrator
243
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
244
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
245
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
Notice the
Storage Job
running. Re-
Run Get-
StorageJob until
there are no
more jobs
queued up and
Get-VirtualDisk
has returned to
a healthy state
246
Chapter 10 Host Patching of Storage Spaces Direct (S2D) with VMM
5. After the
Storage Jobs
have completed
you can now
return to the
VMM Console
6. At this time
once the jobs
have completed
successfully can
you repeat the
steps and patch
(Remidiate) the
next node.
247
Chapter 11 Operational Maintenance of Storage Spaces Direct
Chapter 11
Operational Maintenance of
Storage Spaces Direct
Restarting Storage Spaces Direct nodes with
VMM
Direct from the Storage Spaces Direct community Kristopher Jon Turner has done a really nice
job documenting the process to properly restart S2D nodes. Thanks for letting me use your
notes in the book we really appreciate it.
One of the common maintenance tasks is restarting a node due to patching or some other task
that may require the node to be restarted. Normally within VMM you would just right click a
node in the cluster, select Start Maintenance Mode, then wait for the VM’s on that node to
migrate off to the other nodes in that cluster. Restart the node then wait for the node to come
up, right click and select Stop Maintenance Mode and bingo you are ready to put the next node
into Maintenance mode and restart that one. With S2D clusters, you can’t do that and
shouldn’t do that!
If you go to the Microsoft Doc’s page, Taking a Storage Spaces Direct server offline for
maintenance they do explain how to properly restart a node in the cluster as a standalone S2D
cluster. On the Microsoft’s Doc page for VMM the only thing I could find is how to put a node
into maintenance mode.
https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/maintain-servers
248
Chapter 11 Operational Maintenance of Storage Spaces Direct
1. Logon to S2D1 as
MVPDays\Administrat
or
Prompt as
Administrator and
type:
249
Chapter 11 Operational Maintenance of Storage Spaces Direct
1. Logon to VMM01 as
MVPDays\Administra
tor
250
Chapter 11 Operational Maintenance of Storage Spaces Direct
251
Chapter 11 Operational Maintenance of Storage Spaces Direct
PowerShell Prompt
and typing
252
Chapter 11 Operational Maintenance of Storage Spaces Direct
253
Chapter 12 Bonus Community Content - Storage Spaces Direct (S2D) Scripts
Chapter 12
https://github.com/SerreRom/TechCoffee/blob/master/PowerShell/Audit-S2D/Audit-S2D.ps1
1. Logon to
VMM01 as
MVPDays\Admi
nistrator
254
Chapter 12 Bonus Community Content - Storage Spaces Direct (S2D) Scripts
3. Open an
Administrative
PowerShell
Prompt and run
the S2D-Audit-
S2D.PS1 script
When prompter
type:
Cluster =
s2dcluster
Domain Name =
MVPDays.com
Path = .\
4. When prompted
for credentials
type
MVPDays\Admi
nistrator
255
Chapter 12 Bonus Community Content - Storage Spaces Direct (S2D) Scripts
256
Chapter 12 Bonus Community Content - Storage Spaces Direct (S2D) Scripts
At the time of writing this book I was playing around with my network settings in the lab. And
look the script picked up my issues.
257
Chapter 12 Bonus Community Content - Storage Spaces Direct (S2D) Scripts
258
Chapter 12 Bonus Community Content - Storage Spaces Direct (S2D) Scripts
259
Chapter 12 Bonus Community Content - Storage Spaces Direct (S2D) Scripts
This script works on disaggregated and Hyper-Converged S2D infrastructure. This script is written
to check the Health Service in Storage Spaces Direct Cluster across nodes. When the script
detects any issue in your S2D cluster, you will receive an HTML e-mail alert. (see example in this
repository).
$FromEmail = "fromemail@domain.com"
$ToEmail1 = "email1@domain.com"
$ToEmail2 = "email2@domain.com"
$smtpServer = "smtp.office365.com"
$Credential = Get-Credential
To run the script as recurring task, update the Cluster Name paramter in Monitor-S2D.ps1 script:
260
Chapter 12 Bonus Community Content - Storage Spaces Direct (S2D) Scripts
$ClusterName = "S2D-ClusterName"
Finally, save Monitor-S2D.ps1 script in a desired path, and then run the script named "Create-
S2DRecurringTask.ps1" in this repository to create a recurring S2D PowerShell task.
1. Logon to VMM01 as
MVPDays\Administrat
or
Invoke-WebRequest -Uri
https://raw.githubusercontent.com/CharbelNemnom/Pow
er-MVP-Elite/master/Monitor-S2D/Monitor-S2D.ps1 -
OutFile d:\Post-install\Monitor-S2D.PS1
261
Chapter 12 Bonus Community Content - Storage Spaces Direct (S2D) Scripts
Here is a sample of the automated email that can be used as part of this solution:
262
Chapter 12 Bonus Community Content - Storage Spaces Direct (S2D) Scripts
https://gallery.technet.microsoft.com/Storage-Spaces-Direct-6cafe551#content
This S2D-Monitor (v0.8.2) based on the Windows Server 2016 Health Service for daily
monitoring.
263
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
In addition, the service delivers the Faults and Actions of the cluster.
1. Logon to VMM01 as
MVPDays\Administrator
264
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
3. Execute Monitor-
S2D.PS1 and click Collect
notice the nice output
here. Marcel has done
a great job with this little
tool I highly encourage
you to download it and
check it out.
265
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
https://www.starwindsoftware.com/starwind-manager
266
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
1. Logon to VMM01
as
MVPDays\Admini
strator
267
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
4. On the Welcome
to the StarWind
Manager Setup
Wizard page click
Next
5. On the End-User
License
Agreement page
select I Accept the
terms in the
license Agreement
and click Next
268
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
6. On the Custom
Setup page only
install the
Starwind Manager
Core and click
Next
7. On the Ready to
install Starwind
Manager page
click Install
8. Logon to S2D1 as
MVPDays\Admini
strator
269
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
270
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
271
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
15. On VMM01
browse to
http://127.0.0.1:8
100/client/
272
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
273
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
immediately show
up in the UI
274
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
Well folks that is going to about wrap up our time together in this book. We at MVPDays
publishing hope that you had a great time reading it and as always, we welcome your feedback.
275
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
276
Bonus Community Content - Storage Spaces Direct (S2D) Scripts
277
Appendix BigDemo_VMM.PS1
Appendix
BigDemo_VMM.PS1
Here is a copy of the BigDemo_VMM.PS1 script that we used in the book. It can be downloaded
from: https://github.com/dkawula/Deploying-System-Center-Virtual-Machine-Manager-
2016/blob/master/BigDemo_VMM.ps1
<#
Created: 2017-01-02
Version: 1.0
Author Dave Kawula MVP and Thomas Rayner MVP
Homepage: http://www.checkyourlogs.net
Disclaimer:
This script is provided "AS IS" with no warranties, confers no rights and
is not supported by the authors or DeploymentArtist.
.Synopsis
Creates a big demo lab.
.DESCRIPTION
Huge Thank you to Ben Armstrong @VirtualPCGuy for giving me the source
starter code for this :)
This script will build a sample lab configruation on a single Hyper-V
Server:
The Parameters at the beginning of the script will setup the domain name,
organization name etc.
278
Appendix BigDemo_VMM.PS1
You will need to change the <ProductKey> Variable as it has been removed for
the purposes of the print in this book.
.EXAMPLE
TODO: Dave, add something more meaningful in here
.PARAMETER WorkingDir
Transactional directory for files to be staged and written
.PARAMETER Organization
Org that the VMs will belong to
.PARAMETER Owner
Name to fill in for the OSs Owner field
.PARAMETER TimeZone
Timezone used by the VMs
.PARAMETER AdminPassword
Administrative password for the VMs
.PARAMETER DomainName
AD Domain to setup/join VMs to
.PARAMETER DomainAdminPassword
Domain recovery/admin password
.PARAMETER VirtualSwitchName
Name of the vSwitch for Hyper-V
.PARAMETER Subnet
The /24 Subnet to use for Hyper-V networking
#>
#region Parameters
[cmdletbinding()]
param
(
[Parameter(Mandatory)]
[ValidateScript({ $_ -match '[^\\]$' })] #ensure WorkingDir does not end in
a backslash, otherwise issues are going to come up below
[string]
$WorkingDir = 'c:\ClusterStoreage\Volume1\DCBuild',
[Parameter(Mandatory)]
[string]
$Organization = 'MVP Rockstars',
[Parameter(Mandatory)]
[string]
$Owner = 'Dave Kawula',
[Parameter(Mandatory)]
[ValidateScript({ $_ -in ([System.TimeZoneInfo]::GetSystemTimeZones()).ID
})] #ensure a valid TimeZone was passed
[string]
$Timezone = 'Pacific Standard Time',
[Parameter(Mandatory)]
[string]
$adminPassword = 'P@ssw0rd',
[Parameter(Mandatory)]
[string]
$domainName = 'MVPDays.Com',
[Parameter(Mandatory)]
[string]
279
Appendix BigDemo_VMM.PS1
$domainAdminPassword = 'P@ssw0rd',
[Parameter(Mandatory)]
[string]
$virtualSwitchName = 'Dave MVP Demo',
[Parameter(Mandatory)]
[ValidatePattern('(\d{1,3}\.){3}')] #ensure that Subnet is formatted like
the first three octets of an IPv4 address
[string]
$Subnet = '172.16.200.',
[Parameter(Mandatory)]
[string]
$ExtraLabfilesSource = 'C:\ClusterStorage\Volume1\DCBuild\Extralabfiles'
)
#endregion
#region Functions
function Wait-PSDirect
{
param
(
[string]
$VMName,
[Object]
$cred
)
Function Wait-Sleep {
param (
[int]$sleepSeconds = 60,
[string]$title = "... Waiting for $sleepSeconds
Seconds... Be Patient",
[string]$titleColor = "Yellow"
)
Write-Host -ForegroundColor $titleColor $title
for ($sleep = 1; $sleep -le $sleepSeconds; $sleep++ ) {
Write-Progress -ParentId -1 -Id 42 -Activity "Sleeping
for $sleepSeconds seconds" -Status "Slept for $sleep Seconds:" -percentcomplete
(($sleep / $sleepSeconds) * 100)
Start-Sleep 1
}
Write-Progress -Completed -Id 42 -Activity "Done Sleeping"
280
Appendix BigDemo_VMM.PS1
function Restart-DemoVM
{
param
(
[string]
$VMName
)
function Confirm-Path
{
param
(
[string] $path
)
if (!(Test-Path $path))
{
$null = mkdir $path
}
}
function Write-Log
{
param
(
[string]$systemName,
[string]$message
)
function Clear-File
{
param
(
[string] $file
)
if (Test-Path $file)
{
$null = Remove-Item $file -Recurse
}
}
function Get-UnattendChunk
{
param
281
Appendix BigDemo_VMM.PS1
(
[string] $pass,
[string] $component,
[xml] $unattend
)
return $unattend.unattend.settings |
Where-Object -Property pass -EQ -Value $pass `
|
Select-Object -ExpandProperty component `
|
Where-Object -Property name -EQ -Value $component
}
function New-UnattendFile
{
param
(
[string] $filePath
)
Clear-File $filePath
$unattend.Save($filePath)
}
Function Initialize-BaseImage
{
Mount-DiskImage $ServerISO
$DVDDriveLetter = (Get-DiskImage $ServerISO | Get-Volume).DriveLetter
282
Appendix BigDemo_VMM.PS1
Copy-Item -Path
"$($DVDDriveLetter):\NanoServer\NanoServerImageGenerator\Convert-
WindowsImage.ps1" -Destination "$($WorkingDir)\Convert-WindowsImage.ps1" -Force
Import-Module -Name
"$($DVDDriveLetter):\NanoServer\NanoServerImagegenerator\NanoServerImageGenerato
r.psm1" -Force
if (!(Test-Path "$($BaseVHDPath)\NanoBase.vhdx"))
{
New-NanoServerImage -MediaPath "$($DVDDriveLetter):\" -BasePath
$BaseVHDPath -TargetPath "$($BaseVHDPath)\NanoBase.vhdx" -Edition Standard -
DeploymentType Guest -Compute -Clustering -AdministratorPassword (ConvertTo-
SecureString $adminPassword -AsPlainText -Force)
# New-NanoServerImage -MediaPath "$($DVDDriveLetter):\" -BasePath
$BaseVDHPath -TargetPath "$($BaseVHDPath)\NanoBase.vhdx" -GuestDrivers -
DeploymentType Guest -Edition Standard -Compute -Clustering -Defender -Storage -
AdministratorPassword (ConvertTo-SecureString $adminPassword -AsPlainText -
Force)
#Build the Windows 2016 Core Base VHDx for the Lab
if (!(Test-Path "$($BaseVHDPath)\VMServerBaseCore.vhdx"))
{
Set-Location $workingdir
#Build the Windows 2016 Full UI Base VHDx for the Lab
283
Appendix BigDemo_VMM.PS1
if (!(Test-Path "$($BaseVHDPath)\VMServerBase.vhdx"))
{
Set-Location $workingdir
Clear-File "$($BaseVHDPath)\unattend.xml"
Dismount-DiskImage $ServerISO
Clear-File "$($WorkingDir)\Convert-WindowsImage.ps1"
function Invoke-DemoVMPrep
{
param
(
[string] $VMName,
[string] $GuestOSName,
[switch] $FullServer
)
else
{
284
Appendix BigDemo_VMM.PS1
function Create-DemoVM
{
param
(
[string] $VMName,
[string] $GuestOSName,
[string] $IPNumber = '0'
)
Restart-DemoVM $VMName
285
Appendix BigDemo_VMM.PS1
function Invoke-NodeStorageBuild
{
param
(
[string]$VMName,
[string]$GuestOSName
)
do
{
Add-Computer -DomainName $domainName -Credential $domainCred -ea
SilentlyContinue
}
until ($?)
} -ArgumentList $VMName, $domainCred, $domainName
Restart-DemoVM $VMName
Wait-PSDirect $VMName -cred $domainCred
#endregion
#$ServerISO = "D:\DCBuild\10586.0.151029-
1700.TH2_RELEASE_SERVER_OEMRET_X64FRE_EN-US.ISO"
#$ServerISO = "d:\DCBuild\14393.0.160808-
1702.RS1_Release_srvmedia_SERVER_OEMRET_X64FRE_EN-US.ISO"
#ServerISO =
'D:\DCBuild\en_windows_server_2016_technical_preview_5_x64_dvd_8512312.iso'
#$ServerISO =
'c:\ClusterStorage\Volume1\DCBuild\en_windows_server_2016_x64_dvd_9327751.iso'
#Updated for RTM Build 2016
$ServerISO = 'f:\dcbuild_CM\en_windows_server_2016_x64_dvd_9718492.iso' #THIS
NEEDS to be Modified for your Lab
$unattendSource = [xml]@"
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<servicing></servicing>
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup"
processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ComputerName>*</ComputerName>
<ProductKey>****</ProductKey>
<RegisteredOrganization>Organization</RegisteredOrganization>
<RegisteredOwner>Owner</RegisteredOwner>
<TimeZone>TZ</TimeZone>
</component>
</settings>
<settings pass="oobeSystem">
287
Appendix BigDemo_VMM.PS1
<component name="Microsoft-Windows-Shell-Setup"
processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideLocalAccountScreen>true</HideLocalAccountScreen>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>1</ProtectYourPC>
</OOBE>
<UserAccounts>
<AdministratorPassword>
<Value>password</Value>
<PlainText>True</PlainText>
</AdministratorPassword>
</UserAccounts>
</component>
<component name="Microsoft-Windows-International-Core"
processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>en-us</InputLocale>
<SystemLocale>en-us</SystemLocale>
<UILanguage>en-us</UILanguage>
<UILanguageFallback>en-us</UILanguageFallback>
<UserLocale>en-us</UserLocale>
</component>
</settings>
</unattend>
"@
#endregion
Confirm-Path $BaseVHDPath
Confirm-Path $VMPath
Write-Log 'Host' 'Building Base Images'
288
Appendix BigDemo_VMM.PS1
$VMName = 'DC01'
$GuestOSName = 'DC01'
$IPNumber = '1'
Restart-DemoVM $VMName
Restart-DemoVM $VMName
$VMName = 'DHCP01'
$GuestOSName = 'DHCP01'
$IPNumber = '3'
Restart-DemoVM $VMName
289
Appendix BigDemo_VMM.PS1
Restart-DemoVM $VMName
$VMName = 'DC01'
$GuestOSName = 'DC01'
$IPNumber = '1'
param($VMName, $password)
<#>
Invoke-Command -VMName $VMName -Credential $domainCred {
param($VMName, $domainName, $domainAdminPassword)
</#>
$VMName = 'Management01'
$GuestOSName = 'Management01'
Restart-DemoVM $VMName
$VMName = 'VMM01'
$GuestOSName = 'VMM01'
$VMName = 'Router01'
$GuestOSName = 'Router01'
$VMName = 'S2D1'
$GuestOSName = 'S2D1'
<#>
Invoke-Command -VMName 'MGMT1' -Credential $domainCred {
param ($domainName)
do
{
New-Cluster -Name S2DCluster -Node S2D1, S2D2, S2D3, S2D4 -NoStorage
}
until ($?)
# This will match the configuration that was done in the book
New-Volume -StoragePoolFriendlyName S2DPool -FriendlyName Mirror-2Way -
FileSystem CSVFS_REFS -Size 200GB -PhysicalDiskRedundancy 1
New-Volume -StoragePoolFriendlyName S2DPool -FriendlyName Mirror-3Way -
FileSystem CSVFS_REFS -Size 200GB -PhysicalDiskRedundancy 2
} -ArgumentList $domainName
</#>
Write-Log 'Done' 'Done!'
294
Appendix BigDemo_VMM.PS1
295
Appendix S2D-Audit.PS1
S2D-Audit.PS1
Here is a copy of the S2D-Audit.PS1 script that we used in the book. It can be downloaded from:
https://github.com/SerreRom/TechCoffee/blob/master/PowerShell/Audit-S2D/Audit-S2D.ps1
The script is quite long so grab a copy from the link above…
<#
.SYNOPSYS
This script audit an S2D hyperconverged infrastructure
.VERSION
0.1: Initial version
0.2: Add option to export path
0.3: Change consolidation rate to not take into account hyperthreading
0.4: Resolve bugs, add information
0.5: Force charset to UTF-8, resolve special char issue. Add trademark.
0.6: Resolve an issue to match the Network Adapter with VMNetworkAdapter
.AUTHOR
Romain Serre
Blog: https://www.tech-coffee.net
Twitter: @RomSerre
#>
[CmdletBinding()]
param(
[Parameter(Mandatory=$True, HelpMessage='Specify the name of the cluster')]
[Alias('S2DCluster')]
[string]$ClusterName,
[Parameter(Mandatory=$True, HelpMessage='Specify the domain')]
[Alias('ComputerDomain')]
[String]$DomainName,
[Parameter(Mandatory=$True, HelpMessage='Specify the folder where the report
will be exported')]
[Alias('ExportPath')]
[String]$Path,
[Parameter(Mandatory=$True, HelpMessage='Specify Credentials')]
[Alias('Cred')]
[PSCredential]$Credential
)
Contact Info
Live Presentations
Dave frequently speaks at Microsoft conferences around North America, such as TechEd,
VeeamOn, TechDays, and MVPDays Community Roadshow.
www.checkyourlogs.net
www.mvpdays.com
Video Training
For video-based training, see the following site:
www.mvpdays.com
297
Contact Info Join us at MVPDays and meet great MVP’s like this in person
www.truesec.com
www.checkyourlogs.net
Consulting Services
Dave and Cristal have worked with some of the largest companies in the world and have a
wealth of experience and expertise. Customer engagements are typically between two weeks
and six months.
298
Contact Info Join us at MVPDays and meet great MVP’s like this in person
Twitter
Dave, Cristal, Allan, Cary on Twitter tweet on the following aliases:
299