FENCE_AGENT(8)
π FENCE_AGENT(8) β bestie edition π
okay so we're doing fence_virsh today, from the System Manager's Manual, and honestly? she's iconic. let's get into it. β¨
πΈ NAME πΈ
fence_virsh β the fence agent for virsh, no cap π«Ά
π¦ DESCRIPTION π¦
fence_virsh is a Power Fencing agent that works with virtual machines managed by libvirt. the way it does this is lowkey unhinged but it WORKS: it logs in via ssh to a dom0, and then it runs the virsh command over there, and virsh does literally all the actual work. she's just the messenger bestie π
by default, virsh needs the root account to do its thing properly. so yeah, you must allow ssh login in your sshd_config. no way around it, sorry babe π
the fence agent takes options on the command line and from stdin, because she's versatile like that. Fenced sends parameters through stdin when it execs the agent. but you can also just run the agent by itself with command line options β super useful for testing, and for turning outlets on or off from scripts. main character energy fr fr π
Vendor URL: http://libvirt.org β go say hi π
β¨ PARAMETERS β¨
okay this is the big one, grab a snack π
-o,--action=[action]β the fencing action. (Default Value:reboot)-c,--command-prompt=[prompt]β force a Python regex for the command prompt. (Default Value:['\\[EXPECT\\]#'])-k,--identity-file=[filename]β identity file (the private key) for SSH π-4,--inet4-onlyβ forces the agent to use IPv4 addresses only-6,--inet6-onlyβ forces the agent to use IPv6 addresses only-a,--ip=[ip]β IP address or hostname of the fencing device. This parameter is always required.-u,--ipport=[port]β TCP/UDP port to use for the connection with the device. (Default Value:22)-p,--password=[password]β login password or passphrase-S,--password-script=[script]β script to run to retrieve the password-n,--plug=[id]β physical plug number on the device, or the UUID / identification of the machine. This parameter is always required.-x,--sshβ use an SSH connection. (Default Value:1)--ssh-options=[options]β SSH options to use. (Default Value:-t '/bin/bash -c "PS1=\\[EXPECT\\]# /bin/bash --noprofile --norc"')-l,--username=[name]β login name. This parameter is always required.-q,--quietβ disable logging to stderr. heads up tho: it does not affect--verbose,--debug-file, or logging to syslog. π-v,--verboseβ verbose mode. you can stack multiple-vflags on the command line (like-vvv) to crank up the verbosity. more v's, more tea β--verbose-levelβ level of debugging detail in the output. defaults to the number of--verboseflags you specified on the command line, or to1ifverbose=1in 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]β separator for the plug parameter when you're specifying more than 1 plug. (Default Value:,)-C,--separator=[char]β separator for the CSV created by thelistoperation. (Default Value:,)--delay=[seconds]β wait X seconds before fencing is started. (Default Value:0)--disable-timeout=[true/false]β disable timeout (true/false). (default:truewhen run from Pacemaker 2.0+)--login-timeout=[seconds]β wait X seconds for the cmd prompt after login. (Default Value:5)--missing-as-offβ missing port returns OFF instead of failure--power-timeout=[seconds]β test X seconds for 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)--use-sudoβ usesudo(without password) when calling 3rd party software--ssh-path=[path]β path to thesshbinary. (Default Value:/usr/bin/ssh)--sudo-path=[path]β path to thesudobinary. (Default Value:/usr/bin/sudo)
π ACTIONS π
here's what she can actually do, bestie:
onβ power on machine. β‘offβ power off machine.rebootβ reboot 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. returnsN/Aotherwise.list-statusβ list available plugs with aliases / virtual machines and their power state, if it can be obtained without additional commands.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. (yeah. that's literally what it says. we don't know either π)validate-allβ validate if all required parameters are entered.
π STDIN PARAMETERS π
same vibes, but these ones come in through stdin. note the underscore names and the Obsoletes: notes β those are the old names that got replaced, keep them in mind iykyk:
actionβ fencing action. (Default Value:reboot)command_promptβ force Python regex for command prompt. (Default Value:['\\[EXPECT\\]#']) Obsoletes:cmd_promptidentity_fileβ identity file (private key) for SSHinet4_onlyβ forces agent to use IPv4 addresses onlyinet6_onlyβ forces agent to use IPv6 addresses onlyipβ IP address or hostname of fencing device. This parameter is always required. Obsoletes:ipaddripportβ TCP/UDP port to use for connection with device. (Default Value:22)passwordβ login password or passphrase. Obsoletes:passwdpassword_scriptβ script to run to retrieve password. Obsoletes:passwd_scriptplugβ physical plug number on device, UUID or identification of machine. This parameter is always required. Obsoletes:portsshβ use SSH connection. (Default Value:1) Obsoletes:securessh_optionsβ SSH options to use. (Default Value:-t '/bin/bash -c "PS1=\\[EXPECT\\]# /bin/bash --noprofile --norc"')usernameβ login name. This parameter is always required. Obsoletes:loginquietβ disable logging to stderr. does not affect--verboseor--debug-fileor logging to syslog.verboseβ verbose mode. multiple-vflags 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--verboseflags specified on the command line, or to1ifverbose=1in a stonith device configuration (i.e., on stdin).debug_fileβ write debug information to given file. Obsoletes:debugversionβ display version information and exithelpβ display help and exitplug_separatorβ separator for plug parameter when specifying more than 1 plug. (Default Value:,)separatorβ separator for CSV created bylistoperation. (Default Value:,)delayβ wait X seconds before fencing is started. (Default Value:0)disable_timeoutβ disable timeout (true/false). (default:truewhen run from Pacemaker 2.0+)login_timeoutβ wait X seconds for cmd prompt after login. (Default Value:5)missing_as_offβ missing port returns OFF instead of failurepower_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)use_sudoβ use sudo (without password) when calling 3rd party software. Obsoletes:sudossh_pathβ path to ssh binary. (Default Value:/usr/bin/ssh)sudo_pathβ path to sudo binary. (Default Value:/usr/bin/sudo)
reminder bestie:virshwants root by default, so make sure yoursshd_configlets root ssh in, otherwise this whole thing is just a vibe and not a fence π
okay that's the whole page!! this is fence_virsh (Fence Agent), dated 2009-10-20, and it lives in section FENCE_AGENT(8). she's been serving since '09 and she's still slaying. periodt πβ¨π¦ππ
π«Άπ
π¦ where this page comes from
- debian trixie: fence-agents-virsh 4.16.0-3 Β· GPL-2.0-or-later
- fedora 43: fence-agents-virsh 4.17.0-1.fc43 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 44: fence-agents-virsh 4.17.0-2.fc44 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- opensuse-leap 16.0: fence-agents-virsh 4.16.0+git.1750325058.755815b1-160000.2.2 Β· GPL-2.0-or-later AND LGPL-2.0-or-later
- ubuntu questing: fence-agents-virsh 4.16.0-3ubuntu1
- ubuntu resolute: fence-agents-virsh 4.17.0-1ubuntu1 Β· GPL-2.0-or-later
- ubuntu stonking: fence-agents-virsh 4.17.0-1ubuntu2 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms