Getting Started with Nano Server - Charbel Nemnom - E-Book

Getting Started with Nano Server E-Book

Charbel Nemnom

0,0
41,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Remain highly competitive in the server and VM market by gaining the practical skills needed to operate Nano Server

About This Book

  • The days of the local server are numbered, and this book will make you an ace by giving you the skills needed to administer Nano Server and survive in the brave new server world
  • Learn to quickly automate multiple VMs and support Hyper-V clusters, all through small footprints from a single host
  • Apply up-to-date, real-world examples presented in this book and improve the scalability and efficiency of large-scale VM deployments

Who This Book Is For

This book opens up new potential for both developers and IT pros alike. The book is primarily for Server administrators and IT Professionals who would like to deploy and administer Nano Server within their organizations, and for developers who are trying to make maximal use of Server Containers and Hyper-V Containers with Nano Servers.

What You Will Learn

  • Understand Nano Server
  • Deploy Nano Server
  • Deploy Hyper-V Clusters on Nano Server
  • Deploy Nano Server with SCVMM
  • Manage Nano Server using PowerShell and Remote Server Management Tools
  • Manage Nano Server with third-party tools
  • Run Server Containers and Hyper-V Containers on Nano Server
  • Troubleshoot Nano Server
  • Validate developed applications that run on Nano Server

In Detail

Nano Server allows developers and operations teams to work closely together and use containers that package applications so that the entire platform works as one. The aim of Nano Server is to help applications run the way they are intended to. It can be used to run and deploy infrastructures (acting as a compute host, storage host, container, or VM guest operating system) without consuming significant resources. Although Nano Server isn't intended to replace Server 2016 or 2012 R2, it will be an attractive choice for developers and IT teams.

Want to improve your ability to deploy a new VM and install and deploy container apps within minutes? You have come to the right place! The objective of this book is to get you started with Nano Server successfully. The journey is quite exciting, since we are introducing you to a cutting-edge technology that will revolutionize today's datacenters.

We'll cover everything from the basic to advanced topics. You'll discover a lot of added value from using Nano Server, such as hundreds of VM types on a single host through a small footprint, which could be a big plus for you and your company. After reading this book, you will have the necessary skills to start your journey effectively using Nano Server.

Style and approach

Gauge all the information needed to get up-and-running with the latest Nano Server built by Microsoft using this easy to follow step-by-step guide.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 339

Veröffentlichungsjahr: 2017

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Getting Started with Nano Server

 

 

 

 

 

 

 

 

 

 

 

Transform your Datacenter into headless servers with Microsoft® Nano Server

 

 

 

 

 

 

 

 

 

Charbel Nemnom

 

 

 

 

 

 

 

 

 

 

BIRMINGHAM - MUMBAI

< html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">

Getting Started with Nano Server

 

Copyright © 2017 Packt Publishing

 

 

 

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

 

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

 

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

 

First published: June 2017

 

Production reference: 1280617

 

Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.

 

ISBN 978-1-78217-522-3

 

www.packtpub.com

 

Credits

Author

Charbel Nemnom

Copy Editor

Safis Editing

Reviewers

Patrick Lownds

Aleksandar Nikolic

 

 

 

Project Coordinator

Shweta H Birwatkar

Commissioning Editor

Kunal Parikh

Proofreader

Safis Editing

Acquisition Editor

Rahul Nair

Indexer

Mariammal Chettiyar

Content Development Editor

Mamata Walkar

Graphics

Kirk D'Penha

Technical Editor

Varsha Shivhare

Production Coordinator

Nilesh Mohite

 

About the Author

Charbel Nemnom is a Microsoft Most Valuable Professional (MVP) for Cloud and datacenter management and technical evangelist with 5nine Software and Unidesk Corporation. Charbel has extensive infrastructure expertise and a vast knowledge of a variety of Microsoft technologies. He has over 15 years of professional experience in the IT field and guides technical teams to optimize the performance of mission-critical enterprise systems. He has worked as a system and network engineer, senior consultant, and regional technical manager and has a history of successful enterprise projects in the IT, banks, education, and publishing sectors. He works as a virtualization consultant and cloud architect in the MENA region. He authored Getting Started with Nano Server, co-authored Windows Server 2016 Hyper-V CookbookSecond Edition, and reviewed Hyper-V Best Practices books (all by Packt Publishing).

