It is not always easy to divide Low-level Design and High-Level Design. How to differentiate between high-level and low-level design depends on the entity that we refer to. When we need to design our cloud then high-level decision could be for example choice of the technology that makes our SQL Servers highly-available. But when we talk about our business or company (the entity) then SQL Servers are in Low-level Design category. This means that following division to High-level Design and Low-level Design are only within our entity.
High-level Design
Following design was chosen for our testing environment. As architect you need to choose own design according needs of your business. Use following design only as help to understand how to model your environment.
Architectural design questions you need to ask
Choose between standard and HA deployment
- It is possible to choose between installation of the VMM on the physical or virtual cluster nodes (standard Failover Clustering) or on one physical or virtual machine.
- The only possibility for VMM is the standard Failover Clustering (no Network Load Balancing – NLB) so one server is active and the rest are passive. That is also mean that during failover all running operations fail.
- In your environment you should always model your environment according needs of your business. There is no reason to always choose the highest possible deployment process (for example Failover Clustering). A good architect should always ask what happened if Virtual Machine Manager goes down, what is the probability that it is happened and evaluate risk for the business.
My rules
- For a lot of environments it is absolutely enough to have highly-available VM and non-HA installation of VMM.
- Reasons:
- When the VMM is down you are not losing your VMs or your virtualization hosts. You are losing automatic optimization (automatic live migrations) but if your environment is well designed then a few hours that should not have problem.
- You can always access your virtual machines and your hosts and for example you can manually start the live migration for the performance reasons.
- Reasons:
- There are cases when you need to have HA VMM. For example important orchestration tasks for 24/7 services that require VMM or network virtualization.
- In the case you are installing VMM to the physical or guest cluster (virtual cluster) then all other components have to always be highly-available (clustered). There is no reason to have fault-tolerant installation of one component and dependencies that are important and that can fail in any time (for example database or file server).
Environment for the simple (not clustered) deployment
Virtual machines
- contscvmm0
- Microsoft System Center Virtual Machine Manager 2012 R2
- Features
- [x] Management Server
- [x] Console
- Features
- Microsoft Windows Assessment and Deployment Kit (Windows ADK)
- Features
- [x] Deployment Tools
- [x] Windows Preinstallation Environment (Windows PE)
- Features
- Microsoft System Center Virtual Machine Manager 2012 R2
- contdb1c0 (SQL Server Failover Cluster with AlwaysOn Availability Groups) or
- contscvmmdb0 (highly-available VM with standalone SQL Server)
- Microsoft SQL Server 2012 SP1
- Features
- Required
- [x] Database Engine Services
- Optional – Management Tools (I recommended to install them on management server only)
- [x] Management Tools – Basic
- [x] Management Tools – Complete
- [x] Management Tools – Basic
- Required
- Default instance (standalone VM with SQL Server)
- Collation: SQL_Latin1_General_CP1_CI_AS
- Features
- Configurations
- Firewall
- Open
- 1433 (SQL Server)
- 5022 (AlwaysOn DB mirroring)
- Open
- Firewall
- Microsoft SQL Server 2012 SP1
- contscvmmlib0
- File server that serve as library server for the SCVMM.
- contmng0 (our management terminal server)
- Microsoft System Center Virtual Machine Manager 2012 R2
- Features
- [x] Console
- Features
- Microsoft System Center Virtual Machine Manager 2012 R2
Service accounts, user accounts and security groups
SCVMM – Service accounts
- serscvmm0
- Member Of
- Domain Users
- Local Administrators
- VMM servers (All)
- Member Of
Environment for the complex (clustered) deployment
Virtual machines
- contscvmm1c0
- Name of the cluster (Access Point for Administering the Cluster).
- Nodes
- contscvmm1c0n0
- contscvmm1c0n1
- Microsoft System Center Virtual Machine Manager 2012 R2
- Features
- [x] Management Server
- [x] Console
- [x] Management Server
- Microsoft Windows Assessment and Deployment Kit (Windows ADK)
- Features
- [x] Deployment Tools
- [x] Windows Preinstallation Environment (Windows PE)
- Features
- Features
- Roles
- contscvmm0c0ms0
- Name of the VMM cluster (Access Point for Administering the VMM)
- contscvmm0c0ms0
- contdb1c0
- Name of the cluster (Access Point for Administering the Cluster).
- Nodes
- contdb1c0n0
- contdb1c0n1
- contdb1c0n2
- Microsoft SQL Server 2012 SP1
- AlwaysOn Availability Groups
- Features
- Required
- [x] Database Engine Services
- Optional – Management Tools (I recommended to install them on management server only)
- [x] Management Tools – Basic
- [x] Management Tools – Complete
- [x] Management Tools – Basic
- Required
- Named instance: scvmm0
- Collation: SQL_Latin1_General_CP1_CI_AS
- .NET Framework 3.5
- Configurations
- Firewall
- Open
- 1433 (SQL Server)
- 5022 (AlwaysOn DB mirroring)
- Open
- Firewall
- Roles
- agscvmm0
- AlwaysOn Availability Group Listener
- DNS: contdb1c0agvmm.ad.contoso.com
- agscvmm0
- contscvmmlib0 xxxxx
- File server that serve as library server for the SCVMM.
- contmng0 (our management terminal server)
- Microsoft System Center Virtual Machine Manager 2012 R2
- Features
- [x] Console
- Features
- Microsoft System Center Virtual Machine Manager 2012 R2
Service accounts, user accounts and security groups
SCVMM – Service accounts
- serscvmm1s
- Service account: SCVMM Service Account
- Permission requirements: Local Administrators on all SCVMM servers
- Member Of
- Domain Users
SCVMM – RunAs accounts
- scvmm1runas0
- Service account: SCVMM RunAs Account
- Member Of
- Domain Users
SCVMM – Security groups
- scvmmadmins1
- Security group: SCVMM Administrators
- Member Of
- Local Administrators
- SCVMM servers (All)
- Local Administrators
- Members
- You and other admins
- sserscvmm1s (SCVMM Service Account)
- scvmm1runas0 (SCVMM RunAs Account)