Summary: An extensive overview on installing and configureing vSphere 6 and SRM 6.
Date: 16 August 2015
Refactor: 1 May 2025: Checked links and formatting.
Server Overview: AMSTERDAM:
ROTTERDAM:
All servers run Windows Server 2012 R2
Installation software:
For vCenter we'll use the Windows Authentication (with the created service account) so we'll have to configure this. We'll use a script for this as well, that needs to be executed from SQL Management Studio while connected to the database server:
USE [master] GO CREATE DATABASE [VCDB] ON PRIMARY (NAME = N'vcdb', FILENAME = N'D:\MSSQL12.MSSQLSERVER\MSSQL\DATA\VCDB.mdf', FILEGROWTH = 10% ) LOG ON (NAME = N'vcdb_log', FILENAME = N'D:\MSSQL12.MSSQLSERVER\MSSQL\DATA\VCDB.ldf', FILEGROWTH = 10%) COLLATE SQL_Latin1_General_CP1_CI_AS GO USE VCDB GO sp_grantlogin @loginame=[SHIFT\SRV-ESX-APPL] GO sp_defaultdb @loginame=[SHIFT\SRV-ESX-APPL], @defdb='VCDB' GO ALTER LOGIN [SHIFT\SRV-ESX-APPL] WITH DEFAULT_LANGUAGE = us_english; GO CREATE USER [SHIFT\SRV-ESX-APPL] FOR LOGIN [SHIFT\SRV-ESX-APPL] GO sp_addrolemember @rolename = 'db_owner', @membername = 'SHIFT\SRV-ESX-APPL' GO USE MSDB GO CREATE USER [SHIFT\SRV-ESX-APPL] FOR LOGIN [SHIFT\SRV-ESX-APPL] GO sp_addrolemember @rolename = 'db_owner', @membername = 'SHIFT\SRV-ESX-APPL' GO
This script uses three settings that need to be adjusted to your environment:
This script basically does:
The vCenter Server system must have a 64-bit DSN. This requirement applies to all supported databases.
The system now has a DSN that is compatible with vCenter Server. When the vCenter Server installer prompts you for a DSN, select the 64-bit DSN.
The first step is to configure AD as a Identity Source.
Then to assign permissions to your administrator group:
Also assign a administrator group the “SystemConfiguration Administrators” permission:
In vCenter
Server Overview: ROTTERDAM:
All servers run Windows Server 2012 R2
Installation software:
This is partly the same installation as before. Only the different steps have been screenshotted.
You can use exactly the same script as used for the vCenter server database on the first site.
You can use exactly the same procedure as on the vCenter server on the first site.
This is partly the same installation as before. Only the different steps have been screenshotted.
In vCenter
Adding the HBA card WWWNs to the storage initiator group in production:
esx001: WWNN: 20:00:00:24:ff:09:c7:71 20:00:00:24:ff:09:c5:8d WWPN: 21:00:00:24:ff:09:c7:71 21:00:00:24:ff:09:c5:8d esx002 WWNN: 20:00:00:24:ff:09:c9:03 20:00:00:24:ff:09:c7:36 WWPN: 21:00:00:24:ff:09:c9:03 21:00:00:24:ff:09:c7:36 esx003 WWNN: 20:00:00:24:ff:09:c6:85 20:00:00:24:ff:09:c7:02 WWPN: 21:00:00:24:ff:09:c6:85 21:00:00:24:ff:09:c7:02 esx401: WWNN: 20:00:00:24:ff:09:c7:72 20:00:00:24:ff:09:c7:17 WWPN: 21:00:00:24:ff:09:c7:72 21:00:00:24:ff:09:c7:17 esx402: WWNN: 20:00:00:24:ff:09:c8:61 20:00:00:24:ff:09:c7:9c WWPN: 21:00:00:24:ff:09:c8:61 21:00:00:24:ff:09:c7:9c esx403: WWNN: 20:00:00:24:ff:10:8a:8d 20:00:00:24:ff:10:8a:e0 WWPN: 21:00:00:24:ff:10:8a:8d 21:00:00:24:ff:10:8a:e0
Log in to the ESX/ESXi host as a root user, make a backup of /etc/vmware/config and then open /etc/vmware/config file using a text editor. Add these entries to the file:
isolation.tools.copy.disable="FALSE" isolation.tools.paste.disable="FALSE"
Select the host and go to the Configuration tab, then in the Software panel click the Advanced Settings button and in the pop-up window go to Syslog. Fill in the syslog server in the “Syslog.global.logHost” advanced setting:
udp://192.168.10.93:514
To allow for outgoing syslog traffic go again to the Configuration tab and in the Software panel click the Security Profile. You'll see the current firewall settings and in the right the option to configure the Properties. In the pop-up window you can check the syslog checkbox and click OK.
Set NTP settings on the host in Configuration → Time Configuration
NTP Server = 192.166.123.123
Startup Policy = Start and stop with host
When using ESXi while running from an usb drive a random datastore is selected by ESXi to store the host's logfiles. If you would detach this datastore the logfiles are lost, which is not really something you want. This part shows how to create a scratch partition and how to tell ESXi to use it. Note that you'll need a reboot and this is only necessary on ESXi hosts running without local storage.
The procedure for doing this is pretty straight forward:
.locker-hostname
/vmfs/volumes/50d82ad0-872feb40-a440-5cf3fcdbf838/.locker-esx57
Login as root and do:
SAN4A> vol create SAN4A_0A_011 -s none aggr1 900g Creation of volume 'SAN4A_0A_011' with size 900g on containing aggregate 'aggr1' has completed. SAN4A> vol autosize SAN4A_0A_011 -m 1000g -i 25g on vol autosize: Flexible volume 'SAN4A_0A_011' autosize settings UPDATED. SAN4A> vol options SAN4A_0A_011 nosnap on SAN4A> vol options SAN4A_0A_011 no_atime_update on SAN4A> vol options SAN4A_0A_011 fractional_reserve 0 SAN4A> snap reserve SAN4A_0A_011 0 SAN4A> sis on /vol/SAN4A_0A_011 SIS for "/vol/SAN4A_0A_011" is enabled. Already existing data could be processed by running "sis start -s /vol/SAN4A_0A_011".
Note: always do a rdfile before you do a wrfile. Wrfile clears the file!
Login as root and do:
SAN0A> vol create SAN0A_4A_011 -s none aggr1 1000g Creation of volume 'SAN0A_4A_011' with size 1000g on containing aggregate 'aggr1' has completed. SAN0A> vol options SAN0A_4A_011 nosnap on SAN0A> vol options SAN0A_4A_011 no_atime_update on SAN0A> vol options SAN0A_4A_011 fractional_reserve 0 SAN0A> snap reserve SAN0A_4A_011 0 SAN0A> vol restrict SAN0A_4A_011 Volume 'SAN0A_4A_011' is now restricted. SAN0A> snapmirror initialize -S 192.168.81.19:SAN4A_0A_011 SAN0A:SAN0A_4A_011 Transfer started. Monitor progress with 'snapmirror status' or the snapmirror log. SAN0A> rdfile /etc/snapmirror.conf #20140606 sjoerd removed replication for bes servers #20140314 sjoerd added replication for new storage environment 192.168.81.19:SAN4A_0A_001 SAN0A:SAN0A_4A_001 - * * * * 192.168.81.19:SAN4A_0A_003 SAN0A:SAN0A_4A_003 - * * * * 192.168.81.19:SAN4A_0A_005 SAN0A:SAN0A_4A_005 - * * * * 192.168.81.19:SAN4A_0A_007 SAN0A:SAN0A_4A_007 - * * * * 192.168.81.19:SAN4A_0A_009 SAN0A:SAN0A_4A_009 - * * * * 192.168.81.19:SAN4A_0A_012 SAN0A:SAN0A_4A_012 - * * * * SAN0A> wrfile /etc/snapmirror.conf #20150723 added volume for lync #20140606 sjoerd removed replication for bes servers #20140314 sjoerd added replication for new storage environment 192.168.81.19:SAN4A_0A_001 SAN0A:SAN0A_4A_001 - * * * * 192.168.81.19:SAN4A_0A_003 SAN0A:SAN0A_4A_003 - * * * * 192.168.81.19:SAN4A_0A_005 SAN0A:SAN0A_4A_005 - * * * * 192.168.81.19:SAN4A_0A_007 SAN0A:SAN0A_4A_007 - * * * * 192.168.81.19:SAN4A_0A_009 SAN0A:SAN0A_4A_009 - * * * * 192.168.81.19:SAN4A_0A_011 SAN0A:SAN0A_4A_011 - * * * * 192.168.81.19:SAN4A_0A_012 SAN0A:SAN0A_4A_012 - * * * * read: error reading standard input: Interrupted system call
Note: always do a rdfile before you do a wrfile. Wrfile clears the file!
Add networks to all three hosts in ROTTERDAM and AMSTERDAM: LAN0-VLAN1 : VLAN ID: None (0)
For SRM we'll use the Windows Authentication (with the created service account) so we'll have to configure this. We can't use the same user as for the vCenter installation as both installations require the user to have their database as default. We'll use a script for this as well, that needs to be executed from SQL Management Studio while connected to the database server:
USE [master] GO CREATE DATABASE [SRMDB] ON PRIMARY (NAME = N'srmdb', FILENAME = N'D:\MSSQL12.MSSQLSERVER\MSSQL\DATA\SRMDB.mdf' , FILEGROWTH = 10% ) LOG ON (NAME = N'srmdb_log', FILENAME = N'D:\MSSQL12.MSSQLSERVER\MSSQL\DATA\SRMDB.ldf' , FILEGROWTH = 10%) COLLATE SQL_Latin1_General_CP1_CI_AS GO USE SRMDB GO sp_grantlogin @loginame= [SHIFT\SRV-SRM-APPL] GO sp_defaultdb @loginame= [SHIFT\SRV-SRM-APPL], @defdb ='SRMDB' GO ALTER LOGIN [SHIFT\SRV-SRM-APPL] WITH DEFAULT_LANGUAGE = us_english; GO CREATE USER [SHIFT\SRV-SRM-APPL] FOR LOGIN [SHIFT\SRV-SRM-APPL] GO sp_addrolemember @rolename = 'db_owner', @membername = 'SHIFT\SRV-SRM-APPL' GO
Note that there are a bunch of requirements. Most are met like this, the others are taken care of by the installation.
The SRM Server system must have a 64-bit DSN. This requirement applies to all supported databases.
The system now has a DSN that is compatible with SRM. When the SR< installer prompts you for a DSN, select the 64-bit DSN.
Used software:
We will use the exact same script as used for the installation of the protected site.
Use the exact same procedure to install and configure a system DSN on the SRM server on the recovery site.
We will do the exact same installation, so I will only show screenshots only when necessary:
Perform these steps on both SRM servers:
Pairing the sites is the first step to take:
Then redo this for the other storage heads.
As we have a separate network for storage replication the array manager pairs can't find each other because the information as provided does not match the snapmirror configuration in the storage heads. We need to configure this at the srm servers:
On both SRM servers, locate these files and make the required changes:
#use_ip_for_snapmirror_relation = on\off(default is off) #20150816 sjoerd - Changed to on use_ip_for_snapmirror_relation = on
SAN0A = 192.168.61.19 SAN0B = 192.168.61.29 SAN4A = 192.168.81.19 SAN4B = 192.168.81.29
Per cluster, follow these steps: In the correct datacenter, create cluster as showed already above, and then add the hosts. Cluster settings:
Host settings
For Global Permissions, in the vSphere Web Client, go to Home → Administration → Global Permissions. For other permissions, navigate to the entity in place and set permissions accordingly. Click Add and configure these permissions as Group, Role and Defined In:
Note that if read only permissions are assigned for the advanced and realtime statistics we need ReadOnly permissions on global level as well, since vSphere6 readonly on the object itself are not enough anymore!
* After creating the folders and setting the permissions, place the VMs in the correct group.
To add an affinity rule:
To create a group (required for VM to Host affinity):
Configure the following affinity rules:
Alarms have to be setup on both vCenters. Go to the vCenter object → Manage
Go to vCenter inventory lists, vCenter Go to Manage → Settings → General Click edit, go to Mail and fill in mailhub.shift.local as the smtp server and vcenter-rot_getshifting.com or vcenter-ams_getshifting.com as sender.
Map according to this schedule:
Map according to this schedule:
Note: this is done at the recovery site
* Go to Home → Site recovery → Sites → Select the recovery site
On both sites,
Repeat this step for all required protectiongroups
Repeat this step for all required recovery plans
For all Recovery Plans, check and configure:
echo y | G:\scripts\networkscripts\plink -ssh -pw XXXXXXXX root@SAN0A echo G:\scripts\networkscripts\plink -ssh -pw XXXXXXXX root@SAN0A snapmirror on echo y | G:\scripts\networkscripts\plink -ssh -pw XXXXXXXX root@SAN0B echo G:\scripts\networkscripts\plink -ssh -pw XXXXXXXX root@SAN0B snapmirror on exit
echo y | G:\scripts\networkscripts\plink -ssh -pw XXXXXXXX root@SAN0A echo G:\scripts\networkscripts\plink -ssh -pw XXXXXXXX root@SAN0A snapmirror off echo y | G:\scripts\networkscripts\plink -ssh -pw XXXXXXXX root@SAN0B echo G:\scripts\networkscripts\plink -ssh -pw XXXXXXXX root@SAN0B snapmirror off exit
Create these four groups and assign permissions accordingly:
Make the “Server Admins” member of all four groups. This gives the situation that all members of the “Server Admins” group can do everything in vCenter, except for running recoveries. To do that, you need to be member of the domain admin group.
SRM alarms are now fully integrated: http://pubs.vmware.com/srm-61/topic/com.vmware.srm.admin.doc/GUID-33E5966A-A8EA-4F61-8B16-D01E3B647D49.html
Configure alarms according to the following set-up:
Host upgrade options: https://pubs.vmware.com/vsphere-60/topic/com.vmware.vsphere.upgrade.doc/GUID-FE668788-1F32-4CB2-845C-5547DD59EB48.html
Export all runbooks and distribute them to the BCP Officer.