Charbel also runs his blog at charbelnemnom.com where he blogs often about software -defined Datacenter and Cloud computing.

Charbel is Microsoft, Cisco, and VMware certified and holds the following credentials:

VCA-DCV, MCP, MCSA, MCTS, MCITP, MCS, MCSE, CCNP, ITIL® and PMP®. You can also follow him on Twitter @CharbelNemnom and like his Facebook page @CharbelNemnomMVP.

Books don't write, edit, and publish themselves. I would like to say a big thank you to my family and friends for their support and patience while I was busier than usual the last one year and a half, and for always supporting the crazy things I want to do. They are the reason that I can fulfill my dream and follow my passion.

Of course, the book wouldn't be possible at all without the Packt Publishing team for supporting all the authors and reviewers during this project. I want to say a big thank you to the Acquisition Editor Rahul Nair, Content Development Editor Mamata Walkar and Mehvash Fatima, the Project Coordinator Shweta Birwatkar, and the Technical Editor Varsha Shivhare.

A big thank you to the Technical Reviewers and fellow MVPs Patrick Lownds from United Kingdom and Aleksandar Nikolic from Serbia, who offered great feedback, comments, and support through the course of this project. I would also like to thank a dear friend, Marco Brodkorb, from Germany. Thank you, guys!

Finally, I want to thank the Microsoft product group individually and give them the credit they deserve for helping me make this book as good as possible (if I've missed anyone, I'm truly sorry): Ben Armstrong, Sarah Cooley, Steven Ekren, Claus Joergensen, Cosmos Darwin, Elden Christensen, Subhasish Bhattacharya, Andrew Mason, Anders Ravnholt, Dan Harman, Refaat Issa, Venkat Yalla, Chris Van Wesep, Sarah Blodgett, Sue Hartford, Samuel Li, Rajani Janaki Ram, Rochak Mittal, Aditi Gangwar, Neela Syam Kolli, Shon Shah, Sneha Agrawal, Swapnil Sumbe, Manish Jha, Gautam Deora, Mahesh Narayanan, Krati Jain, Ravi Chivukula, Nirbhay Singh, Ashish Mehndi, Nipun Arora, and Schumann Ge.

About the Reviewers

Patrick Lownds is a master-level solution architect at Hewlett Packard Enterprise's (HPE) Pointnext, COE, in the Hybrid IT practice and is based in London, UK.

Patrick is also a current Microsoft Most Valuable Professional (MVP) for Cloud and Datacenter Management (CDM) and has worked in the IT industry since 1988 on various technologies, including Windows Server Hyper-V, System Center, Windows Azure Pack, and Microsoft Azure. In his current role, he works mainly with the most recent versions of Windows Server, System Center, Azure, and Azure Stack, and has participated in the Windows Server 2016, System Center 2016, and Microsoft Azure stack's early adoption program.

Patrick has previously contributed to Mastering Hyper-V Deployment, Microsoft Private Cloud Computing, and Windows Server 2012 Hyper-V Installation and Configuration Guide, all of which were published by Wiley and Sybex and Windows Server 2016 Hyper-V Cookbook by Packt.

He is a community blogger for HPE and tweets in his spare time--his Twitter handle is @patricklownds.

When not consulting, speaking, or writing, he can be most often found on a rugby pitch teaching contact rugby to children of various ages.

Aleksandar Nikolic is a Microsoft Most Valuable Professional (MVP) for Cloud and Datacenter Management and Microsoft Azure, a co-founder of PowerShellMagazine.com, and the community manager of PowerShell.com. Aleksandar has more than 17 years of experience as a system administrator. He also delivers PowerShell and Azure training courses around the world and is a frequent speaker at IT conferences.

 

www.PacktPub.com

For support files and downloads related to your book, please visit www.PacktPub.com.

 

Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.comand as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.

 

At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.

 

 

https://www.packtpub.com/mapt

 

Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.

Why subscribe?

Fully searchable across every book published by Packt

Copy and paste, print, and bookmark content

