VMware vCSA – Script automatisation vCSA + PSC Externe

Depuis la version 6.0 il est possible de séparer le vCSA en deux parties, la deuxième partie qui intègre en gros les fonctions de Single Sign-On (SSO), de gestion de licences et de certificats s’appelle le PSC (Platform Services Controller). En cas de liaison de deux PSC ces modifications apportent des avantages comme la possibilité d’avoir un vCenter sur chaque site utilisant le même SSO Domain, autorisant l’Enhanced Linked Mode ainsi que le Cross vCenter vMotion et donc la migration de VMs entres les Datacenters.

Pour des raison de simplicité j’ai choisis de faire l’installation sans LoadBalancer et ça se passe donc « from scratch ». La migration du vCenter et des ESXi se fera par la suite, le tout depuis un Jump Server Windows.

Le déploiement est basé sur des fichiers .json exécutés depuis un batch, l’ISO du vCSA 6.0 sera au préalable attaché à la VM de Management (Jump Server), le lecteur D: dans mon exemple.

Exécuter Deploy.bat pour lancer le déploiement automatique ! [Les scripts sont disponibles plus bas…]

Ajouter un/des Domaine(s) AD

  • Se connecter sur le vSphere Web Client d’un vCSA
  • Cliquer sur System Configuration
  • Cliquer sur Nodes, puis choisir un PSC
  • Dans l’onglet Manage, cliquer sur Active Directory dans Advanced
  • Cliquer sur Join… et remplir les informations
  • Une fois validé cliquer sur Actions puis Reboot…
  • Vérifier la réplication sur l’autre PSC

 Après redémarrage

  • Revenir sur l’Accueil du Web Client
  • Choisir Administration sur la gauche
  • Cliquer sur Configuration dans Single Sign-On
  • Choisir l’onglet Identity Sources
  • Cliquer sur le + vert
  • Choisir Active Directory (Integrated Windows Authentification)
  • Vérifier que le Domaine Name se remplis bien, sinon le remplir et faire OK

Les prochains domaines ne pourront pas utiliser Integrated Windows Authentification

Les subtilités du modèle vCSA/PSC

Pour se connecter au vCSA il faut aussi que l’utilisateur ai accès au PSC (niveau réseau) car si on regarde l’url dans le navigateur on voit clairement qu’il va interroger le PSC. En cas de crash du PSC il est donc impossible de se connecter, d’ailleurs en cas de redémarrage par HA il ne faut pas être trop pressé, surtout qu’il faut parfois redémarrer le(s) vCSA ensuite.

Seulement depuis la 6.0 Update 1 !

En cas de problème, il est possible de faire pointer le vCSA vers l’autre PSC :

  • Se connecter au VCSA en root
  • Passer en Shell Bash
shell.set --enabled True
shell
  • Pointer vers l’autre PSC
/usr/lib/vmware-vmafd/bin/vmafd-cli set-dc-name --server-name localhost --dc-name psc2.domain.local
  • En cas de doute sur le PSC
/usr/lib/vmware-vmafd/bin/vmafd-cli get-dc-name --server-name localhost
  • Redémarrer les services
