InfoScale™ 9.0 Cluster Server Bundled Agents Reference Guide - Linux
- Introducing bundled agents
- Storage agents
- About the storage agents
- DiskGroup agent
- DiskGroupSnap agent
- Dependencies for DiskGroupSnap agent
- Agent functions for DiskGroupSnap agent
- State definitions for DiskGroupSnap agent
- Attributes for DiskGroupSnap agent
- Notes for DiskGroupSnap agent
- Resource type definition for DiskGroupSnap agent
- Sample configurations for DiskGroupSnap agent
- Debug log levels for DiskGroupSnap agent
- Volume agent
- VolumeSet agent
- Dependencies for VolumeSet agent
- Agent functions for VolumeSet agent
- State definitions for VolumeSet agent
- Attributes for VolumeSet agent
- Resource type definition for VolumeSet agent
- Sample configurations for VolumeSet agent
- Agent notes for VolumeSet agent
- Inaccessible volumes prevent the VolumeSet agent from coming online
- Debug log levels for VolumeSet agent
- LVMLogicalVolume agent
- LVMVolumeGroup agent
- Dependencies for LVMVolumeGroup agent
- Agent functions for LVMVolumeGroup agent
- State definitions for LVMVolumeGroup agent
- Attributes for LVMVolumeGroup agent
- Resource type definition for LVMVolumeGroup agent
- LVMVolumeGroup agent notes
- Sample configurations for LVMVolumeGroup agent
- Debug log levels for LVMVolumeGroup agent
- Mount agent
- IMF awareness
- Dependencies for Mount agent
- Agent functions for Mount agent
- State definitions for Mount agent
- Attributes for Mount agent
- Resource type definition for Mount agent
- Notes for Mount agent
- Support for spaces in directory names
- Support for multiple bindfs
- High availability fire drill
- VxFS file system lock
- IMF usage notes
- Enabling Level two monitoring for the Mount agent
- RHEL 7 and RHEL 8: NFS file system version
- RHEL 7 and RHEl 8: Configuring bind mounts
- Support for Amazon EFS
- Sample configurations for Mount agent
- Debug log levels for Mount agent
- Mount agent limitations
- VMwareDisks agent
- SFCache agent
- AWS EBSVol agent
- AzureDisk agent
- GoogleDisk agent
- Network agents
- About the network agents
- IP agent
- NIC agent
- Dependencies for NIC agent
- Bonded network interfaces for NIC agent
- Agent functions for NIC agent
- State definitions for NIC agent
- Attributes for NIC agent
- Resource type definition for NIC agent
- Notes for the NIC agent
- Case 1
- Case 2
- Case 3
- Sample configurations for NIC agent
- Debug log levels for NIC agent
- IPMultiNIC agent
- MultiNICA agent
- Dependencies for MultiNICA agent
- IP Conservation Mode (ICM) for MultiNICA agent
- Performance Mode (PM) for MultiNICA agent
- Agent function for MultiNICA agent
- Attributes for MultiNICA agent
- Resource type definition for MultiNICA agent
- Sample configurations for MultiNICA agent
- IPv6 configuration for MultiNICA agent
- Mixed mode configuration - IPv4 and IPv6 for MultiNICA agent
- Debug log levels for MultiNICA agent
- DNS agent
- Dependencies for DNS agent
- Agent functions for DNS agent
- State definitions for DNS agent
- Attributes for DNS agent
- Resource type definition for DNS agent
- Agent notes for DNS agent
- About using the VCS DNS agent on UNIX with a secure Windows DNS server
- High availability fire drill for DNS agent
- Monitor scenarios for DNS agent
- Sample Web server configuration for DNS agent
- Secure DNS update for BIND 9 for DNS agent
- Setting up secure updates using TSIG keys for BIND 9 for DNS agent
- Sample configurations for DNS agent
- Debug log levels for DNS agent
- AWSIP agent
- AWSRoute53 agent
- AzureIP agent
- AzureDNSZone agent
- GoogleIP agent
- OCIIP agent
- File share agents
- About the file service agents
- NFS agent
- NFSRestart agent
- Share agent
- About the Samba agents
- NetBios agent
- Service and application agents
- About the services and applications agents
- Apache HTTP server agent
- Application agent
- IMF awareness
- High availability fire drill for Application agent
- Dependencies for Application agent
- Agent functions
- State definitions for Application agent
- Attributes for Application agent
- Resource type definition for Application agent
- Notes for Application agent
- Using Application agent with IMF
- Level two monitoring through MonitorProgram
- Using Application agent with ProPCV
- Requirement for programs
- Requirement for default profile
- Support for cloned Application agent
- Application monitoring inside Docker container
- Using the hadockersetup utility
- Requirement for systemd support
- Sample configurations for Application agent
- Debug log levels for Application agent
- AppMonHB agent
- AzureAuth agent
- CoordPoint agent
- KVMGuest agent
- Dependencies for KVMGuest agent
- Agent functions for KVMGuest agent
- State definitions for KVMGuest agent
- Attributes for KVMGuest agent
- Resource type definition for KVMGuest agent
- Notes for KVMGuest agent
- Support for guests created on RHEL 6, RHEL 7 (KVM environment), and SuSE Enterprise Linux 11 SP2 and SP3
- Storage and network configurations
- Guest live migration
- Managing virtual machines in RHEV environment
- Managing ISO image in SuSE KVM
- Using VCS to migrate virtual machines
- Configuring the KVMGuest agent for DR in a global cluster setup
- Configuring a non-admin user for RHEV-M that is using AD-based domain
- Virtual machine failover if host crashes
- KVMGuest agent requires curl and xpath commands in RHEV environment
- RHEV environment: If a node on which the VM is running panics or is forcefully shutdown, VCS is unable to start the VM on another node
- Sample configurations for KVMGuest environment
- Sample configurations for RHEV environment
- Sample Configuration for SuSE KVM
- Debug log levels for KVMGuest agent
- Process agent
- IMF awareness
- High availability fire drill for Process agent
- Dependencies for Process agent
- Agent functions for Process agent
- State definitions for Process agent
- Attributes for Process agent
- Resource type definition for Process agent
- Usage notes for Process agent
- Sample configurations for Process agent
- Debug log levels for Process agent
- ProcessOnOnly agent
- RestServer agent
- Infrastructure and support agents
- Testing agents
- Replication agents
- About the replication agents
- RVG agent
- RVGPrimary agent
- RVGSnapshot
- RVGShared agent
- RVGLogowner agent
- RVGSharedPri agent
- VFRJob agent
- Overview
- Dependencies for VFRJob agent
- High availability of scheduler and replicator daemons
- Agent functions for VFRJob agent
- State definitions for VFRJob agent
- Attributes for VFRJob agent
- Resource type definitions for VFRJob agent
- High availability of VFR daemons
- Configuration of VFRJob service groups on the source system
- Sample configuration of VFRJob agent on source system
- Configuration for VFRJob service groups on the target system
- Sample configuration of VFRJob agent on target system
- Changing file replication direction
- Notes for the VFRJob agent
OCIIP agent
The OCIIP agent helps to fail over IP (PrivateIP, OverlayIP, or ReservedPublicIP) within the OCI environment.
The OCIIP agent performs the following activities:
Fetches the NIC details, associates the private IP with the NIC, and disassociates the private IP from the NIC.
Associates and disassociates the Public IP address with the Private IP address.
Manages the route table entries of the overlay IP for failover across subnets.
The OCIIP agent uses OCI Python APIs to associate IP resources with OCI VM instance.
Oracle Python modules should be present on each cluster node.
Install the Python SDK 2.102.0 for OCI on each of the cluster nodes by running the following commands:
/opt/VRTSpython/bin/pip install --upgrade pip
/opt/VRTSpython/bin/pip install oci==2.102.0
The following steps summarize the process flow for setting up and using instances as principals: Create a dynamic group.
In the dynamic group definition, you provide the matching rules to specify which instances you want to allow to make the API calls against the services.
Create a policy granting permissions to the dynamic group to access services in your tenancy (or compartment).
A developer configures the application that is built using the Oracle Cloud Infrastructure SDK to authenticate using the instance principals provider.
Deploy the application and the SDK to all the instances that belong to the dynamic group.
The deployed SDK makes calls to Oracle Cloud Infrastructure APIs as allowed by the policy (without configuring API credentials).
For each API call that an instance makes, the Audit service logs the event and records the OCID of the instance as the value of principalId in the event log.
Minimum permissions that are required for a policy:
PRIVATE_IP_READ
PRIVATE_IP_UPDATE
PRIVATE_IP_ASSIGN
PRIVATE_IP_UNASSIGN
PRIVATE_IP_ASSIGN_PUBLIC_IP
PRIVATE_IP_UNASSIGN_PUBLIC_IP
SUBNET_ATTACH
SUBNET_DETACH
VNIC_UPDATE
PUBLIC_IP_READ
PUBLIC_IP_UPDATE
ROUTE_TABLE_READ
ROUTE_TABLE_UPDATE
Allow dynamic-group OCIIP-MIN-PERMISSIONS-DG to manage private-ips in compartment Test
Allow dynamic-group OCIIP-MIN-PERMISSIONS-DG to use subnets in compartment Test
Allow dynamic-group OCIIP-MIN-PERMISSIONS-DG to inspect vnic-attachments in compartment Test
Allow dynamic-group OCIIP-MIN-PERMISSIONS-DG to manage vcns in compartment Test
Allow dynamic-group OCIIP-MIN-PERMISSIONS-DG to inspect vnics in compartment Test
Allow dynamic-group OCIIP-MIN-PERMISSIONS-DG to read instances in compartment Test
Allow dynamic-group OCIIP-MIN-PERMISSIONS-DG to manage route-tables in compartment Test
This section summarizes the required attributes of the OCIIP agent.
Table: Required attributes
Attribute | Description |
|---|---|
PrivateIP | Secondary private IP address of the OCI instance. This value is mandatory if OverlayIP value is not provided. |
NICDevice | Name of the network device. |
OverlayIP | Overlay IP provides IP failover functionality for the nodes that are spread across subnets. Overlay IP must be outside of the VCN CIDR block in which the nodes are present. This value is mandatory if PrivateIP is not provided. |
RouteTableId | OCI IDs of route tables under which we need to add route entries for OverlayIP. When OverlayIP is configured, we have to provide value of this attribute. |
ReservedPublicIP | This IP is used in IP configuration to map the Public IP address to a secondary private IP address. When ReservedPublicIP attribute is configured then it is mandatory to provide PrivateIP value. |
OCIIP types.cf
type OCIIP (
static str ArgList[] = { PrivateIP, OverlayIP, ReservedPublicIP,
NICDevice, RouteTableId, tempCompartmentID, tempInstanceID,
tempPrivateIPID }
str PrivateIP
str OverlayIP
str ReservedPublicIP
str NICDevice
str RouteTableId[]
temp str tempCompartmentID
temp str tempInstanceID
temp str tempPrivateIPID
)Sample configurations
Sample configuration with PrivateIP
OCIIP ip-res-OCI ( PrivateIP = "11.1.1.1" NICDevice = "eth0" ) IP ip-res ( Address = "11.1.1.1" Device = "eth0" NetMask = "111.111.111.0" ) ip-res-OCI requires ip-res
Sample configuration with Overlay IP
OCIIP ip-res-OCI ( OverlayIP = "111.111.1.1" RouteTableId = "ocid1.routetable.oc1.phx. aaaaaaaaxxu32fw6gilbyxlly2kqjq37p7xzl6a" NICDevice = "eth0" ) IP ip-res ( Address = "111.111.1.1" Device = "eth0" NetMask = "255.255.255.0" ) ip-res-OCI requires ip-res
Sample configuration with Reserved public IP
OCIIP ip-res-OCI ( PrivateIP = "11.1.11.1" ReservedPublicIP = "111.111.111.111" NICDevice = eth0 ) IP ip-res ( Device = eth0 Address = "11.1.11.1" NetMask = "255.255.255.0" ) ip-res-OCI requires ip-res
Open | PrivateIP: Get the compartmentId, vmId of the OCI instance and OCIID of IPs automatically using the metadata information. OverlayIP: Get the compartmentId, vmId of the OCI instance automatically using the metadata information. Reserved public IP: Get the compartmentId, vmId of the OCI instance automatically using the metadata information. |
Online | PrivateIP: Check if same IP is assigned to any other cluster node, if yes then unassign it. Assign the IP to the network interface provided. OverlayIP: Fetch the RouteTableID attribute. If RouteTableID is blank then return failure, else check if route entry with given overlay IP exists in given route tables and it's next hop ID is instance ID which is other cluster node. If yes then delete route entry. Create route entry in given route table with "Destination CIDR Block" as provided Overlay IP and next hop is current instance ID. Reserved public IP: Check if same Reserved Public IP is assigned to any other cluster node, if yes then unassign it. Assigns the PrivateIP and Reserved Public IP to the Ethernet provided. |
Offline/Clean | PrivateIP: Detach IP from the NIC device. OverlayIP: Delete route entry containing given overlay IP and next hop as current instance ID. Reserved Public IP: Detach PrivateIP and associated Reserved Public IP from the NIC device. |
Monitor | PrivateIP:
OverlayIP:
Reserved public IP:
|
ONLINE |
|
OFFLINE |
|
UNKNOWN | One of the following can be true:
|
FAULTED |
|
The OCIIP agent uses the DBG_1 and DBG_2 debug log level.
Arctera has tested and approved the OCIIP agent with the following modules:
Table:
OCIIP Python module | Version |
|---|---|
OCI | 2.102.0 |