Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
OCF_HEARTBEAT_IPADDR(7)	      OCF resource agents      OCF_HEARTBEAT_IPADDR(7)

NAME
       ocf_heartbeat_IPaddr2 - Manages virtual IPv4 and	IPv6 addresses (Linux
       specific	version)

SYNOPSIS
       IPaddr2 [start |	stop | status |	monitor	| meta-data | validate-all]

DESCRIPTION
       This Linux-specific resource manages IP alias IP	addresses. It can add
       an IP alias, or remove one. In addition,	it can implement Cluster Alias
       IP functionality	if invoked as a	clone resource.

       If used as a clone, "shared address with	a trivial, stateless
       (autonomous) load-balancing/mutual exclusion on ingress"	mode gets
       applied (as opposed to "assume resource uniqueness" mode	otherwise).
       For that, Linux firewall	(kernel	and userspace) is assumed, and since
       recent distributions are	ambivalent in plain "iptables" command to
       particular back-end resolution, "iptables-legacy" (when present)	gets
       prioritized so as to avoid incompatibilities (note that respective
       ipt_CLUSTERIP firewall extension	in use here is,	at the same time,
       marked deprecated, yet said "legacy" layer can make it workable,
       literally, to this day) with "netfilter"	one (as	in "iptables-nft"). In
       that case, you should explicitly	set clone-node-max >= 2, and/or
       clone-max < number of nodes. In case of node failure, clone instances
       need to be re-allocated on surviving nodes. This	would not be possible
       if there	is already an instance on those	nodes, and clone-node-max=1
       (which is the default).

SUPPORTED PARAMETERS
       ip
	   The IPv4 (dotted quad notation) or IPv6 address (colon hexadecimal
	   notation) example IPv4 "192.168.1.1". example IPv6
	   "2001:db8:DC28:0:0:FC57:D4C8:1FFF".

	   (unique, required, string, no default)

       nic
	   The base network interface on which the IP address will be brought
	   online. If left empty, the script will try and determine this from
	   the routing table.

	   Do NOT specify an alias interface in	the form eth0:1	or anything
	   here; rather, specify the base interface only. If you want a	label,
	   see the iflabel parameter.

	   Prerequisite:

	   There must be at least one static IP	address, which is not managed
	   by the cluster, assigned to the network interface. If you can not
	   assign any static IP	address	on the interface, modify this kernel
	   parameter:

	   sysctl -w net.ipv4.conf.all.promote_secondaries=1 # (or per device)

	   (optional, string, no default)

       cidr_netmask
	   The netmask for the interface in CIDR format	(e.g., 24 and not
	   255.255.255.0)

	   If unspecified, the script will also	try to determine this from the
	   routing table.

	   (optional, string, no default)

       broadcast
	   Broadcast address associated	with the IP. It	is possible to use the
	   special symbols '+' and '-' instead of the broadcast	address. In
	   this	case, the broadcast address is derived by setting/resetting
	   the host bits of the	interface prefix.

	   (optional, string, no default)

       iflabel
	   You can specify an additional label for your	IP address here. This
	   label is appended to	your interface name.

	   The kernel allows alphanumeric labels up to a maximum length	of 15
	   characters including	the interface name and colon (e.g.
	   eth0:foobar1234)

	   A label can be specified in nic parameter but it is deprecated. If
	   a label is specified	in nic name, this parameter has	no effect.

	   (optional, string, no default)

       lvs_support
	   Enable support for LVS Direct Routing configurations. In case a IP
	   address is stopped, only move it to the loopback device to allow
	   the local node to continue to service requests, but no longer
	   advertise it	on the network.

	   Notes for IPv6: It is not necessary to enable this option on	IPv6.
	   Instead, enable 'lvs_ipv6_addrlabel'	option for LVS-DR usage	on
	   IPv6.

	   (optional, boolean, default false)

       lvs_ipv6_addrlabel
	   Enable adding IPv6 address label so IPv6 traffic originating	from
	   the address's interface does	not use	this address as	the source.
	   This	is necessary for LVS-DR	health checks to realservers to	work.
	   Without it, the most	recently added IPv6 address (probably the
	   address added by IPaddr2) will be used as the source	address	for
	   IPv6	traffic	from that interface and	since that address exists on
	   loopback on the realservers,	the realserver response	to
	   pings/connections will never	leave its loopback. See	RFC3484	for
	   the detail of the source address selection.

	   See also 'lvs_ipv6_addrlabel_value' parameter.

	   (optional, boolean, default false)

       lvs_ipv6_addrlabel_value
	   Specify IPv6	address	label value used when 'lvs_ipv6_addrlabel' is
	   enabled. The	value should be	an unused label	in the policy table
	   which is shown by 'ip addrlabel list' command. You would rarely
	   need	to change this parameter.

	   (optional, integer, default 99)

       mac
	   Set the interface MAC address explicitly. Currently only used in
	   case	of the Cluster IP Alias. Leave empty to	chose automatically.

	   (optional, string, no default)

       clusterip_hash
	   Specify the hashing algorithm used for the Cluster IP
	   functionality.

	   (optional, string, default "sourceip-sourceport")

       unique_clone_address
	   If true, add	the clone ID to	the supplied value of IP to create a
	   unique address to manage

	   (optional, boolean, default false)

       arp_interval
	   Specify the interval	between	unsolicited ARP	packets	in
	   milliseconds.

	   This	parameter is deprecated	and used for the backward
	   compatibility only. It is effective only for	the send_arp binary
	   which is built with libnet, and send_ua for IPv6. It	has no effect
	   for other arp_sender.

	   (optional, integer, default 200)

       arp_count
	   Number of unsolicited ARP packets to	send at	resource
	   initialization.

	   (optional, integer, default 5)

       arp_count_refresh
	   Number of unsolicited ARP packets to	send during resource
	   monitoring. Doing so	helps mitigate issues of stuck ARP caches
	   resulting from split-brain situations.

	   (optional, integer, default 0)

       arp_bg
	   Whether or not to send the ARP packets in the background.

	   (optional, string, default "true")

       arp_sender
	   The program to send ARP packets with	on start. Available options
	   are:	- send_arp: default - ipoibarping: default for infiniband
	   interfaces if ipoibarping is	available - iputils_arping: use	arping
	   in iputils package -	libnet_arping: use another variant of arping
	   based on libnet

	   (optional, string, no default)

       send_arp_opts
	   Extra options to pass to the	arp_sender program. Available options
	   are vary depending on which arp_sender is used.

	   A typical use case is specifying '-A' for iputils_arping to use ARP
	   REPLY instead of ARP	REQUEST	as Gratuitous ARPs.

	   (optional, string, no default)

       flush_routes
	   Flush the routing table on stop. This is for	applications which use
	   the cluster IP address and which run	on the same physical host that
	   the IP address lives	on. The	Linux kernel may force that
	   application to take a shortcut to the local loopback	interface,
	   instead of the interface the	address	is really bound	to. Under
	   those circumstances,	an application may, somewhat unexpectedly,
	   continue to use connections for some	time even after	the IP address
	   is deconfigured. Set	this parameter in order	to immediately disable
	   said	shortcut when the IP address goes away.

	   (optional, boolean, default false)

       run_arping
	   Whether or not to run arping	for IPv4 collision detection check.

	   (optional, string, default "false")

       noprefixroute
	   Use noprefixroute flag (see 'man ip-address').

	   (optional, string, default "false")

       preferred_lft
	   For IPv6, set the preferred lifetime	of the IP address. This	can be
	   used	to ensure that the created IP address will not be used as a
	   source address for routing. Expects a value as specified in section
	   5.5.4 of RFC	4862.

	   (optional, string, default "forever")

       network_namespace
	   Specifies the network namespace to operate within. The namespace
	   must	already	exist, and the interface to be used must be within the
	   namespace.

	   (optional, string, no default)

