31
Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Embed Size (px)

Citation preview

Page 1: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Planning and Implementation of a Provisioning High Availability (HA) Solution

Planning and Implementation of a Provisioning High Availability (HA) Solution

Keith T McLaughlin

Escalation Engineer

Page 2: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Training Agenda

Overview of two different High Availability configurations

Deeper look at High Availability Architecture

Design and Implementation

Troubleshooting Tips

Page 3: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Two different HA Configurations

Distributed HA

Centralized HA

Page 4: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Distributed HAProvisioning Servers

SQL Server

vDisks

SQL databaseTarget Devices

Page 5: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Centralized HAProvisioning Servers

Shared Storage

vDisks

SQL database Target Devices

SQL Server

Page 6: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

High Availability Design

Agenda item number 1

Cache’s roll in High Availability

The roll of the bootstrap file in failover

Re-login Process

Load Balancing with High Availability

How does failover work?

Page 7: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Failover Process

1.1.1.1

1.1.1.2

1.1.1.3

1.1.1.4

Streaming from 1.1.1.4

X

Bootstrap1.1.1.2

1.1.1.1

Login Process

Request for vDisk3

PVS Target Device

StreamServer

1.1.1.3:vDisk3

Page 8: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Bootstrap’s roll in failover

• The Target Device uses the list of Provisioning Server provided in the bootstrap when initiating failover.

Page 9: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Role of the bootstrap

Shared Storage

vDisks

SQL database Target Devices

SQL Server

PVS3PVS1 PVS2

PVS6PVS5PVS4

BootstrapPVS1

PVS2

PVS3

PVS4

Page 10: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Load balancing with High Availability

• PVS currently only provides load balancing during the login process. A count of how many devices are booted to each server in the site is kept by the stream service.

• When a Target Device is shutdown or a new Target Device is booted up the server will update the count and send that information to all other servers in the site.

Page 11: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Load balancing with High Availability (cont)

• Load balancing will not occur dynamically after the login process.

PVS2PVS1

Page 12: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Load balancing with High Availability (cont)

PVS2PVS1

X

Page 13: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Where to store the cache file in a HA environment

Cache on local RAM

Cache on Server Disk

Cache on Local Disk

Page 14: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Cache on Local RAM

Shared Storage

vDisks

SQL database

Cache

PVS1 PVS2

X

Page 15: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Cache on Local Disk

Shared Storage

vDisks

SQL database

Cache

PVS1 PVS2

X

Page 16: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Cache on Server Disk

Shared Storage

vDisks

SQL database

Cache

PVS1 PVS2

X

Page 17: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Cache on Server Disk (incorrect configuration)

Shared Storage

vDisks

SQL database

Cache

PVS1 PVS2

X

Page 18: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Possible single point of failure

Shared Storage

vDisksSQL database

Cache

PVS1

PVS2

TFTPDHCP PXE

Switch

Page 19: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Possible single points of failure

TFTP

Network

Storage

Bootstrap Delivery

Page 20: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

TFTP Redundancy

• DHCP Option 66 only allows for one TFTP server to be entered.

• Using TFTP Clustered Servers or PXE Service instead of DHCP options will solve this issue.

Page 21: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Network Redundancy

PVS Server Target Device

Switch

PVS Server Target Device

Page 22: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Storage Redundancy

Type of Storage Pros Cons

CIFS on Windows Server

• Easy to setup

• Free with OS

• Hard drives are cheap

• Performance due to SMB traffic

• Lack of scalability

• HA requires two plus servers

CIFS on NAS Device

Easy to setup Device typically less expensive than SAN

device Built in redundancy for disks (depends on

vendor/model) Various vendors/models

•Less expensive solutions equal single

point of failure

• Scalability can be an issue depending

on vendor/model purchased

Page 23: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Storage Redundancy (continued)

iSCSI to NAS Device

Moderate to setup Device typically less expensive than SAN

device Built in redundancy for disks (depends on

vendor/model) Various vendors/models offer resiliency

benefits

•Less expensive solutions equal single point of failure

•Scalability can be an issue depending on vendor/model purchased

•Requires cluster file system when sharing LUN across multiple servers

iSCSI to SAN Device

•Highly scalable•Built in resiliency

•Build in features like storage replication and high performance disk arrays

•Moderate to complex to setup•Typically more expensive than NAS devices•Requires cluster file system when sharing LUN across multiple servers

Page 24: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Storage Redundancy (continued)

Fiber to SAN Device

•Highly scalable•Built in resiliency

•Build in features like storage replication and high performance disk arrays

•Complex to setup•Typically more expensive than NAS devices•Requires cluster file system when sharing LUN across multiple servers

Page 25: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Bootstrap Delivery Redundancy

Solution Pros Cons

