Upload
miracle-wolffe
View
215
Download
1
Tags:
Embed Size (px)
Citation preview
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
Training Agenda
Overview of two different High Availability configurations
Deeper look at High Availability Architecture
Design and Implementation
Troubleshooting Tips
Two different HA Configurations
Distributed HA
Centralized HA
Distributed HAProvisioning Servers
SQL Server
vDisks
SQL databaseTarget Devices
Centralized HAProvisioning Servers
Shared Storage
vDisks
SQL database Target Devices
SQL Server
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?
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
Bootstrap’s roll in failover
• The Target Device uses the list of Provisioning Server provided in the bootstrap when initiating failover.
Role of the bootstrap
Shared Storage
vDisks
SQL database Target Devices
SQL Server
PVS3PVS1 PVS2
PVS6PVS5PVS4
BootstrapPVS1
PVS2
PVS3
PVS4
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.
Load balancing with High Availability (cont)
• Load balancing will not occur dynamically after the login process.
PVS2PVS1
Load balancing with High Availability (cont)
PVS2PVS1
X
Where to store the cache file in a HA environment
Cache on local RAM
Cache on Server Disk
Cache on Local Disk
Cache on Local RAM
Shared Storage
vDisks
SQL database
Cache
PVS1 PVS2
X
Cache on Local Disk
Shared Storage
vDisks
SQL database
Cache
PVS1 PVS2
X
Cache on Server Disk
Shared Storage
vDisks
SQL database
Cache
PVS1 PVS2
X
Cache on Server Disk (incorrect configuration)
Shared Storage
vDisks
SQL database
Cache
PVS1 PVS2
X
Possible single point of failure
Shared Storage
vDisksSQL database
Cache
PVS1
PVS2
TFTPDHCP PXE
Switch
Possible single points of failure
TFTP
Network
Storage
Bootstrap Delivery
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.
Network Redundancy
PVS Server Target Device
Switch
PVS Server Target Device
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
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
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
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
Troubleshooting Tips
Stream Logs
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" />
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
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
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.