On demand and accessible via a web browser

Customer Feedback

Thanks for purchasing this Packt book. At Packt, quality is at the heart of our editorial process. To help us improve, please leave us an honest review on this book's Amazon page at https://www.amazon.com/dp/1782175229.

 

If you'd like to join our team of regular reviewers, you can e-mail us at [email protected]. We award our regular reviewers with free eBooks and videos in exchange for their valuable feedback. Help us be relentless in improving our products!

Table of Contents

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Downloading the color images of this book

Errata

Piracy

Questions

Introduction to Nano Server

The story behind Nano Server

Business impact

Infrastructure impact

Security impact

The journey to Nano Server

Server Core

Cloud journey

Nano Server - management

What makes Nano Server unique?

Nano Server improvements

Servicing improvements

Security improvements

Resource utilization improvements

Deployment improvements

Summary

Getting Started with Nano Server

Getting started with Nano Server

Nano Server quick start

Nano Server customizations

Nano Server roles and features

Building and customizing a Nano Server image using Windows PowerShell

Advanced settings

Adding packages

Building and customizing a Nano Server image using Nano Server image builder

Customizing a Nano Server image using DISM

Customizing a Nano image using unattend.xml file

Injecting unattend.xml into VHD(X)

Optional customizations

Set computer name

Run commands on first boot

Domain join

Emergency management services

Installing agents and tools

Summary

Deploying Nano Server in a Virtual Machine and on Physical Hardware

Nano Server roles and features

Deploying Nano Server in a VM

Required parameters

Optional parameters

Deploying Nano Server VM in Hyper-V

Hyper-V Manager

PowerShell

Deploying Nano Server on a physical machine

Dual-boot a Nano Server VHD or VHD(X)

PxE-boot a bare-metal machine and install Nano Server from WDS using a VHD, VHD(X), or WIM file

Preparing the environment

Active Directory Domain Services (ADDS, DNS, DHCP)

Creating a custom Nano Server VHD(X) image

Creating a custom Nano Server WIM image

Installing and Configuring the WDS Role

Booting a bare-metal machine into WinPE and deploying Nano Server using a .wim file

Prerequisites

Setting up the WinPE environment

Deployment from WinPE with network and without WDS

Creating a custom WinPE boot image that has PowerShell enabled

Creating a WinPE ISO image

Creating a WinPE bootable USB thumb drive

Deploying Nano Server in Microsoft Azure

Requirements

Creating Nano Server in Azure

Summary

Deploying Hyper-V Cluster on Nano Server

Nano Server as a compute cluster

Deploying a Nano Server as a Hyper-V cluster

Deploying a Nano Server as compute host

Acquiring the ISO image of Windows Server 2016 Datacenter edition

Creating the new Nano Server images

Copying the new Nano Server images to the host machines

Rebooting into the new Nano Server image

Connecting and managing Nano Servers from a management machine

Configuring the network

Creating and configuring a Hyper-V cluster

Nano Server as a storage cluster

Deploying storage spaces direct on top of Nano Server

Creating and deploying Nano Server images

Configuring the network

Creating and configuring Storage Spaces Direct

Summary

Deploying, Managing, and Monitoring Nano Server with System Center 2016

Deploying Nano Server with system center virtual machine manager 2016

VMM bare-metal deployment

Preparing a Nano Server VHD(X) for a physical machine

VMM VM template deployment

Preparing a Nano Server VHD for a virtual machine

Managing Nano Server with system center virtual machine manager 2016

Installing the virtual machine manager agent on Nano Server

Managing network teaming on Nano Server

Monitoring Nano Server with System Center operations manager 2016

Installing the operations manager agent on Nano Server

Uninstalling the operations manager agent from Nano Server

Summary

Managing Nano Server with Windows PowerShell and Windows PowerShell DSC

Remote server graphical tools

Server Manager

Hyper-V Manager

Microsoft Management Console

Managing Nano Server with PowerShell

Managing Nano Server with PowerShell DSC

Creating a Nano Server image for PowerShell DSC

Creating Nano virtual machines

Importing the DSC xNetworking module

Push DSC configuration

Managing Nano Server Security Settings with PowerShell DSC

Summary

