Cluster Server 7.4 Administrator's Guide - Windows
- Section I. Clustering concepts and terminology
- Introducing Cluster Server
- About Cluster Server
- About cluster control guidelines
- About the physical components of VCS
- Logical components of VCS
- Types of service groups
- Agent classifications
- About cluster control, communications, and membership
- About cluster topologies
- VCS configuration concepts
- Introducing Cluster Server
- Section II. Administration - Putting VCS to work
- About the VCS user privilege model
- Getting started with VCS
- Administering the cluster from the command line
- About administering VCS from the command line
- Stopping the VCS engine and related processes
- About managing VCS configuration files
- About managing VCS users from the command line
- About querying VCS
- About administering service groups
- Modifying service group attributes
- About administering resources
- About administering resource types
- About administering clusters
- Configuring resources and applications in VCS
- About configuring resources and applications
- About Virtual Business Services
- About Intelligent Resource Monitoring (IMF)
- About fast failover
- How VCS monitors storage components
- About storage configuration
- About configuring network resources
- About configuring file shares
- About configuring IIS sites
- About configuring services
- Before you configure a service using the GenericService agent
- About configuring processes
- About configuring Microsoft Message Queuing (MSMQ)
- About configuring the infrastructure and support agents
- About configuring applications using the Application Configuration Wizard
- Adding resources to a service group
- Configuring the service group in a non-shared storage environment
- About the VCS Application Manager utility
- About testing resource failover using virtual fire drills
- HA and DR configurations using InfoScale in AWS
- HA and DR configurations in Azure environment
- Modifying the cluster configuration
- Section III. Administration - Beyond the basics
- Controlling VCS behavior
- VCS behavior on resource faults
- About controlling VCS behavior at the service group level
- Customized behavior diagrams
- VCS behavior for resources that support the intentional offline functionality
- About controlling VCS behavior at the resource level
- Service group workload management
- Sample configurations depicting workload management
- The role of service group dependencies
- VCS event notification
- VCS event triggers
- List of event triggers
- Controlling VCS behavior
- Section IV. Cluster configurations for disaster recovery
- Connecting clusters–Creating global clusters
- VCS global clusters: The building blocks
- About global cluster management
- About serialization - The Authority attribute
- Prerequisites for global clusters
- Setting up a global cluster
- Configuring replication resources in VCS
- About IPv6 support with global clusters
- About cluster faults
- About setting up a disaster recovery fire drill
- Test scenario for a multi-tiered environment
- Administering global clusters from Cluster Manager (Java console)
- Administering global clusters from the command line
- About global querying in a global cluster setup
- Administering clusters in global cluster setup
- Setting up replicated data clusters
- Connecting clusters–Creating global clusters
- Section V. Troubleshooting and performance
- VCS performance considerations
- How cluster components affect performance
- How cluster operations affect performance
- VCS performance consideration when a system panics
- VCS agent statistics
- Troubleshooting and recovery for VCS
- VCS message logging
- Handling network failure
- Troubleshooting VCS startup
- Troubleshooting service groups
- Troubleshooting and recovery for global clusters
- VCS utilities
- VCS performance considerations
- Section VI. Appendixes
- Appendix A. VCS user privileges—administration matrices
- Appendix B. Cluster and system states
- Appendix C. VCS attributes
- Appendix D. Configuring LLT over UDP
- Appendix E. Handling concurrency violation in any-to-any configurations
- Appendix F. Accessibility and VCS
DR across Azure Regions or VNets and from on-premises cluster to Azure
VCS lets you use the global cluster option (GCO) for DR configurations. You can use a DR configuration to fail over applications across different regions or VNets in Azure or between an on-premises site and Azure.
The following is required for on-premise to cloud DR using VPN tunneling:
Prepare the setup at on-premise data center
Prepare the setup at on-cloud data center
Establish a VPN tunnel from on-premise data center to cloud data center
Virtual private IP for cluster nodes that exist in the same subnet. The IP address is used for cross-cluster communication
The following is required for region to region DR using VNet peering:
Prepare the setup at both the data centers in the regions
Establish a VNet peering from one region to the other region
Virtual private IP for cluster nodes that exist in the same subnet. The IP address is used for cross-cluster communication
Note:
If you use an VPN tunnel between an on-premises site and Azure or you use VNet peering between Azure regions, the cluster nodes in the cloud must be in the same subnet.
The sample configuration includes the following elements:
VPN tunnel between on-premise data center and Region A
The primary site has the following elements:
Cluster nodes in the same subnet
Fencing is configured using CP servers or disk-based I/O fencing
Virtual private IP for cross-cluster communication
The secondary site has the following elements:
A VNet is configured in Region A of the Azure cloud
The same application is configured for HA on Node 3 and Node 4, which exist in Subnet
Fencing is configured using CP servers
Virtual private IP for cross-cluster communication
The following snippet is a service group configuration from a sample configuration file (main.cf):
cluster vcs_cluster1 ( ClusterAddress = "10.3.3.100" SecureClus = 1 ) remotecluster vcs_cluster2 ( ClusterAddress = "10.5.0.5" ) heartbeat Icmp ( ClusterList = { vcs_cluster2 } Arguments @vcs_cluster2 = { "10.5.0.5" } ) system AzureVM1( ) system AzureVM2( ) group AzureAuthGrp ( SystemList = { AzureVM1= 0, AzureVM2= 1 } Parallel = 1 ) AzureAuth azurauth ( SubscriptionId = 6940a326-abc6-40dd-b717-c1e9bcdf1d63 ClientId = 8c891a8c-ghi2-473b-bbec-035ac50fb896 SecretKey = gsiOssRooSpShuNoiQioNsjQlqHovUosQsrMt TenantId = 96dcased-0448-4308-b505-6789d61dd0e3 ) Phantom phres ( ) group ClusterService ( SystemList = { AzureVM1= 0, AzureVM2= 1 } AutoStartList = { AzureVM1, AzureVM2} OnlineRetryLimit = 3 OnlineRetryInterval = 120 ) Process wac ( StartProgram @ AzureVM1 = "\"C:\\Program Files\\Veritas\\ Cluster Server\\bin\\wac.exe\"" StartProgram @ AzureVM2 = "\"C:\\Program Files\\Veritas\\ Cluster Server\\bin\\wac.exe\"" StopProgram @ AzureVM1 = "\"C:\\Program Files\\Veritas\\ Cluster Server\\bin\\wacstop.exe\"" StopProgram @ AzureVM2 = "\"C:\\Program Files\\Veritas\\ Cluster Server\\bin\\wacstop.exe\"" MonitorProgram @ AzureVM1 = "\"C:\\Program Files\\Veritas\\ Cluster Server\\bin\\wacmonitor.exe\"" MonitorProgram @ AzureVM2 = "\"C:\\Program Files\\Veritas\\ Cluster Server\\bin\\wacmonitor.exe\"" AzureIP azureipres ( PrivateIP = "10.3.3.100" MACAddress @AzureVM1 = 00-0D-3A-91-73-A0 MACAddress @AzureVM2 = 00-0D-3A-92-03-DC AzureAuthResName = azurauth ) IP gcoip ( Address = "10.3.3.100" SubNetMask = "255.255.255.0" MACAddress @AzureVM1 = 00-0D-3A-91-73-A0 MACAddress @AzureVM2 = 00-0D-3A-92-03-DC ) NIC gconic ( MACAddress @AzureVM1 = 00-0D-3A-91-73-A0 MACAddress @AzureVM2 = 00-0D-3A-92-03-DC ) gcoip requires azureipres gcoip requires gconic wac requires gcoip group VVR ( SystemList = { AzureVM1= 0, AzureVM2= 1 } AutoStartList = { AzureVM1, AzureVM2} ) AzureDisk disk_res ( DiskIds = { "/subscriptions/6940a326-abc6-40dd-b717-c1e9bcdf1d63/ resourceGroups/TestRG/providers/Microsoft.Compute/ disks/AzureDisk1" } VMResourceGroup = TestRG AzureAuthResName = azurauth ) AzureDisk disk_res1 ( DiskIds = { "/subscriptions/6940a326-abc6-40dd-b717-c1e9bcdf1d63/ resourceGroups/TestRG/providers/Microsoft.Compute/ disks/AzureDisk2" } VMResourceGroup = TestRG AzureAuthResName = azurauth ) AzureDisk disk_res3 ( DiskIds = { "/subscriptions/6940a326-abc6-40dd-b717-c1e9bcdf1d63/ resourceGroups/TestRG/providers/Microsoft.Compute/ disks/AzureDisk3" } VMResourceGroup = TestRG AzureAuthResName = azurauth ) AzureIP azureipres_vvr ( PrivateIP = "10.3.3.200" MACAddress @AzureVM1 = 00-0D-3A-91-73-A0 MACAddress @AzureVM2 = 00-0D-3A-92-03-DC AzureAuthResName = azurauth ) AzureIP azureipres_vvr1 ( PrivateIP = "10.3.3.201" MACAddress @AzureVM1 = 00-0D-3A-91-73-A0 MACAddress @AzureVM2 = 00-0D-3A-92-03-DC AzureAuthResName = azurauth ) IP ip_vvr ( Address = "10.3.3.200" SubNetMask = "255.255.255.0" MACAddress @AzureVM1 = 00-0D-3A-91-73-A0 MACAddress @AzureVM2 = 00-0D-3A-92-03-DC ) NIC nic_vvr ( MACAddress @AzureVM1 = 00-0D-3A-91-73-A0 MACAddress @AzureVM2 = 00-0D-3A-92-03-DC ) VMNSDg dgres ( DiskGroupName = vvrdg DGGuid = 6bee34d7-056d-4b01-ae63-397099792471 ) VvrRvg rvgres ( RVG = rvg VMDgResName = dgres IPResName = ip_vvr ) ip_vvr requires azureipres_vvr dgres requires disk_res dgres requires disk_res1 ip_vvr requires nic_vvr rvgres requires ip_vvr rvgres requires dgres group SG_FS ( SystemList = { AzureVM1= 0, AzureVM2= 1 } ClusterList = { vcs_cluster1 = 0, vcs_cluster2 = 1 } Authority = 1 ) FileShare SG_FS-FileShare ( PathName = "\\PerfLogs" ShareName = PerfLogs LanmanResName = SG_FS-Lanman MountResName = SG_FS-MountV UserPermissions = { "VCSDOMAIN\\Administrator" = FULL_CONTROL } ShareSubdirectories = 1 ) AzureIP SG_FS-AzureIP ( PrivateIP = "10.3.3.300" MACAddress @AzureVM1 = 00-0D-3A-91-73-A0 MACAddress @AzureVM2 = 00-0D-3A-92-03-DC AzureAuthResName = azurauth ) IP SG_FS-IP ( Address = "10.3.3.300" SubNetMask = "255.255.255.0" MACAddress @AzureVM1 = 00-0D-3A-91-73-A0 MACAddress @AzureVM2 = 00-0D-3A-92-03-DC ) Lanman SG_FS-Lanman ( VirtualName = AzureVirtualFS IPResName = SG_FS-IP DNSUpdateRequired = 1 ADUpdateRequired = 1 DNSCriticalForOnline = 1 ADCriticalForOnline = 1 ) MountV SG_FS-MountV ( MountPath = "G:" VolumeName = volume1 VMDGResName = dgres ) NIC SG_FS-NIC ( MACAddress @AzureVM1 = 00-0D-3A-91-73-A0 MACAddress @AzureVM2 = 00-0D-3A-92-03-DC ) RVGPrimary SG_FS-RVGPrimary ( RvgResourceName = rvgres ) requires group VVR online local hard SG_FS-FileShare requires SG_FS-MountV SG_FS-FileShare requires SG_FS-Lanman SG_FS-IP requires SG_FS-NIC SG_FS-IP requires SG_FS-AzureIP SG_FS-Lanman requires SG_FS-IP SG_FS-MountV requires SG_FS-RVGPrimary