NetScaler Loadbalancing – Desktop Delivery Controller

Heute will ich in wenigen Schritten aufzeigen, wie vorhandene Desktop Delivery Controller (DDCs) mit einer NetScaler VPX geloadbalanced werden können. Das Fallbeispiel basiert auf folgender Umgebung:

XDDCLB

Verwendeter LB Monitor: CITRIX-XD-DDC

Auszug aus den Citrix Docs: “The monitor sends a probe to the XenDesktop Delivery Controller server in the form of an XML message. If the server responds to the probe with the identity of the server farm, the probe is considered to be successful and the server’s status is marked as UP. If the HTTP response does not have a success code or the identity of the server farm is not present in the response, the probe is considered to be a failure and the server’s status is marked as DOWN.

NetScaler XML Ticket

The Validate Credentials option determines the probe to be sent by the monitor to the XenDesktop Delivery Controller server, that is, whether to request only the server name or to also validate the login credentials.

Note: Regardless of whether or not the user credentials (user name, password and domain) are specified on the CITRIX-XD-DDC monitor, the XenDesktop Delivery Controller server validates the user credentials only if the option to validate credentials is enabled on the monitor.”

Implementierung

Für die Implementierung benötigen wir:

  • Service-User für XML-Test (hier: service.citrix) mit zugehörigem Passwort (hier: P@ssw0rd)
  • IP für LB vServer (hier: 10.0.1.224)
  • SSL-Zertifikat für LB vServer (hier: xddc.domain.local)
  • DNS-Eintrag für LB vServer (hier: xddc.domain.local)

Wichtig:
Dieses Fallbeispiel basiert auf der Verwendung von https! Falls auf den vorhandenen DDCs kein IIS installiert ist muss das Zertifikat noch auf den „Citrix Broker Service“ gebunden werden.

netsh http add sslcert ipport=10.0.1.215:443 certhash=58FABFF0FD12822EE75C11A1102919318F55C6CE appid={532CC722-9B81-8F74-082C-EE288A3F297E}

Details siehe: http://support.citrix.com/article/CTX130213

 Server hinzufügen

add server DDC01 10.0.1.215 -comment "\"Citrix XenDesktop Delivery Controller\"" 
add server DDC02 10.0.1.216 -comment "\"Citrix XenDesktop Delivery Controller\""

Monitor erstellen

add lb monitor monitor-XDDC CITRIX-XD-DDC -userName service.citrix -password P@ssw0rd -LRTM ENABLED -secure YES -validateCred YES -domain domain.local

ServiceGroup erstellen

add serviceGroup serviceGroup-XDDC SSL -maxClient 0 -maxReq 0 -usip NO -useproxyport YES -cltTimeout 180 -svrTimeout 360 -CKA NO -TCPB NO -CMP NO
bind serviceGroup serviceGroup-XDDC DDC01 443 -CustomServerID "\"None\""
bind serviceGroup serviceGroup-XDDC DDC02 443 -CustomServerID "\"None\""
bind serviceGroup serviceGroup-XDDC -monitorName monitor-XDDC

vServer erstellen

add lb vserver vserver-443-XDDC SSL 10.0.1.224 443 -persistenceType NONE -Listenpolicy NONE -cltTimeout 180
bind lb vserver vserver-443-XDDC serviceGroup-XDDC

 Zertifikat binden

bind lb vserver vserver-443-XDDC -certkeyName xddc.domain.local.cer

Ggfs. Intermediate-Zertifikate hinzufügen / Verlinkungen erstellen.

Konfiguration Storefront

In der Store-Config wird nur explizit der neu erstelle vServer eingetragen:

LBSFIn der entsprechenden Store-Config setzen wir den Bypass-Timeout auf 0:

File: /Citrix/Store/web.config:
bypassDuration="0"

Wie immer gilt:
Für Vollständigkeit, Fehler redaktioneller und technischer Art, Auslassungen usw. sowie die Richtigkeit der Inhalte wird keine Haftung übernommen. Umsetzung auf eigene Gefahr..