My first book is published! (VMM 2016 Cookbook)

My first book that I have been working day and night on for the last four months is published and globally available! The System Center Virtual Machine Manager 2016 Cookbook (English, 575 pages) includes multiple tips, tricks and techniques to help you make the perfect VMM fabric (see What this book covers  section at the bottom of this post for details)

I have done a complete makeover of the previous edition and,therefore, we have the  chapters written from the scratch, plenty of new recipes and revised old ones to meet changes in VMM 2016.  This book is essentially intended to system engineers, solution architects, administrators and anyone who want to learn and master Virtual Machine Manager 2016 (however, since we have two channels (LTSB/SAC), you will also find references to the latest VMM 1801 release in the semi-annual channel).

The book is available in paperback and ebook formats at Amazon and Packt

Please don’t forget to write your feedback/review on Amazon.


Get the ebook for free! 

I am happy to be giving away 10 copies of the ebook in collaboration with Altaro Software! If you want to get it for free, follow these steps:

  • Download Altaro VM Backup using a business email address
  • Install Altaro VM Backup and add at least 1 virtual machine
  • Send a screenshot of the main dashboard view of your running Altaro VM Backup to win@altaro.com. Make sure that the added VM/s is visible in the screenshot.

The first 10 valid entries, will get a copy of my ebook!


Acknowledgements

I am grateful to all of those with whom I have had the pleasure to work during this project. This book would not be possible without Packt team who found me and offered to take up the writing. I say thank you to Devika Battike, Manish Shanbhag, Heramb Bhavsar and Prateek Bharadwaj for supporting and helping me along the way.

A special thank goes to Edvaldo Alessandro Cardoso, an author of two previous editions, for an active participation and for being a technical reviewer together with Tomica Kaniski. I could not have finished this edition without your help.

In addition, I wish to mention the Microsoft team for helping to make this book as accurate as possible, in particular: Steven Ekren, Elden Christensen Sai Prasanna Vudataneni, Krupesh Dhruva and Sonal Agarwal. I am pretty sure our long discussions and your feedbacks will be appreciated by readers.

I have worked nonstop on the book for the last months and truly couldn’t survive without my family. Nobody has been more important to me than you. Thank you very much for your support, inspiration and love.

What this book covers
  • Chapter 1, VMM 2016 Architecture, provides an understanding of the VMM modular architecture, which is useful when designing VMM and troubleshooting deployment. This chapter also covers all requirements that must be satisfied to make a private cloud.
  • Chapter 2, Upgrading from Previous Versions, walks through all the necessary steps to upgrade the previous version of Virtual Machine Manager to the new VMM 2016, covering its database, highly available configurations and post-upgrade tasks.
  • Chapter 3, Installing VMM 2016, focus on deploying VMM and it’s dependencies. It gives also a plenty of tips and tricks to install and automate VMM and SQL Server deployments in both Windows Server Core and Full environments.
  • Chapter 4, Installing a High Available VMM Server, dives into more advanced VMM configuration, and provides an understanding how VMM has become a critical part of the private cloud infrastructure. You will also learn how to make a highly available library server and VMM configuration database.
  • Chapter 5, Configuring Fabric Resources, discusses building a new fabric in VMM by configuring compute, storage and networking resources. It starts by adding hosts group and ends by creating a hyper-converged cluster with Storage Spaces Direct and Hyper-V. It also covers a deployment of a Network Controller providing a good start point for network virtualization implementation.
  • Chapter 6, Configuring Guarded Fabric, walks you through the recipes to help protect confidential data by deploying new shielded VMs as a part of Guarded Fabric consisting of Guarded Hosts and Host Guardian Service. It also discusses how to convert existing VMs to shielded and manage them through VMM.
  • Chapter 7, Deploying Virtual Machines and Services, provides information to help the administrator to create,deploy and manage private clouds, virtual machines, templates, and services in VMM 2016; it provides recipes to assist you in getting the most our of deployment.
  • Chapter 8, Managing VMware ESXi Hosts, shows you how to manage and make VMware recources available to private cloud deployments. It also covers converting VMware machines to Hyper-V (V2V), deploying virtual machines and templates, all from the VMM console.
  • Chapter 9, Managing Clouds, Fabric Updates, Resources, Clusters and the New Features of 2016, covers other new features of VMM 2016 such as Cluster OS Rolling upgrade and Production Checkpoints. You will also learn how to integrate VMM 2016 with Windows Azure Pack for VM Clouds management.
  • Chapter 10, Integration with System Center Operations Manager 2016, guides you through the steps required to complete integration of SCOM 2016 with VMM in order to enable monitoring of the private cloud infrastructure.

