Cluster Server 7.3.1 Administrator's Guide - Linux
- 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
- About resource monitoring
- Agent classifications
- About cluster control, communications, and membership
- Components for administering VCS
- About cluster topologies
- VCS configuration concepts
- Introducing Cluster Server
- Section II. Administration - Putting VCS to work
- About the VCS user privilege model
- Administering the cluster from the command line
- About administering VCS from the command line
- About installing a VCS license
- Administering LLT
- Starting VCS
- Stopping the VCS engine and related processes
- Logging on to VCS
- 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
- Enabling and disabling IMF for agents by using script
- Linking and unlinking resources
- About administering resource types
- About administering clusters
- Configuring applications and resources in VCS
- VCS bundled agents for UNIX
- Configuring NFS service groups
- About NFS
- Configuring NFS service groups
- Sample configurations
- About configuring the RemoteGroup agent
- About configuring Samba service groups
- About testing resource failover by using HA fire drills
- HA and DR configurations using InfoScale Enterprise in AWS
- HA and DR configurations in Azure environment
- Predicting VCS behavior using VCS Simulator
- Section III. VCS communication and operations
- About communications, membership, and data protection in the cluster
- About cluster communications
- About cluster membership
- About membership arbitration
- About membership arbitration components
- About server-based I/O fencing
- About majority-based fencing
- About the CP server service group
- About secure communication between the VCS cluster and CP server
- About data protection
- Examples of VCS operation with I/O fencing
- About cluster membership and data protection without I/O fencing
- Examples of VCS operation without I/O fencing
- Administering I/O fencing
- About the vxfentsthdw utility
- Testing the coordinator disk group using the -c option of vxfentsthdw
- About the vxfenadm utility
- About the vxfenclearpre utility
- About the vxfenswap utility
- About administering the coordination point server
- About migrating between disk-based and server-based fencing configurations
- Migrating between fencing configurations using response files
- Controlling VCS behavior
- VCS behavior on resource faults
- About controlling VCS behavior at the service group level
- About AdaptiveHA
- Customized behavior diagrams
- About preventing concurrency violation
- VCS behavior for resources that support the intentional offline functionality
- VCS behavior when a service group is restarted
- About controlling VCS behavior at the resource level
- VCS behavior on loss of storage connectivity
- Service group workload management
- Sample configurations depicting workload management
- The role of service group dependencies
- About communications, membership, and data protection in the cluster
- Section IV. Administration - Beyond the basics
- VCS event notification
- VCS event triggers
- Using event triggers
- List of event triggers
- Virtual Business Services
- Section V. Veritas High Availability Configuration wizard
- Introducing the Veritas High Availability Configuration wizard
- Administering application monitoring from the Veritas High Availability view
- Administering application monitoring from the Veritas High Availability view
- Administering application monitoring from the Veritas High Availability view
- Section VI. 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
- About cluster faults
- About setting up a disaster recovery fire drill
- Test scenario for a multi-tiered environment
- 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
- Setting up campus clusters
- Connecting clusters–Creating global clusters
- Section VII. Troubleshooting and performance
- VCS performance considerations
- How cluster components affect performance
- How cluster operations affect performance
- VCS performance consideration when a system panics
- About scheduling class and priority configuration
- VCS agent statistics
- About VCS tunable parameters
- Troubleshooting and recovery for VCS
- VCS message logging
- Gathering VCS information for support analysis
- Troubleshooting the VCS engine
- Troubleshooting Low Latency Transport (LLT)
- Troubleshooting Group Membership Services/Atomic Broadcast (GAB)
- Troubleshooting VCS startup
- Troubleshooting issues with systemd unit service files
- Troubleshooting service groups
- Troubleshooting resources
- Troubleshooting sites
- Troubleshooting I/O fencing
- Fencing startup reports preexisting split-brain
- Troubleshooting CP server
- Troubleshooting server-based fencing on the VCS cluster nodes
- Issues during online migration of coordination points
- Troubleshooting notification
- Troubleshooting and recovery for global clusters
- Troubleshooting licensing
- Licensing error messages
- Troubleshooting secure configurations
- Troubleshooting wizard-based configuration issues
- Troubleshooting issues with the Veritas High Availability view
- VCS message logging
- VCS performance considerations
- Section VIII. Appendixes
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 shil-sles11-clus1-eastus ( ClusterAddress = "10.3.3.100" SecureClus = 1 ) remotecluster shil-sles11-clus2-eastus2 ( ClusterAddress = "10.5.0.5" ) heartbeat Icmp ( ClusterList = { shil-sles11-clus2-eastus2 } Arguments @shil-sles11-clus2-eastus2 = { "10.5.0.5" } ) system azureVM1 ( ) system azureVM2 ( ) group AzureAuthGrp ( SystemList = { azureVM1 = 0, azureVM2 = 1 } Parallel = 1 ) AzureAuth azurauth ( SubscriptionId = 6940a326-abg6-40dd-b628-c1e9bbdf1d63 ClientId = 8c891a8c-xyz2-473b-bigc-035bd50fb896 SecretKey = gsiOssRooSpsPotQkmOmmShuNoiQioNsjQlqHovUosQsrMt TenantId = 96dcasae-0448-4308-b503-6667d61dd0e3 ) Phantom phres ( ) group ClusterService ( SystemList = { azureVM1 = 0, azureVM2 = 1 } AutoStartList = { azureVM1, azureVM2 } OnlineRetryLimit = 3 OnlineRetryInterval = 120 ) Application wac ( StartProgram = "/opt/VRTSvcs/bin/wacstart -secure" StopProgram = "/opt/VRTSvcs/bin/wacstop" MonitorProcesses = { "/opt/VRTSvcs/bin/wac -secure" } RestartLimit = 3 ) AzureIP azureipres ( PrivateIP = "10.3.3.100" NICDevice = eth0 VMResourceGroup = ShilRG AzureAuthResName = azurauth ) IP gcoip ( Device = eth0 Address = "10.3.3.100" NetMask = "255.255.255.0" ) NIC gconic ( Device = eth0 ) gcoip requires azureipres gcoip requires gconic wac requires gcoip group VVR ( SystemList = { azureVM1 = 0, azureVM2 = 1 } AutoStartList = { azureVM1, azureVM2 } ) AzureDisk diskres ( DiskIds = { "/subscriptions/6940a326-abg6-40dd-b628-c1e9bbdf1d63/ resourceGroups/SHILRG/providers/Microsoft.Compute/ disks/azureDisk1_shilvm2-sles11" } VMResourceGroup = ShilRG AzureAuthResName = azurauth ) AzureDisk diskres1 ( DiskIds = { "/subscriptions/6940a326-abg6-40dd-b628-c1e9bbdf1d63/ resourceGroups/SHILRG/providers/Microsoft.Compute/ disks/azureDisk1_shilvm2-sles11_1" } VMResourceGroup = ShilRG AzureAuthResName = azurauth ) AzureDisk diskres3 ( DiskIds = { "/subscriptions/6940a326-abg6-40dd-b628-c1e9bbdf1d63/ resourceGroups/SHILRG/providers/Microsoft.Compute/ disks/azureDisk1_shilvm2-sles11_2" } VMResourceGroup = ShilRG AzureAuthResName = azurauth ) AzureIP azureipres_vvr ( PrivateIP = "10.3.3.200" NICDevice = eth0 VMResourceGroup = ShilRG AzureAuthResName = azurauth ) AzureIP azureipres_vvr1 ( PrivateIP = "10.3.3.201" NICDevice = eth0 VMResourceGroup = ShilRG AzureAuthResName = azurauth ) DiskGroup dgres ( DiskGroup = vvrdg ) IP ip_vvr ( Device = eth0 Address = "10.3.3.200" NetMask = "255.255.255.0" ) NIC nic_vvr ( Device = eth0 ) RVG rvgres ( RVG = rvg DiskGroup = vvrdg ) azureipres_vvr requires ip_vvr dgres requires diskres dgres requires diskres1 ip_vvr requires nic_vvr rvgres requires azureipres_vvr rvgres requires dgres group datagrp ( SystemList = { azureVM1 = 0, azureVM2 = 1 } ClusterList = { shil-sles11-clus1-eastus = 0, shil-sles11-clus2-eastus2 = 1 } Authority = 1 ) Application sample_app ( User = "root" StartProgram = "/data/sample_app start" StopProgram = "/data/sample_app stop" PidFiles = { "/var/lock/sample_app/app.pid" } MonitorProcesses = { "sample_app" } ) Mount mountres ( MountPoint = "/data" BlockDevice = "/dev/vx/dsk/vvrdg/vol1" FSType = vxfs FsckOpt = "-y" ) RVGPrimary rvgprimary ( RvgResourceName = rvgres AutoResync = 1 ) requires group VVR online local hard mountres requires rvgprimary sample_app requires mountres