Managing Nano Server with Third-Party Tools

Nano Server administration using 5nine Manager

Creating and managing Nano Server failover clusters with 5nine Manager

Creating a cluster

Validating a cluster

Configuring live migration settings

Viewing the cluster summary

Managing cluster nodes

Managing clustered VMs

Host Load Balancing

Clustered virtual machine security

Summary

Running Windows Server Containers and Hyper-V Containers on Nano Server

Container overview

Container benefits

What is a container?

Containers versus virtual machines

Windows Server containers and Hyper-V containers

What is Docker?

Running Windows containers on Nano Server

Creating a Nano Server image for Windows Server containers

Creating a Nano Server VM for Windows Server containers

Creating a remote PowerShell session

Installing Docker

Installing base container images

Managing container networking

Managing container storage

Managing Docker on Nano Server

Creating a Windows Server container

Creating a Nano Server image for Hyper-V containers

Creating a Nano Server VM for Hyper-V containers

Creating a Hyper-V container

Converting a Windows Server container to a Hyper-V container

Summary

Troubleshooting Nano Server

Nano recovery console

Setting network configurations using the Nano Server recovery console

Emergency management services

Enabling EMS

Enabling EMS using PowerShell

Enabling EMS using DISM

Windows EMS in a virtual machine

Troubleshooting Nano Server VM using EMS

Windows EMS on a physical machine

Enabling a virtual serial port

Enabling the EMS Port in ROM-Based Setup Utility (RBSU)

Enabling Windows EMS in the bootloader of the Nano Server OS

Using PuTTY to establish an SSH connection to the iLO IP address

Using Windows EMS functionality to perform basic support administrative tasks

Kernel debugging

Installing WinDbg from Windows SDK

Debugging Nano Server using WinDbg

Setup and boot event collection (SBEC)

SBEC requirements

Installing the collector computer

Creating the Active.xml configuration file

Configuring the target and collector computer

Configuring Nano Server as a target computer

Configuring the collector computer

Analyzing and reading diagnostic messages

Enabling access to Nano Server event logs

Summary

Running Other Workloads on the Nano Server

Running DNS on Nano Server

Running IIS on Nano Server

Installing and managing Windows Defender on Nano Server

Managing the Local Administrator's Passwords on Nano Server

Prerequisites

Installation

Using MPIO on Nano Server

Using Windows Update on Nano Server

Update Out of Box (OOB) drivers for Nano Server

The future of Nano Server

Summary

Preface

Thank you for purchasing Getting Started with Nano Server. The book you are holding is the result of 15 years of experience in the IT world and over 17 years of Windows Server experience that started with Windows Server 2000, moved on to Windows Server 2012 R2 and now, includes Windows Server 2016 and Nano Server. Modern data centers need a highly optimized server platform to run infrastructure services, distributed cloud-based applications, and containers apps based on the microservice architecture.

Nano Server is the first operating system released by Microsoft that was designed to deploy less on your servers, have less that you have to patch and reboot, and have fewer components that you actually need on your servers. Nano Server is a much scale down version of Windows Server that was built for higher density and more efficient OS resource utilization. Now moving to the cloud journey with Microsoft Azure, large server installations that have a lot of things installed require patching and rebooting, which interrupts service delivery. Nano Server is a deep refactoring initially focused on the CloudOS infrastructure and born-in-the-cloud applications; these applications were written with cloud patterns that allow you to run on top of Nano Server, and most importantly, highly optimized base OS images for Nano containers, so you can create containerized applications that are much smaller, more manageable, and easily shareable across different environments.

Our aim in this book is to provide you with the information you need to be immediately effective in deploying, managing, and administering Nano Server environments.

We hope that you get as much from reading this book as we did from writing it. Please be sure to post any questions, comments, or suggestions you may have about the book on the online author forum. Your feedback is important to us, in order to develop the best books possible in the future.

What this book covers

Chapter 1, Introduction to Nano Server, covers why Microsoft developed Nano Server and why we need a server that is optimized for the cloud for running the fabric for born-in-the-cloud applications and for running Windows Server and Hyper-V containers. Nano Server is a different approach for Microsoft and for everyone; it comes from a historical position that started with Server Core in Windows Server 2008. It's completely a new headless operating system.

