Super Article sur Nano Server… convainquant!


Un super article de Jaromirk@msft  sur les bénéfices de Nano Server sur vos infrastructures… si comme moi vous hésitiez, voila de quoi se convaincre de l’

Foreword

Hello again from Prague! Here is Jaromir and, in this post, I’ll show you how you can play with ws2016lab to measure I/O consumption of each server installation option.

I decided to compare the Nano Server IO footprint to other, traditional GUI/Core installations. Why? I just wanted to demonstrate that having unnecessary components is something you really don’t want because it is not only a bigger security surface, but also significantly higher IO overhead.

Why should you care? Let’s say you would like to deploy a new application – therefore you need to provision a new server. It’s not only the provisioning time you should be concerned about, but also how much you will slow down production, as some server will be spinning up.

In this blog post I’ll be comparing very first boot IOs of domain joined and offline patched servers (Cumulative Update for Windows Server 2016 TP5 and 2 Cumulative Updates for Windows Server 2012R2). You will see how many Mbytes each edition consumes during very first boot from your Storage.

Scenario

I’ll be using my ws2016lab (https://github.com/Microsoft/ws2016lab) with following configuration.

$LabConfig=@{AdminPassword=‘LS1setup!’; DomainAdminName=‘Jaromirk’; Prefix =
‘PerfTest-‘; SecureBoot=‘ON’; CreateClientParent=‘No’;DCEdition=‘ServerDataCenter’}

$NetworkConfig=@{SwitchName =
‘LabSwitch’ ; StorageNet1=‘172.16.1.’; StorageNet2=‘172.16.2.’}

$LAbVMs = @()
$LAbVMs += @{ VMName = ‘Win2016’ ; Configuration = ‘Simple’ ; ParentVHD = ‘Win2016_G2.vhdx’ ; MemoryStartupBytes= 1GB }

$LAbVMs += @{ VMName = ‘Win2016_Core’ ; Configuration = ‘Simple’ ; ParentVHD = ‘Win2016Core_G2.vhdx’ ; MemoryStartupBytes= 1GB }

$LAbVMs += @{ VMName = ‘Win2016_Nano’ ; Configuration = ‘Simple’ ; ParentVHD = ‘Win2016Nano_G2.vhdx’ ; MemoryStartupBytes= 1GB }

$LAbVMs += @{ VMName = ‘Win2012’ ; Configuration = ‘Simple’ ; ParentVHD = ‘Win2012r2_G2.vhdx’ ; MemoryStartupBytes= 1GB ; Win2012Djoin=‘Yes’ }

$LAbVMs += @{ VMName = ‘Win2012_Core’ ; Configuration = ‘Simple’ ; ParentVHD = ‘Win2012r2Core_G2.vhdx’ ; MemoryStartupBytes=  1GB ; Win2012Djoin=‘Yes’ }

Ws2016 lab does not create Windows Server 2016 Full, Windows Server 2012 R2, and Windows Server 2012 R2 Core images, so I’ll create them manually using following commands and tool convert-windowsimage.ps1 ]https://github.com/Microsoft/Virtualization-Documentation/tree/master/hyperv-tools/Convert-WindowsImage

#loading convert-windowsimage into the memory (notice . in front of command)

.\Tools\convert-windowsimage.ps1

#win 2012r2

Convert-WindowsImage -SourcePath X:\sources\install.wim -DiskLayout UEFI -VHDPath .\ParentDisks\win2012r2_G2.vhdx ` -Edition datacenter -SizeBytes
40GB -Package .\Packages\Windows8.1-KB2919355-x64.msu,.\Packages\Windows8.1-KB3156418-x64.msu

#win 2012r2 core

Convert-WindowsImage -SourcePath X:\sources\install.wim -DiskLayout UEFI -VHDPath .\ParentDisks\win2012r2Core_G2.vhdx ` -Edition datacentercore
-SizeBytes 40GB -Package .\Packages\Windows8.1-KB2919355-x64.msu,.\Packages\Windows8.1-KB3156418-x64.msu

#win 2016

Convert-WindowsImage -SourcePath x:\sources\install.wim -DiskLayout UEFI -VHDPath .\ParentDisks\win2016_G2.vhdx ` -Edition datacenter
-SizeBytes 40GB -Package .\Packages\AMD64-all-windows10.0-kb3158987-x64_6b363d8ecc6ac98ca26396daf231017a258bfc94.msu

You can see that each image is using the following update rollups.

Windows 2012R2: https://support.microsoft.com/en-us/kb/2919355 + https://support.microsoft.com/en-us/kb/3156418

Windows 2016: http://support.microsoft.com/kb/3158987

In this screenshot you can see all vhdx files in the parent disks folder. Big size differences, right? And yes, I was writing this blog for you late at night.

Note: Nano server contains all of these packages:

Microsoft-NanoServer-DSC-Package.cab

Microsoft-NanoServer-FailoverCluster-Package.cab

Microsoft-NanoServer-Guest-Package.cab

Microsoft-NanoServer-Storage-Package.cab

Microsoft-NanoServer-SCVMM-Package.cab

All servers are hydrated as VMs on my laptop on my 1T Samsung 840 EVO SSD

Hydrated machines ready to be started

Msinfo32

Measuring IO overhead

For measuring IO overhead, I’ll be using Windows Performance Recorder and Windows Performance Analyzer – tools that you can download and install for free as part of Windows ADK. For each VM, I’ll start recording, boot VM, wait for logon screen to appear and then wait additional 60 seconds just to settle things down.

Windows Performance Recorder settings:

Results

For displaying results I’m using Windows Performance Analyzer. Again – its free and part of Windows ADK.

Windows Server 2016 Nano

From the screenshot below you can see that IO settled down after 9 seconds. Total reads were 156 MB and Total Writes 135 MB. Machine did not reboot at all.

Windows Server 2016 Core

From the screenshot below you can see that IO settled down after 85 seconds. Total reads were 2,304 MB and Total Writes 1,170 MB. Machine rebooted once.

Windows Server 2016 Full

From the screenshot below you can see that IO settled down after 135 seconds. Total reads were 2,533 MB and Total Writes 2,089 MB. Machine rebooted once.

Windows Server 2012 Core

From the screenshot below you can see that IO settled down after 82 seconds. Total reads were 1,618 MB and Total Writes 1,426 MB. Machine rebooted once.

Windows Server 2012 Full

From the screenshot below you can see that IO settled down after 84 seconds. Total reads were 1,694 MB and Total Writes 1,453 MB. Machine rebooted once.

 

Afficher l’article…

A propos Red Kaffe

IT Trainer and Consultant on Microsoft Technologies. Windows Server and Client, Service Center 2012, WSUS/MDT/ADK/WAIK, SBS 2008/2011, Office 365, etc. Fully dedicated to support and train my customers...
Cet article a été publié dans 2016, Cluster, Deployment, PowerShell, Storage. Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s