Configuring PVS for High availability with UEFI booting and PXE service
Requirements and configuration:
- PVS 7.8 or above installed on all servers
- PXE service configured to run on multiple PVS servers
- Option 11 configured on the DHCP server for multiple PVS servers (or option 17 configured with Round Robin DNS entry)
- Vdisk stores configured with multiple PVS servers serving those stores:
We can split a PVS target booting into 4 tasks.
PXE client on target device getting an IP address and scope options.
IP address will come from DHCP server.
Scope options there are two options:
- Scope options for PXE are defined on dhcp server
Options 66 and 67 specify the server name and file name for tftp retrieval of the pxe bootstrap file
- PXE server (option 60, doesn’t need to be configured)
PXE server responds to DHCP request with PXE information, giving its own server name, and the appropriate file name for tftp retrieval of the pxe bootstrap file
PXE client retrieves boot file via TFTP
- PXE client retrieves boot file from TFTP server as specified in scope options, this TFTP address can be load balanced and configured for HA with Netscaler.
Round robin can be used for also load balancing, but not for HA, as there is no recovery if one tftp server is offline
- The PXE server which responded first is used by PXE client.
PXE server specifies itself as the source tftp server, and provides the appropriate file name
- In PVS 7.8 and above, PXE service can provide the appropriate boot file, gen1/bios boot file- ardbp32.bin, or gen2/uefi file – pvsnbpx64.efi, depending on the pxe client request
PXE client executes boot file which handles further booting, and the boot file contacts PVS login server.
- Ardbp32.bin has been preconfigured with the addresses of PVS login servers
- pvsnbpx64.efi is a signed file and cannot be preconfigured with PVS login servers.
- Instead it will retrieve the location of PVS login servers from DHCP scope options, using either option 11, or option 17.
- Option 17 can be used to specify a single PVS login server in the format: pvs:[192.168.0.1]:17:6910
There is no HA for login server in this scenario, when using a single IP address
- Option 17 can be used to specify a DNS name, which is round robin list of all PVS servers in the format: pvs:[DNSRRENTRY]:17:6910
As the DNS entry resolves to multiple PVS servers, and non-responsive PVS login servers will be skipped over by the bootstrap, this is HA appropriate.
- Option 11 can be used to specify a list of up to 32 PVS login servers.
As multiple login servers are specified, and non-responsive PVS login servers will be skipped over by the bootstrap, this is HA appropriate.
PVS login server finds vdisk assigned to target device and tells the target device to switch to PVS streaming server
- Provide multiple PVS servers are configured to stream a vdisk, this will be highly available
- If a PVS server is offline, a target device will not be instructed to stream from it