Chapter 2, Getting Started with Nano Server, focuses on how to get started with Nano Server. It covers how to add roles and features and how to create and customize a Nano image using a single line of PowerShell. This chapter also covers how to build and customize a Nano image using Nano Server Image Builder, the new graphical user interface-based wizard; and finally, we show you how to customize a Nano image using DISM.

Chapter 3, Deploying Nano Server in a Virtual Machine and on Physical Hardware, Covers how to create Nano Server images using Hyper-V Manager and Windows PowerShell. We also discuss the four deployment options for Nano Server on a bare-metal physical machine using WinPE and WDS; and lastly, we cover how to deploy a Nano Server VM in Microsoft Azure.

Chapter 4, Deploying Hyper-V Cluster on Nano Server, covers the steps needed to deploy Nano Server as compute, storage, and a hyper-converged cluster using Storage Spaces Direct (S2D) technology. There is also an introductory overview of running Nano Server as a compute and storage cluster in this chapter.

Chapter 5, Deploying, Managing, and Monitoring Nano Server with System Center 2016, focuses on how to manage and monitor Nano Server using System Center Virtual Machine Manager and System Center Operations Manager 2016. We show you how to deploy Nano Server using VMM as a Hyper-V host using bare-metal deployment, and as a virtual machine using VM templates. Lastly, we show you how you can push the Operations Manager agent to Nano Server using the operations console with Windows PowerShell.

Chapter 6, Managing Nano Server with Windows PowerShell and Windows PowerShell DSC, covers how to effectively manage a Nano Server installation using remote server graphic tools, Windows PowerShell remoting, and PowerShell Desired State Configuration (DSC).

Chapter 7, Managing Nano Server with Third-Party Tools, focuses on how to administer Nano Server using 5nine Manager from 5nine Software, and we show you how to create and manage a Nano Server Failover cluster.

Chapter 8, Running Windows Server Containers and Hyper-V Containers on Nano Server, focuses on Windows containers and how they can change the way we deploy applications. We also cover the benefits of using containers and how they can integrate with Dev and Ops team to accelerate application delivery. Finally, we show you how to deploy and run Windows Server and a Hyper-V container on top of Nano Server using a Nano base OS image running IIS.

Chapter 9, Troubleshooting Nano Server, demonstrates how to troubleshoot a Nano Server installation using the Nano recovery console, Emergency Management Services (EMS), kernel debugging, and Setup and Boot Event Collection (SBEC), which is a new feature of Windows Server 2016. Lastly, we show you how to retrieve and read Nano Server Windows event logs and display them in a nicely formatted HTML report.

Chapter 10, Running Other Workloads on the Nano Server, covers how to run DNS and IIS on Nano Server. We also cover additional updates and tools that will help you streamline your experience using Nano Server. Finally, we discuss the future of Nano Server and Windows Server.

What you need for this book

To follow along on with this book, you need Windows Server 2016 ISO media, including System Center 2016 Virtual Machine Manager and System Center 2016 Operations Manager. We strongly believe in learning by doing; therefore, we encourage you to try out all of the technologies and principles covered in this book. You don't need a huge server. For most topics, you could use a single machine with Windows Server 2016 installed, 16 GB of memory, and by enabling Hyper-V nested virtualization, you could enable a few virtual machines to run concurrently. Ideally, having at least two physical workstations or servers will help you with the high availability clustering concepts. With Windows 10, the Hyper-V client is included in the box, so even without any kind of real server, it is possible to explore all the features introduced in Nano Server.

Who this book is for

This book is intended for anyone who wants to learn and master Nano Server and take advantage of all exciting new features that Windows Server 2016 has to offer. If you have basic knowledge of Windows Server and virtualization, it will be helpful, but it's not a requirement. If you are an architect, a consultant, a system administrator, or really anyone who just wants more knowledge about Nano Server, this book is for you as well.

Please note that in some chapters we go into advanced topics that may seem over your head. In those cases, don't worry. Focus on the preceding elements that you understand better and implement and practice them to nurture your understanding. Then, when you feel ready, come back to the more advanced topics and read them multiple times. Repetition is the key. The more you repeat, the more you understand.