DHCP Clustering • Less traffic on the network

•Moderate to setup

• Multiple servers needed

• More expensive

Multiple PXE Servers

Easy to setup Less hardware needed.

•More broadcast traffic on the network

Page 26: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Troubleshooting Tips

Stream Logs

Page 27: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

PVS Logging

• Log files and the stream_log.config files can be found in C:\Documents and Settings\All Users\Application Data\Citrix\Provisioning Server

• To increase the logging level edit the level value line in the stream_config to TRACE

• <level value="TRACE" />

Page 28: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

PVS Logging

[0x00000188] TRACE CStreamDbImpl::DoDeviceGetByMac - In DoDeviceGetByMac for mac = E27AE23D9F48

[0x00000188] TRACE CSqlCommand::CSqlCommand - new CSqlCommand commandText: <uspGetDeviceByMac>

[0x00000188] TRACE CClientDeviceInstanceDbAccess::DoGetOne - In CClientDeviceInstanceDbAccess::DoGetOne

[0x00000188] DEBUG CClientDeviceInstanceDbAccess::DoGetOne - got device record, name = WinXp, mac = E27AE23D9F48

[0x00000188] DEBUG CStreamDbImpl::DoDiskLocatorGetByDeviceId - In DoDiskLocatorGetByDeviceId for id = 1

[0x00000188] TRACE CDiskLocatorInstanceDbAccess::DoGetByDeviceId - In CDiskLocatorInstanceDbAccess::DoGetByDeviceId

[0x00000188] TRACE CSqlCommand::CSqlCommand - new CSqlCommand commandText: <uspGetDiskLocatorByDeviceId>

[0x00000188] DEBUG

CDiskLocatorInstanceDbAccess::DoGetByDeviceId - harvested diskLocator info, diskLocatorId = 26fd6469-a761-4d0f-ae65-0288508fe93c, name = <vDISKNAME>, id = 3

[0x00000188] TRACE

CStreamDbImpl::DoDeviceBootstrapGetByGuid - In DoDeviceBootstrapGetByGuid for deviceId = 3b5be104-86c3-4862-8c3a-d4019fa8d5a1

[0x00000188] TRACE CStreamDbImpl::DoDeviceGetByMac - In DoDeviceGetByMac for mac = E27AE23D9F48

[0x00000188] DEBUG CClientDeviceInstanceDbAccess::DoGetOne - got device record, name = WinXp, mac = E27AE23D9F48

[0x00000188] DEBUG

CDiskLocatorInstanceDbAccess::DoGetByDeviceId - harvested diskLocator info, diskLocatorId = 26fd6469-a761-4d0f-ae65-0288508fe93c, name = <vDISKNAME>, id = 3

Page 29: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

PVS Logging Continued

[0x00000188] TRACE

CServerInstanceDbAccess::DoChooseLeastBusyServerForDiskLocator - In DoChooseLeastBusyServerForDiskLocator

[0x00000188] DEBUG

CServerInstanceDbAccess::RoundRobinChooseLeastBusyServerForDiskLocator - found at least one leastBusy server, setting minDeviceCount = 0

[0x00000188] DEBUG

CServerInstanceDbAccess::RoundRobinChooseLeastBusyServerForDiskLocator - harvested leastBusyServer contact info, serverId = f5d9dab3-6f72-42b0-aae7-320f91c837eb, serverName = PVS2KEITH, deviceCount = 0

[0x00000188] DEBUG

CServerInstanceDbAccess::RoundRobinChooseLeastBusyServerForDiskLocator - choosing the first/only server, numLeastBusyServers = 1, target = 0

[0x00000188] DEBUG

CServerInstanceDbAccess::RoundRobinChooseLeastBusyServerForDiskLocator - found at least one leastBusy server, setting minDeviceCount = 0

[0x00000188] DEBUG

CServerInstanceDbAccess::RoundRobinChooseLeastBusyServerForDiskLocator - harvested leastBusyServer contact info, serverId = f5d9dab3-6f72-42b0-aae7-320f91c837eb, serverName = PVS2KEITH, deviceCount = 0

Page 30: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer

Partner Training & Certification

Build your NetScaler product expertise and maximize your sales potential with the latest Citrix training and certification:

Technical• CNS-300 Advanced Administration for Citrix NetScaler 9.0 Platinum Edition coming soon - September

Partner promotion available including the following at a discounted price limited time only!

• CNS-200 Basic Administration for Citrix NetScaler 9.0

• Exam A11 Basic Administration for Citrix NetScaler 9.0

Visit www.citrix.com/partnertraining to view a complete list of discounted Partner offerings and learn how to maintain compliance with Citrix Certification.

Page 31: Planning and Implementation of a Provisioning High Availability (HA) Solution Keith T McLaughlin Escalation Engineer