VMM 2016 Cookbook

PS: code files will be uploaded soon (Packt team is still working on it)

How to customize a VMware ESXi image and install it in a Hyper-V VM

I’ve been doing recently  VMware ESXi deployment in my lab environment and would like to share main steps required to make it work on nested Hyper-V. Needless to say, nested virtualization works great only for demo and labs, therefore, running ESXi under Hyper-V is a completely unsupported in production environments.

Anyway, carry out the following steps to install ESXi (6.0, in my case. although these steps should work for newer versions as well):

1. Download VMWare ESXi offline bundle available at product download page (e.g. ESXi6.0). You can also download a ESXi image customized by vendor. For example, here is a direct download link for Dell’s ESXi 6.0 image which includes Dell’s VIBs in addition to built-in installation bundles provided by VMware.

2. Download the driver  which allows running ESXi as a VM under Microsoft Hyper-V (net-tulip, it’s actually a network driver which should be added to ESXi image. Otherwise, ESXi installation will be blocked)

3. Copy the downloaded files to the same folder (e.g. ‘D:\Images\VMware ESXi 6\’). It’ll be used as a work folder.

4. Download and install VMware PowerCLI 6.3 or newer

5. Once PowerCLI is installed,  run it and set location to the folder containing the files, then add offline depot ZIP files to the current PowerCLI session as shown below:

cd 'D:\Images\VMware ESXi 6\'
Add-EsxSoftwareDepot .\esxi60_bundle.zip
Add-EsxSoftwareDepot .\net-tulip-1.1.15-1-offline_bundle.zip

6. Retrieve the name of the standard image profile and note it (it’ll will be used as a clone for a new profile):

Get-EsxImageProfile|ft Name

7. Create a new image profile by cloning existing profile which name you just noted, and then add the driver’s package to the profile:

#Create a new image profile
New-EsxImageProfile -CloneProfile ESXi-6.0.0-2494585  -Name rlevchenko.com -Vendor custom

#Add custom packages
Add-EsxSoftwarePackage -ImageProfile rlevchenko.com -SoftwarePackage net-tulip -Force

image

If AcceptanceLevel is set to PartnerSupported by default (as in the picture above) and custom packages which you are going to add to the image profile have Community acceptance level, you will receive an error during creating an ESXi ISO and it’s installation . To resolve this, set the acceptance level of the image profile to CommunitySupported by running the following command: Set-EsxImageProfile -AcceptanceLevel CommunitySupported –ImageProfile rlevchenko.com

image

8. Now it’s time to create an ISO from the customized ESXi image.To do this, run the following command:

Export-EsxImageProfile -ImageProfile rlevchenko.com -FilePath D:\Images\esxi60_custom.iso -ExportToIso -Force

Create a new VM with the following settings:

  • Generation 1
  • Static RAM (> 4Gb is recommended)
  • More than 1vCPU
  • Legacy network adapter connected to the switch

A sample of VM’s configuration is shown below:

image

9. Once you finished to configure a VM, enable virtualization extensions on the VM’s CPU. Optionally, you can download a script available at github to check VM’s configuration and  enable nested virtualization. Both options are allowed:

#Option 1
Set-VMProcessor -VMName "vHost-01" -ExposeVirtualizationExtensions $True

#Option2
 .\Enable-NestedVM.ps1 -vmName "vHost-01"

10. Turn on the VM, attach the created ESXi ISO and press TAB on the boot screen, then type ignoreHeadless=TRUE and press Enter. Otherwise, ESXi boot will hang while booting  (I assume it’s all because ESXi is running on non-HCL hardware. VM is a bit out of the HCL list..).

esxi on hyper-v_1

11. Complete ESXi installation process (as usual), reboot it and press SHIFT+O during the startup, and then enable ignoreHeadless option again as shown in the screenshot:

esxi on hyper-v_4

Once ESXi is successfully started, define settings for management network, enable a Shell, and then press Alt+F1 to enter to a console. We need to set a VMKernel boot-time parameter. Otherwise, you will always need to enable ignoreHeadless after every reboot.

Provide root credentials and  type esxcfg-advcfg -k TRUE ignoreHeadless

esxi on hyper-v_6

Close the console by pressing ALT+F2, reboot ESXi and verify that it starts up seamlessly.

That’s it. Now you have a ESXi host running on a Hyper-V VM.

Until then,

enjoy your day :)!