Conventions

In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning.

Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "We are copying NanoServer folder from the mounted ISO image into C:\NanoServer locally."

A block of code is set as follows:

Import-Module "C:\NanoServer\ NanoServerImageGenerator\NanoServerImageGenerator.psd1" -Verbose

Any command-line input or output is written as follows:

bcdedit.exe /set “{default}” description “Windows Nano Server 2016”

New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: "Right Click your WDS server in the Windows Deployment Services console and select Configure Server."

Warnings or important notes appear in a box like this.
Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book-what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of.

To send us general feedback, simply e-mail [email protected], and mention the book's title in the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the example code

You can download the example code files for this book from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

You can download the code files by following these steps:

Log in or register to our website using your e-mail address and password.

Hover the mouse pointer on the

SUPPORT

tab at the top.

Click on

Code Downloads & Errata

.

Enter the name of the book in the

Search

box.

Select the book for which you're looking to download the code files.

Choose from the drop-down menu where you purchased this book from.

Click on

Code Download

.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

WinRAR / 7-Zip for Windows

Zipeg / iZip / UnRarX for Mac

7-Zip / PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Getting-Started-with-Nano-Server. We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Downloading the color images of this book

We also provide you with a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from https://www.packtpub.com/sites/default/files/downloads/GettingStartedwithNanoServer_ColorImages.pdf.

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books-maybe a mistake in the text or the code-we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title.

 

To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.

Piracy

Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

 

Please contact us at [email protected] with a link to the suspected pirated material.

 

We appreciate your help in protecting our authors and our ability to bring you valuable content.

Questions

If you have a problem with any aspect of this book, you can contact us at [email protected], and we will do our best to address the problem.

Introduction to Nano Server

Nano Server is a new headless, 64-bit only, deployment option in Windows Server 2016 that has been optimized for data centers and for next-generation, distributed applications. Nano Server is the future of Windows Server; it is similar to Windows Server in Server Core mode, but significantly smaller, has no local logon capability, and only supports 64-bit applications, tools, and agents. It takes up far less disk space, sets up significantly faster, and requires far fewer updates and restarts much faster than Server with Desktop Experience.

In this chapter, we will cover the following topics:

The story behind Nano Server

The journey to Nano Server

What makes Nano Server unique?

Nano Server improvements

The story behind Nano Server

Microsoft has done a great job with Nano Server. Nano Sever was announced in April 2015 and shipped with the release of Windows Server 2016 in October 2016. But before we start to dive deeply into Nano Server, we would like to share with you a little background behind why Microsoft developed Nano Server:

http://blogs.technet.com/b/windowsserver/archive/2015/04/08/microsoft-announces-nano-server-for-modern-apps-and-cloud.aspx.

Business impact

Microsoft is always listening to customer's feedback, and one constant feedback was server reboots are impacting my business, because, when you reboot a server, you need to plan ahead of time and schedule a maintenance window in order to avoid downtime. The next piece of feedback was, why do I have to reboot a server because of a patch to a certain component that I never use on my server? And if a reboot is required, the systems need to be back in service as soon as possible. The constant feedback was, we just want the components needed to accomplish our goals and nothing more.

Infrastructure impact

The size of server images have increased over time; large server images take a long time to deploy and configure, especially when you work with virtual machines.

Storing and maintaining virtual machine templates requires too much disk space, when it comes to mobility by moving virtual machines around using live migration. Thus, it will require a lot of network bandwidth as well.

With full blown server images, the infrastructure requires too many resources; if the operating system consumes fewer resources, you can increase virtual machines' density, and with higher VM density, you can lower the cost and increase efficiency in your environment.

Security impact

IT security is no longer just about protecting your computers and minimizing potential downtime and lost productivity. It's about protecting your valuable business data, your customers' personal details, and your company's reputation. We saw the headlines in the last couple of years about online attacks and credit card numbers being stolen. There was a 40% increase in the number of large companies targeted by cyber-attacks in 2014, as criminals hijack infrastructures and attack from within, according to the largest cybersecurity companies research; a cyberattack has even caused confirmed physical damage for the second time ever. As an example, a hacker was able to remotely control a vehicle and shut it down. Security has become a number one priority in every firm today.

