With anything you do, it’s always good to have a design and a plan in mind before you roll up the sleeves and execute. This is particularly critical for any infrastructure deployment. The reason is simple, anything infrastructure related forms part of the foundation for everything else that rides on top. Any architecture with a soft foundation will run into a all sorts of problems which will be more complex and costly to rectify later on.
Plan and Design is most certainly the most critical part for a VDI deployment, big or small. For anyone who is considering a VDI solution, this is a very critical starting point that must be treated with care and priority.
This article will not dive into the details of the design phase, but it is so important that I must first stress about it.
What I am focusing on here is the high level steps for deploying a greenfield virtual desktop environment. These apply to any environment and hope it helps to serve as a guide for you.
A. Hardware Setup
Of course we will first have to rack and stack all the servers, storage & network.
Have them all fired up and tested as per the requirements of the environment.
Don’t forget to make sure the BIOS and firmware of all hardware are at least at the level indicated in the VMware HCL.
I shall skip the details on the actual setup of server, storage and network
B. ESXi Installation
Here you would have determined what are all the host names & which servers are to be clustered together, etc. How and when are these determined? During the Plan & Design phase of course.
At end of this, all your hosts would already be up with VMware vSphere.
C. Deploy First Virtual Machines & Setup vSphere Clusters
At this juncture, there is no vCenter Server yet. That’s is going to be the primary target we try to bring up. Do bear in mind that vCenter Server has lots of dependencies, a Database server, Microsoft Active Directory & DNS server are the least. So in terms of sequence here’s what I would do:
- Create my first AD server with DNS and possibly DHCP
- Create the second AD for redundancy
- Create the first database server (let’s assume it to be MS SQL)
- Create a dedicated VM for vCenter Server SSO (A SSO cluster will be valid consideration here.)
- Create and install vCenter Server (this will be for the management cluster); add all the relevant ESXi hosts to be managed by this vCenter Server.
- Finish setting up all that is needed for this vCenter Server & management cluster.
- Now, since vCenter Server is operational, we can start to create template virtual machines which can be used to deploying the remaining server VMs.
- Create additional vCenter Servers and hook them up to the same SSO deployed earlier. This is particularly useful for larger deployments with multiple Desktop Blocks & vCenter Servers, as you would probably prefer to enable linked mode.
- Enable vCenter Server linked mode; I would only do this for all the vCenter Servers for the desktop blocks. The management block vCenter Server will be kept on its own.
When you have arrived here, all the vSphere configurations should be completed.
D. File Share for User Profiles and Data
In almost all VDI deployments, there is some need for a Windows File Share. These are very useful to backup user profiles and data, and keep things synchronized and available between virtual desktop sessions. The file share can either be hosted off a Microsoft Windows VM, or by specialized Enterprise Network Attached Storage (NAS).
E. Antivirus Service & Management
There isn’t any environment that will go without any Antivirus/Anti-malware solution. I would strongly recommend a good solution which integrates with VMware vShield Endpoint. This is the stage where the solution is deployed and configured.
F. VMware Horizon View
This is where we start working on the View layer. We’ll deploy all the View manager servers into the Management Block. Some environment may choose to deploy the View Security Servers in the DMZ clusters already present in the environment. That is perfectly acceptable as well.
- For simplicity, the very first thing to prepare are the SSL certificates for the View Connection Servers, View Security Servers and View Composer Servers. Installing with self signed certificates first, then replacing them with Certificate Authority issued certificates is also possible.
- Create and install the first View Connection Server (VCS).
- Create and install the second VCS (a.k.a. the Replica Server).
- Any additional VCS will depend on the design; it is not solely dependent on how many concurrent sessions the environment needs to support.
- Install View Composer Service – this will either be co-installed with each Desktop Block vCenter Server, or on dedicated virtual machines. The choice depends on several factors, and I shall defer the details to another post.
- Create and install any View Security Servers, minimum 2 for production environments.
- Complete any View configurations such as global policies, configuration backup timings, etc.
- If this environment has multiple desktop admins responsible for different desktops; create the folders in vCenter Server & View Admin and grant the relevant permissions.
G. Create Virtual Desktops
Now, all the infrastructure components should be up, and you are ready to create the master/parent virtual desktops. I will have a sticky post that dives into the details of creating virtual desktops.
- Create new Windows Virtual Desktop VM; this will be the master desktop.
- Optimize, customize & harden the virtual desktop.
- Create desktop pool based on the master desktop.
- Test, test, test; functional test & performance measurement
H. Set Up End Points
In many VDI deployments, users may choose to replace existing desktops with the lean Zero clients, or Thin clients. There are typically some management tool available to be deployed to simplify the management of the new fleet of devices. I do recommend leveraging the management tools where available.