1OCF_HEARTBEAT_IPADDR(7)       OCF resource agents      OCF_HEARTBEAT_IPADDR(7)
2
3
4

NAME

6       ocf_heartbeat_IPaddr2 - Manages virtual IPv4 and IPv6 addresses (Linux
7       specific version)
8

SYNOPSIS

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

DESCRIPTION

13       This Linux-specific resource manages IP alias IP addresses. It can add
14       an IP alias, or remove one. In addition, it can implement Cluster Alias
15       IP functionality if invoked as a clone resource.
16
17       If used as a clone, "shared address with a trivial, stateless
18       (autonomous) load-balancing/mutual exclusion on ingress" mode gets
19       applied (as opposed to "assume resource uniqueness" mode otherwise).
20       For that, Linux firewall (kernel and userspace) is assumed, and since
21       recent distributions are ambivalent in plain "iptables" command to
22       particular back-end resolution, "iptables-legacy" (when present) gets
23       prioritized so as to avoid incompatibilities (note that respective
24       ipt_CLUSTERIP firewall extension in use here is, at the same time,
25       marked deprecated, yet said "legacy" layer can make it workable,
26       literally, to this day) with "netfilter" one (as in "iptables-nft"). In
27       that case, you should explicitly set clone-node-max >= 2, and/or
28       clone-max < number of nodes. In case of node failure, clone instances
29       need to be re-allocated on surviving nodes. This would not be possible
30       if there is already an instance on those nodes, and clone-node-max=1
31       (which is the default).
32

SUPPORTED PARAMETERS

34       ip
35           The IPv4 (dotted quad notation) or IPv6 address (colon hexadecimal
36           notation) example IPv4 "192.168.1.1". example IPv6
37           "2001:db8:DC28:0:0:FC57:D4C8:1FFF".
38
39           (unique, required, string, no default)
40
41       nic
42           The base network interface on which the IP address will be brought
43           online. If left empty, the script will try and determine this from
44           the routing table.
45
46           Do NOT specify an alias interface in the form eth0:1 or anything
47           here; rather, specify the base interface only. If you want a label,
48           see the iflabel parameter.
49
50           Prerequisite:
51
52           There must be at least one static IP address, which is not managed
53           by the cluster, assigned to the network interface. If you can not
54           assign any static IP address on the interface, modify this kernel
55           parameter:
56
57           sysctl -w net.ipv4.conf.all.promote_secondaries=1 # (or per device)
58
59           (optional, string, no default)
60
61       cidr_netmask
62           The netmask for the interface in CIDR format (e.g., 24 and not
63           255.255.255.0)
64
65           If unspecified, the script will also try to determine this from the
66           routing table.
67
68           (optional, string, no default)
69
70       broadcast
71           Broadcast address associated with the IP. It is possible to use the
72           special symbols '+' and '-' instead of the broadcast address. In
73           this case, the broadcast address is derived by setting/resetting
74           the host bits of the interface prefix.
75
76           (optional, string, no default)
77
78       iflabel
79           You can specify an additional label for your IP address here. This
80           label is appended to your interface name.
81
82           The kernel allows alphanumeric labels up to a maximum length of 15
83           characters including the interface name and colon (e.g.
84           eth0:foobar1234)
85
86           A label can be specified in nic parameter but it is deprecated. If
87           a label is specified in nic name, this parameter has no effect.
88
89           (optional, string, no default)
90
91       lvs_support
92           Enable support for LVS Direct Routing configurations. In case a IP
93           address is stopped, only move it to the loopback device to allow
94           the local node to continue to service requests, but no longer
95           advertise it on the network.
96
97           Notes for IPv6: It is not necessary to enable this option on IPv6.
98           Instead, enable 'lvs_ipv6_addrlabel' option for LVS-DR usage on
99           IPv6.
100
101           (optional, boolean, default false)
102
103       lvs_ipv6_addrlabel
104           Enable adding IPv6 address label so IPv6 traffic originating from
105           the address's interface does not use this address as the source.
106           This is necessary for LVS-DR health checks to realservers to work.
107           Without it, the most recently added IPv6 address (probably the
108           address added by IPaddr2) will be used as the source address for
109           IPv6 traffic from that interface and since that address exists on
110           loopback on the realservers, the realserver response to
111           pings/connections will never leave its loopback. See RFC3484 for
112           the detail of the source address selection.
113
114           See also 'lvs_ipv6_addrlabel_value' parameter.
115
116           (optional, boolean, default false)
117
118       lvs_ipv6_addrlabel_value
119           Specify IPv6 address label value used when 'lvs_ipv6_addrlabel' is
120           enabled. The value should be an unused label in the policy table
121           which is shown by 'ip addrlabel list' command. You would rarely
122           need to change this parameter.
123
124           (optional, integer, default 99)
125
126       mac
127           Set the interface MAC address explicitly. Currently only used in
128           case of the Cluster IP Alias. Leave empty to chose automatically.
129
130           (optional, string, no default)
131
132       clusterip_hash
133           Specify the hashing algorithm used for the Cluster IP
134           functionality.
135
136           (optional, string, default "sourceip-sourceport")
137
138       unique_clone_address
139           If true, add the clone ID to the supplied value of IP to create a
140           unique address to manage
141
142           (optional, boolean, default false)
143
144       arp_interval
145           Specify the interval between unsolicited ARP packets in
146           milliseconds.
147
148           This parameter is deprecated and used for the backward
149           compatibility only. It is effective only for the send_arp binary
150           which is built with libnet, and send_ua for IPv6. It has no effect
151           for other arp_sender.
152
153           (optional, integer, default 200)
154
155       arp_count
156           Number of unsolicited ARP packets to send at resource
157           initialization.
158
159           (optional, integer, default 5)
160
161       arp_count_refresh
162           Number of unsolicited ARP packets to send during resource
163           monitoring. Doing so helps mitigate issues of stuck ARP caches
164           resulting from split-brain situations.
165
166           (optional, integer, default 0)
167
168       arp_bg
169           Whether or not to send the ARP packets in the background.
170
171           (optional, string, default "true")
172
173       arp_sender
174           The program to send ARP packets with on start. Available options
175           are: - send_arp: default - ipoibarping: default for infiniband
176           interfaces if ipoibarping is available - iputils_arping: use arping
177           in iputils package - libnet_arping: use another variant of arping
178           based on libnet
179
180           (optional, string, no default)
181
182       send_arp_opts
183           Extra options to pass to the arp_sender program. Available options
184           are vary depending on which arp_sender is used.
185
186           A typical use case is specifying '-A' for iputils_arping to use ARP
187           REPLY instead of ARP REQUEST as Gratuitous ARPs.
188
189           (optional, string, no default)
190
191       flush_routes
192           Flush the routing table on stop. This is for applications which use
193           the cluster IP address and which run on the same physical host that
194           the IP address lives on. The Linux kernel may force that
195           application to take a shortcut to the local loopback interface,
196           instead of the interface the address is really bound to. Under
197           those circumstances, an application may, somewhat unexpectedly,
198           continue to use connections for some time even after the IP address
199           is deconfigured. Set this parameter in order to immediately disable
200           said shortcut when the IP address goes away.
201
202           (optional, boolean, default false)
203
204       run_arping
205           Whether or not to run arping for IPv4 collision detection check.
206
207           (optional, string, default "false")
208
209       noprefixroute
210           Use noprefixroute flag (see 'man ip-address').
211
212           (optional, string, default "false")
213
214       preferred_lft
215           For IPv6, set the preferred lifetime of the IP address. This can be
216           used to ensure that the created IP address will not be used as a
217           source address for routing. Expects a value as specified in section
218           5.5.4 of RFC 4862.
219
220           (optional, string, default "forever")
221
222       network_namespace
223           Specifies the network namespace to operate within. The namespace
224           must already exist, and the interface to be used must be within the
225           namespace.
226
227           (optional, string, no default)
228