SUPPORTED ACTIONS
       This resource agent supports the	following actions (operations):

       start
	   Starts the resource.	Suggested minimum timeout: 20s.

       stop
	   Stops the resource. Suggested minimum timeout: 20s.

       status
	   Performs a status check. Suggested minimum timeout: 20s. Suggested
	   interval: 10s.

       monitor
	   Performs a detailed status check. Suggested minimum timeout:	20s.
	   Suggested interval: 10s.

       meta-data
	   Retrieves resource agent metadata (internal use only). Suggested
	   minimum timeout: 5s.

       validate-all
	   Performs a validation of the	resource configuration.	Suggested
	   minimum timeout: 20s.

EXAMPLE	CRM SHELL
       The following is	an example configuration for a IPaddr2 resource	using
       the crm(8) shell:

	   primitive p_IPaddr2 ocf:heartbeat:IPaddr2 \
	     params \
	       ip=string \
	     op	monitor	depth="0" timeout="20s"	interval="10s"

EXAMPLE	PCS
       The following is	an example configuration for a IPaddr2 resource	using
       pcs(8)

	   pcs resource	create p_IPaddr2 ocf:heartbeat:IPaddr2 \
	     ip=string \
	     op	monitor	depth="0" timeout="20s"	interval="10s"

SEE ALSO
       http://clusterlabs.org/

AUTHOR
       ClusterLabs contributors	(see the resource agent	source for information
       about individual	authors)

resource-agents	4.6.1		  08/27/2020	       OCF_HEARTBEAT_IPADDR(7)

NAME | SYNOPSIS | DESCRIPTION | SUPPORTED PARAMETERS | SUPPORTED ACTIONS | EXAMPLE CRM SHELL | EXAMPLE PCS | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=ocf_heartbeat_IPaddr2&sektion=7&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help