We can no longer afford the security risks of the install everything, everywhere approach.

Basically, having a large server installation that has a lot of things installed, that you don't necessarily really need, opens you up to more of these attacks. The less you have installed on your server, the less ports you have to open. This in turn reduces the ways a hacker can try to attack your systems. So that's really sort of the area that Microsoft took the lead on and created the genesis of Nano Server.

The journey to Nano Server

Now going back, let's tell the story from the beginning. Starting with the Windows NT and 3.1 days, after Windows Server came Windows NT and really, what Microsoft did at that time was they took the client and installed everything on it. All the roles and features were in the box. You could just deploy what you wanted and you were up and running. In fact, Mark Russinovich (CTO of Microsoft Azure), claimed that he discovered the registry key that will allow you to convert your client OS into a Server. That approach continues through Windows Server 2003 when they started to separate some of the roles and features.

Server Core

The big change occurred in Windows Server 2008 and Microsoft introduced Windows Server Core as an installation option. This was really the first step toward having to deploy less on your servers, have less that you have to patch and reboot, and have fewer components that you don't necessary need on your servers. What I mean by the installation option is, when you first start installing the operating system, you have the option to choose between Server Core or Server with Desktop Experience installation.

Once you deploy Server Core or Server with Desktop Experience, then you can start adding roles and features that you want to run on top as shown in Figure 1, small boxes on top.

For Windows Server 2008 and Windows Server 2008 R2, the choice between Server Core and a full installation had to be made at installation time and couldn't be changed without reinstalling the OS:

Figure 1: Windows NT - Windows Server 2012 R2 journey (image source: Microsoft)

However, with Windows Server 2012 and 2012 R2, Microsoft has offered the installation options in a way that you can start by deploying Server Core. Then there is a package that you can add to move up to Full Server or you can install a Full Server and then remove the server graphic shell and Graphical Management Tools and Infrastructure and convert back down to Server Core is as showing in Figure 2. In other words, the graphical shell and the management infrastructure are features that can be added and removed at any time, requiring only a reboot, making it easy to switch between the Server Core and Full Server with GUI. Microsoft also introduced the minimal Server interface so you can actually uninstall Internet Explorer and Explore.exe and have just Microsoft Management Console ( MMC) and Server Manager, which results in less patching. The Minimal Server Interface has fewer benefits than Server Core but it does provide a nice middle-ground versus Server with Desktop Experience:

Figure 2: Removing the graphical management tools in Windows Server 2012 R2

Cloud journey

Now moving to the cloud journey with Microsoft Azure, a large server installation that has a lot of things installed, requires patching, and reboots which interrupt service delivery. Azure doesn't use live migration and doesn't use failover clustering. When they have to take down a host in an Azure data center, it does require the virtual machine to be taken down and restarted as well. So, with a large number of servers and large OS resource consumption, it generates a lot of Cost of goods sold (COGS) for them. COGS are the direct costs attributable to the production of the services sold by Microsoft Azure. Thus, by provisioning, large host images compete for the network resources. As mentioned in the Business impact section earlier in this chapter, deploying all those hosts and then re-imaging all of them when a new patch comes out, requires a lot of network bandwidth. Many service providers (not only Microsoft Azure) are over provisioning their network so that they can have enough capacity for live migration or for re-provisioning servers.

Back in October 2014, Microsoft released the first version of their Cloud-in-box solution called Cloud Platform System (CPS) which is running on top of Windows Server Core, System Center, and Windows Azure Pack. To build a CPS system, requires a lot of time; installing all that software takes a lot of time and patching impacts the network allocation. Since a CPS system is an on-premises solution, it does use live migration for the virtual machines. So, with fully loaded CPS 4 racks, configuration would support up to 8,000 virtual machines. So, if each VM is configured with 2 GB of RAM, then you need 16 TB to live migrate over all the networks. Thus, we conclude that you need to have enough capacity to handle that network traffic instead of using it for the business itself. I am not saying that the configuration isn't optimized in CPS in a live migration sense, but they are using live migration over Server Message Block (SMB) protocol directly to offload the network traffic to Remote Direct Memory Access (RDMA) NICs, which is really fast. However, it still takes time to migrate 16 TB of information, and as mentioned earlier, server reboots result in service disruption. The reboot for the compute Hyper-V host in CPS takes around 2 minutes, and the storage host takes around 5 minutes to complete.