SUPPORTED ACTIONS

230       This resource agent supports the following actions (operations):
231
232       start
233           Starts the resource. Suggested minimum timeout: 20s.
234
235       stop
236           Stops the resource. Suggested minimum timeout: 20s.
237
238       status
239           Performs a status check. Suggested minimum timeout: 20s. Suggested
240           interval: 10s.
241
242       monitor
243           Performs a detailed status check. Suggested minimum timeout: 20s.
244           Suggested interval: 10s.
245
246       meta-data
247           Retrieves resource agent metadata (internal use only). Suggested
248           minimum timeout: 5s.
249
250       validate-all
251           Performs a validation of the resource configuration. Suggested
252           minimum timeout: 20s.
253

EXAMPLE CRM SHELL

255       The following is an example configuration for a IPaddr2 resource using
256       the crm(8) shell:
257
258           primitive p_IPaddr2 ocf:heartbeat:IPaddr2 \
259             params \
260               ip=string \
261             op monitor depth="0" timeout="20s" interval="10s"
262

EXAMPLE PCS

264       The following is an example configuration for a IPaddr2 resource using
265       pcs(8)
266
267           pcs resource create p_IPaddr2 ocf:heartbeat:IPaddr2 \
268             ip=string \
269             op monitor OCF_CHECK_LEVEL="0" timeout="20s" interval="10s"
270

SEE ALSO

272       http://clusterlabs.org/
273

AUTHOR

275       ClusterLabs contributors (see the resource agent source for information
276       about individual authors)
277
278
279
280resource-agents UNKNOWN           03/25/2021           OCF_HEARTBEAT_IPADDR(7)
Impressum