InfoScale™ 9.0 Cluster Server 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
- About security services
- 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
- About application monitoring on single-node clusters
- 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
- 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 configuring a CP server to support IPv6 or dual stack
- 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. 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 clusters for global cluster setup
- Configuring service groups for global cluster setup
- 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 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 VI. 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
- VCS message logging
- VCS performance considerations
- Section VII. Appendixes
Encrypting LLT data using IPsec
Private LLT links are used for communication between cluster nodes, but the data transmitted across these links is not encrypted. You can encrypt this data for secure communication by using Libreswan, which is an open source tool provided by Red Hat Enterprise Linux. Using Libreswan, you can create an IPsec VPN between two hosts. To configure LLT with IPsec, you need to set up LLT over UDP or TCP, as IPsec works with Internet Protocol at network layer.
Note the following requirements for encrypting LLT encryption using IPsec:
You can configure LLT over IPSec using Liberswan only on RHEL nodes.
You can encrypt LLT traffic using IPSec only for SAN environment. Encrypting LLT traffic using IPsec in a flexible storage sharing (FSS) environment is not recommended.
To encrypt LLT data, complete the following steps:
- Install Libreswan:
Install Libreswan by using the following command:
yum install libreswan
To verify that Libreswan is installed, run the following command:
yum info libreswan
After installing Libreswan, the NSS database is initialized as part of the installation process. Before you start a new database, remove the old database using the systemctl stop ipsec ; rm /etc/ipsec.d/*db command and then initialize a new NSS database by using the ipsec initnss command.
Start the IPsec service:
systemctl start ipsec
To start IPsec as a persistent service, use the systemctl enable ipsec command.
- Create a host-to-host VPN configuration using Libreswan:
To create a host-to-host IPsec VPN between the two hosts referred to as "left" and "right", create RSA key pairs. You must run the command with root privileges on both the hosts.
ipsec newhostkey --output /etc/ipsec.d/hostkey.secrets
Note:
If the option --outputdoes not work, you can generate only the host key. You are not required to store the host key in the
hostkey.secrets
file.ipsec newhostkey
Generated RSA key pair with CKAID 14936e48e756eb107fa1438e25a345b46d80433f was stored in the NSS database.
The command generates an RSA key pair with a specific CKAID value.
Display the host public key of the "left" host by running the following command as root on the host where the new host key was added, using the CKAID returned by the ipsec newhostkey command:
ipsec showhostkey --left --ckaid 14936e48e756eb107fa1438e25a345b46d80433f
where 14936e48e756eb107fa1438e25a345b46d80433f is the CKAID that was generated in the previous step.
Similarly, display the host public key of the "right" host using the CKAID that was generated on the "right" host.
If you forget the CKAID, you can obtain a list of all host keys on a machine by using the ipsec showhostkey --list command.
Create a configuration file for IPsec in the
/etc/ipsec.d/
directory:The following example shows the entries in the configuration file:
conn mytunnel leftid=@west.example.com <-- Local node hostname left=192.1.2.23 <-- IP used by one of the LLT links leftrsasigkey=0sAQOrlo+hOafUZDlCQmXFrje/oZm [...] W2n417C/4urYHQkCvuIQ== <-- Left RSA Key generated on the left node rightid=@east.example.com <-- Peer/remote cluster node hostname right=192.1.2.45 <-- IP used by one of the LLT links rightrsasigkey=0sAQO3fwC6nSSGgt64DWiYZzuHbc4 [...] D/v8t5YTQ== <-- Right RSA key generated on the right node authby=rsasig # load and initiate automatically auto=start
Create this file for all the private LLT links. Public keys can also be configured by their CKAID instead of their RSA ID. In that case, use
leftckaid
attribute instead ofleftrsasigkey
. You can use the same configuration file on both left and right hosts. Libreswan automatically detects if it is "left" or "right" host based on the specified IP addresses or hostnames. Ensure that theleftrsasigkey
value is obtained from the "left" host and therightrsasigkey
value is obtained from the "right" host. The same applies when usingleftckaid
andrightckaid
.Restart the IPsec service after creating the configuration file:
systemctl restart ipsec
Manually load and start the tunnel by entering the following commands as root:
ipsec auto --add mytunnel
ipsec auto --up mytunnel
- Verify host-to-host VPN:
IPsec packets are displayed as Encapsulated Security Payload (ESP) packets. The ESP protocol has no ports. To verify that packets are being sent through the VPN tunnel, run the following command as root in the following format:
tcpdump -n -i interface esp or udp port 500 or udp port 4500 00:32:32.632165 IP 192.1.2.45 > 192.1.2.23: ESP(spi=0x63ad7e17,seq=0x1a), length 132 00:32:32.632592 IP 192.1.2.23 > 192.1.2.45: ESP(spi=0x4841b647,seq=0x1a), length 132 00:32:32.632592 IP 192.0.2.254 > 192.0.1.254: ICMP echo reply, id 2489, seq 7, length 64
To check if the tunnel is successfully established and to view the amount of traffic transmitted through the tunnel, enter the following command as root:
ipsec whack --trafficstatus
You can also configure LLT with IPsec with FIPs enabled mode. To verify if IPsec is enabled in FIPs mode, use the ipsec whack --fipsstatus command.