service-control --stop --all && service-control --start --all
@echo off
D:
cd D:\vcsa-cli-installer\win32
vcsa-deploy C:\Scripts\jSON\PSC1.json --accept-eula
vcsa-deploy C:\Scripts\jSON\PSC2.json --accept-eula
vcsa-deploy C:\Scripts\jSON\VCSA1.json --accept-eula
vcsa-deploy C:\Scripts\jSON\VCSA2.json --accept-eula
pause
Deploy.bat
{
"__comments":
[
	"PSC1 - First Instance VMware Platform Services Controller"
	"Created for Virtualease.fr"
],

"deployment":
{
	"esx.hostname":"ESXi1.domain.local",
	"esx.datastore":"DS-VMware",
	"esx.username":"root",
	"esx.password":"Password",
	"deployment.network":"10",
	"deployment.option":"infrastructure",
	"appliance.name":"PSC1",
	"appliance.thin.disk.mode":true

},

"vcsa":
{
	"system":
	{
		"root.password":"Password",
		"time.tools-sync":true,
		"ssh.enable":true,
		"ntp.servers":"ntp.domain.local"
	},

	"sso":
	{

		"password":"Password",
		"domain-name":"vsphere.local",
		"site-name":"Site",
		"first-instance":true
	},

	"networking":
	{
		"ip.family":"ipv4",
		"mode":"static",
		"ip":"192.168.x.x",
		"prefix":"24",
		"gateway":"192.168.x.x",
		"dns.servers":"192.168.x.x",
		"system.name":"psc1.domain.local"
	}

}
}
PSC1.json
{
"__comments":
[
	"PSC2 - Second Instance VMware Platform Services Controller"
	"Created for Virtualease.fr"
],

"deployment":
{
	"esx.hostname":"ESXi2.domain.local",
	"esx.datastore":"DS-VMware",
	"esx.username":"root",
	"esx.password":"Password",
	"deployment.network":"10",
	"deployment.option":"infrastructure",
	"appliance.name":"PSC2",
	"appliance.thin.disk.mode":true
},

"vcsa":
{
	"system":
	{
		"root.password":"Password",
		"time.tools-sync":true,
		"ssh.enable":true,
		"ntp.servers":"ntp.domain.local"
	},
	
	"sso":
	{
		"password":"Password",
		"domain-name":"vsphere.local",
		"site-name":"Site",
		"first-instance":false,
		"replication-partner-hostname":"psc1.domain.local"

	},

	"networking":
	{
		"ip.family":"ipv4",
		"mode":"static",
		"ip":"192.168.x.x",
		"prefix":"24",
		"gateway":"192.168.x.x",
		"dns.servers":"192.168.x.x,192.168.x.x",
		"system.name":"psc2.domain.local"
	}

}
}
PSC2.json
{
"__comments":
[
	"vCSA1 - First Instance VMware vCenter Server Appliance"
	"Created for Virtualease.fr"
],

"deployment":
{
	"esx.hostname":"ESXi1",
	"esx.datastore":"DS-VMware",
	"esx.username":"root",
	"esx.password":"Password",
	"deployment.option":"management-tiny",
	"deployment.network":"10",
	"appliance.name":"VCSA1",
	"appliance.thin.disk.mode":true
},

"vcsa":
{
	"system":
	{	
		"root.password":"Password",
		"ssh.enable":true,
		"ntp.servers":"ntp.domain.local",
		"platform.service.controller":"psc1.domain.local"
	},

	"sso":
	{
		"password":"Password",
		"domain-name":"vsphere.local",
		"site-name":"SITE-PRD"
	},

	"networking":
	{
		"ip.family":"ipv4",
		"mode":"static",
		"ip":"192.168.x.x",
		"prefix":"24",
		"gateway":"192.168.x.x",
		"dns.servers":"192.168.x.x.",
		"system.name":"vcsa1.domain.local"
	}

}
}
VCSA1.json
{
"__comments":
[
	"vCSA2 - Second Instance VMware vCenter Server Appliance"
	"Created for Virtualease.fr"
],

"deployment":
{
	"esx.hostname":"ESXi2.domain.local",
	"esx.datastore":"DS-VMware",
	"esx.username":"root",
	"esx.password":"Password",
	"deployment.option":"management-tiny",
	"deployment.network":"10",
	"appliance.name":"VCSA2",
	"appliance.thin.disk.mode":true
},

"vcsa":
{
	"system":
	{
		"root.password":"Password",
		"ssh.enable":true,
		"ntp.servers":"ntp.domain.local",
		"platform.service.controller":"psc2.domain.local"
	},

	"sso":
	{
		"password":"Password",
		"domain-name":"vsphere.local",
		"site-name":"SITE-DRP"
	},

	"networking":
	{
		"ip.family":"ipv4",
		"mode":"static",
		"ip":"192.168.x.x",
		"prefix":"24",
		"gateway":"192.168.x.x",
		"dns.servers":"192.168.x.x",
		"system.name":"vcsa2.domain.local"
	}

}
}
VCSA2.json

 



...BofBienTrès BienTop ! (Soit le premier à voter)
Loading...

Mathieu

Je suis actuellement Ingénieur Système spécialisé dans le design d'environnements cloud virtualisés. Adepte des technologies de VMware, Nutanix, Citrix ou Microsoft je propose à travers ce blog diverses astuces de troubleshooting.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *