FENCE_AGENT(8)

πŸ“¦
version 4.17.0 Β· 3 versions
, in centos-stream 10, debian trixie, fedora 43, fedora 44, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ NAME ✨

fence_ifmib β€” the fence agent for IF MIB, and yes she's that girl πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so bestie, listen. fence_ifmib is an I/O Fencing agent, and she works with literally any SNMP IF-MIB capable device. No cap.

She was written with managed ethernet switches in mind, because the whole point is fencing iSCSI SAN connections. But the way that so many devices out there support the IF-MIB interface… it's giving versatility. The agent uses IF-MIB::ifAdminStatus to control the state of an interface. That's the whole vibe. πŸŽ€

The fence agent accepts options on the command line as well as from stdin. Fenced sends parameters through stdin when it execs the agent. But you can also just run the agent by itself with command line options β€” which is lowkey so useful for testing, and for turning outlets on or off from scripts. Iconic behavior honestly. ✨

Vendor URL: http://www.ietf.org/wg/concluded/ifmib.html


🌸 PARAMETERS 🌸

Every flag you could ever need, mwah 🫢

  • -o, --action=[action] β€” the fencing action you want to happen. (Default Value: off)
  • -c, --community=[community] β€” set the community string.
  • -a, --ip=[ip] β€” IP address or hostname of the fencing device. This parameter is always required. Like, always.
  • -u, --ipport=[port] β€” the TCP/UDP port to use for connecting to the device. (Default Value: 161)
  • -p, --password=[password] β€” login password or passphrase.
  • -S, --password-script=[script] β€” a script to run to retrieve the password.
  • -n, --plug=[id] β€” physical plug number on the device, or the UUID, or the identification of the machine. This parameter is always required.
  • -b, --snmp-auth-prot=[prot] β€” set the authentication protocol (MD5|SHA).
  • -P, --snmp-priv-passwd=[pass] β€” set the privacy protocol password.
  • -R, --snmp-priv-passwd-script β€” script to run to retrieve the privacy password.
  • -B, --snmp-priv-prot=[prot] β€” set the privacy protocol (DES|AES).
  • -E, --snmp-sec-level=[level] β€” set the security level (noAuthNoPriv|authNoPriv|authPriv).
  • -d, --snmp-version=[version] β€” specifies which SNMP version to use (1|2c|3). (Default Value: 2c)
  • -l, --username=[name] β€” login name.
  • -q, --quiet β€” disable logging to stderr. Doesn't affect --verbose, --debug-file, or logging to syslog, jsyk.
  • -v, --verbose β€” verbose mode. You can stack multiple -v flags on the command line (e.g., -vvv) to increase verbosity. Go off. πŸ”₯
  • --verbose-level β€” level of debugging detail in the output. Defaults to the number of --verbose flags specified on the command line, or to 1 if verbose=1 in a stonith device configuration (i.e., on stdin).
  • -D, --debug-file=[debugfile] β€” write debug information to the given file.
  • -V, --version β€” display version information and exit.
  • -h, --help β€” display help and exit.
  • --plug-separator=[char] β€” the separator for the plug parameter when you're specifying more than 1 plug. (Default Value: ,)
  • -C, --separator=[char] β€” the separator for the CSV created by the list operation. (Default Value: ,)
  • --delay=[seconds] β€” wait X seconds before fencing is started. (Default Value: 0)
  • --disable-timeout=[true/false] β€” disable timeout (true/false). (default: true when run from Pacemaker 2.0+)
  • --login-timeout=[seconds] β€” wait X seconds for the cmd prompt after login. (Default Value: 5)
  • --power-timeout=[seconds] β€” test X seconds for a status change after ON/OFF. (Default Value: 20)
  • --power-wait=[seconds] β€” wait X seconds after issuing ON/OFF. (Default Value: 0)
  • --shell-timeout=[seconds] β€” wait X seconds for the cmd prompt after issuing a command. (Default Value: 3)
  • --stonith-status-sleep=[seconds] β€” sleep X seconds between status calls during a STONITH action. (Default Value: 1)
  • --retry-on=[attempts] β€” count of attempts to retry power on. (Default Value: 1)
  • --snmpget-path=[path] β€” path to the snmpget binary. (Default Value: /usr/bin/snmpget)
  • --snmpset-path=[path] β€” path to the snmpset binary. (Default Value: /usr/bin/snmpset)
  • --snmpwalk-path=[path] β€” path to the snmpwalk binary. (Default Value: /usr/bin/snmpwalk)

πŸ‘‘ ACTIONS πŸ‘‘

  • on β€” power on the machine. ⚑
  • off β€” power off the machine.
  • status β€” this returns the status of the plug/virtual machine.
  • list β€” list available plugs with aliases/virtual machines, if there's support for more than one device. Returns N/A otherwise.
  • list-status β€” list available plugs with aliases/virtual machines and their power state, if it can be obtained without additional commands. Efficiency queen πŸ’…
  • monitor β€” check the health of the fence device.
  • metadata β€” display the XML metadata describing this resource.
  • manpage β€” the operational behavior of this is not known. 😭 (not me being honest about it)
  • validate-all β€” validate if all required parameters are entered.

🧚 STDIN PARAMETERS 🧚

Same energy, different delivery system β€” these come in through stdin. Fenced knows what's up.

  • action β€” fencing action. (Default Value: off)
  • community β€” set the community string.
  • ip β€” IP address or hostname of fencing device. This parameter is always required. Obsoletes: ipaddr
  • ipport β€” TCP/UDP port to use for connection with device. (Default Value: 161)
  • password β€” login password or passphrase. Obsoletes: passwd
  • password_script β€” script to run to retrieve password. Obsoletes: passwd_script
  • plug β€” physical plug number on device, UUID or identification of machine. This parameter is always required. Obsoletes: port
  • snmp_auth_prot β€” set authentication protocol (MD5|SHA).
  • snmp_priv_passwd β€” set privacy protocol password.
  • snmp_priv_passwd_script β€” script to run to retrieve privacy password.
  • snmp_priv_prot β€” set privacy protocol (DES|AES).
  • snmp_sec_level β€” set security level (noAuthNoPriv|authNoPriv|authPriv).
  • snmp_version β€” specifies SNMP version to use (1|2c|3). (Default Value: 2c)
  • username β€” login name. Obsoletes: login
  • quiet β€” disable logging to stderr. Does not affect --verbose or --debug-file or logging to syslog.
  • verbose β€” verbose mode. Multiple -v flags can be stacked on the command line (e.g., -vvv) to increase verbosity.
  • verbose_level β€” level of debugging detail in output. Defaults to the number of --verbose flags specified on the command line, or to 1 if verbose=1 in a stonith device configuration (i.e., on stdin).
  • debug_file β€” write debug information to given file. Obsoletes: debug
  • version β€” display version information and exit.
  • help β€” display help and exit.
  • plug_separator β€” separator for plug parameter when specifying more than 1 plug. (Default Value: ,)
  • separator β€” separator for CSV created by list operation. (Default Value: ,)
  • delay β€” wait X seconds before fencing is started. (Default Value: 0)
  • disable_timeout β€” disable timeout (true/false). (default: true when run from Pacemaker 2.0+)
  • login_timeout β€” wait X seconds for cmd prompt after login. (Default Value: 5)
  • power_timeout β€” test X seconds for status change after ON/OFF. (Default Value: 20)
  • power_wait β€” wait X seconds after issuing ON/OFF. (Default Value: 0)
  • shell_timeout β€” wait X seconds for cmd prompt after issuing command. (Default Value: 3)
  • stonith_status_sleep β€” sleep X seconds between status calls during a STONITH action. (Default Value: 1)
  • retry_on β€” count of attempts to retry power on. (Default Value: 1)
  • snmpget_path β€” path to snmpget binary. (Default Value: /usr/bin/snmpget)
  • snmpset_path β€” path to snmpset binary. (Default Value: /usr/bin/snmpset)
  • snmpwalk_path β€” path to snmpwalk binary. (Default Value: /usr/bin/snmpwalk)

This page is fence_ifmib (Fence Agent), dated 2009-10-20, and it lives in section FENCE_AGENT(8) of the System Manager's Manual. That's the whole rundown bestie, go fence something responsibly πŸ’–βœ¨πŸ¦‹
πŸ“¦ where this page comes from