Microsoft determined from both Azure and building up the CPS solution that they need a server configuration which is optimized for the cloud and also something that will benefit all their customers, whether you are deploying a cloud configuration in your data center or you are using just Windows Server as your virtualization platform or leveraging the public cloud that's running on top of Windows Server.

The next step in the journey is Nano Server, a new headless, 64-bit only, deployment option for Windows Server, as you can see in Figure 3. It's a little different from Windows Server 2012 R2 in Figure 1. Nano Servers start following the Server Core pattern as a separate installation option. Therefore you can install Nano Server and then there is sub-set of roles and features that you can add on top. The installation options that we have in Windows Server 2016 are Nano Server, Server Core, and Server with a Desktop Experience. Microsoft made a significant change in Windows Server 2016 where you cannot move between different installation options anymore as in Windows Server 2012 R2, just because of some of the changes they had to make in order to implement Nano Server and Server with a Desktop Experience:

Figure 3: Nano Server journey (image source: Microsoft)

Nano Server is deep refactoring initially focused on the CloudOS infrastructure. With Nano Server, you can deploy Hyper-V hosts as a compute platform. You can deploy a scale-out file server as storage nodes and clusters, so that you can do clustered storage servers or clustered Hyper-V hosts and do live migration across nodes. The Nano Server team is continuously working on supporting born-in-the cloud applications; those applications were written with cloud patterns which allow you to run on top of Nano Server. Nano Server can be installed on your physical machines, or it can be installed as a guest virtual machine, and it will also serve as the base OS for Hyper-V containers. Please refer to Chapter 8, Running Windows Server Containers and Hyper-V Containers on Nano Server, for more details about Windows Server containers and Hyper-V containers running on top of Nano Server.

Nano Server is a separate installation option. It's a self-contained operating system that has everything you need. The major difference between Nano Server and Server Core is that none of the roles or features are available in the image same as we get in Server Core and Full Server. The side by side store is when you go to add or install additional roles and features with Windows Server; it never prompts you for the media, as the binary data that is required already exists on your hard disk within the OS. However, in Nano Server, all the infrastructure roles (Hyper-V, storage, clustering, DNS, IIS, and so on) live in a series of separate packages, so you have to add them to the image. In this case, your base Nano Server image will always stay very small. As you start adding roles and features to Nano Server, each role becomes an additional package, as the Hyper-V role for example which only requires the Nano Server base OS, so it will always be small and tight. If you are adding another role that requires a 500 MB file, that will be another 500 MB file to be added to the Nano Server image as a separate package. Nano Server has full driver support, so any driver that works for Windows Server 2016, will work with Nano Server as well.

As of the first release of Nano Server 2016, these are the key roles and features supported to run on Nano Server:

Hyper-V, clustering, storage, DNS, IIS, DCB, PowerShell DSC, shielded VMs, Windows defender, and software inventory logging

Core CLR, ASP.NET 5, and PaaSv2

Windows Server containers and Hyper-V containers

System Center Virtual Machine Manager (SCVMM) and System Center Operations Manager (SCOM)

Nano Server - management

Without a GUI, it's not easy to carry out the daily management and maintenance of Nano Server. In fact, all the existing graphical tools, such as Hyper-V Manager, failover cluster manager, Server Manager, registry editor, file explorer, disk and device manager, server configuration, computer management, users and groups are compatible to manage Nano Server remotely.

The Nano Server deployment option of Windows comes with full PowerShell remoting support. The purpose of the core PowerShell engine is to manage Nano Server instances at scale. PowerShell remoting includes WMI, Windows Server cmdlets (network, storage, Hyper-V, and so on.), PowerShell Desired State Configuration (DSC), remote file transfer, remote script authoring, and debugging. PowerShell relies on the .NET Framework; as you may have noticed Nano Server is a small and tiny OS and only has the Core Common Language Runtime (CLR