[pve-devel] [PATCH ha-manager 4/4] add some infos about HW fencing to README
Fabian Grünbichler
f.gruenbichler at proxmox.com
Fri Sep 6 11:56:10 CEST 2019
On March 27, 2019 5:42 pm, Thomas Lamprecht wrote:
missing S-O-B
missing information about the fencing mode semantics? there's just one
sentence in 'man datacenter.cfg', see patch #2/cover letter comments.
looks fine for git-level readme, would need more grammaer/style cleanup
for reference docs IMHO.
one nit inline, otherwise
Acked-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
> ---
> README | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 110 insertions(+)
>
> diff --git a/README b/README
> index 1c5177f..dbf8d6a 100644
> --- a/README
> +++ b/README
> @@ -72,6 +72,116 @@ works using reliable HW fence devices.
>
> Above 'self fencing' algorithm does not work if you use this option!
>
> +== Hardware Fencing ==
> +
> +This is for the users who want to use external fence devices.
> +
> +While they may have some advantages like:
> +
> +- possible faster recovery as its normally faster than the lock timeout
> +
> +- soft watchdog can (!) be less reliable
> +
> +- maybe someone does not want to reset but rather cut the machine off for
> + investigation
> +
> +But also can introduce some disadvantages, like:
> +
> +- added complexity
> +
> +- depends on external device (which can also fail)
> +
> +=== Fence Agents Supported ===
> +
> +We package the fence-agents collection from ClusterLabs:
> +https://github.com/ClusterLabs/fence-agents
nit: no longer true (atm?)
> +apt install fence-agents
> +
> +This has a wide variety of supported fence agents and should cover all needs.
> +
> +If you must use special hardware you can write your own agent, simply follow
> +the specs from the ClusterLabs agent so that your and their agents are interface
> +compatible.
> +
> +At least they have to support the following parameters:
> +- node
> +- plug
> +- action
> +
> +
> +=== Fence Device Configuration ===
> +
> +We use the configuration schema from dlm.conf (see man dlm.conf),
> +this allows us to use a quite easily and simple configuration schema
> +while not restricting an user, as complex setups are still possible.
> +
> +The basic format looks like:
> +
> + device dev_name agent [args]
> + connect dev_name node=nodeid [args]
> + connect dev_name node=nodeid [args]
> + connect dev_name node=nodeid [args]
> +
> +Example:
> +
> + # simple devices
> + device first_dev fence_pve ip="192.168.XX.XX" password="12345" action=off
> + connect first_dev node=node1 plug=100
> + connect first_dev node=node2 plug=101
> + connect first_dev node=node3 plug=102
> +
> +But the schema is able to do more, e.g., parallel devices or even multiple
> +devices can be configured per node. They will be executed from top to bottom
> +until the first fence device (set) succeeds.
> +
> +NOTE: use the longopts where possible, e.g.: use username=foo instead of l=foo
> + if a option has only a short option and its boolean then you may use it.
> +
> +=== Internal Configuration Representation ===
> +
> +We use an hash with a structure like this:
> +
> +#my $test_fence_device = {
> +# foo_apc => { # <-- device name
> +# priority => 0,
> +# sub_devs => {
> +# 1 => { # two parallel devices
> +# agent => "fence_apc",
> +# args => ['ip=192.168.1.50', 'username=fencing', 'password=12345', 'x', 'o=off'],
> +# node_args => {
> +# uno => [n=1', 's=1'],
> +# due => [n=2', 's=2'],
> +# tre => [n=3', 's=1'],
> +# },
> +# },
> +# 2 => {
> +# agent => "fence_apc",
> +# args => ['ip=192.168.1.51', 'username=fencing', 'password="12345 asd"', 'x', 'o=off'],
> +# node_args => {
> +# uno => [n=1', 's=1'],
> +# due => [n=2', 's=2'],
> +# tre => [n=3', 's=1'],
> +# },
> +# },
> +# }
> +# },
> +# bar_device => { # second fence device
> +# priority => 1,
> +# sub_devs => {
> +# 1 => {
> +# agent => "fence_pve",
> +# args => ['ip=192.168.1.18', 'password="12345 asd"', 'o=off'],
> +# node_args => {
> +# uno => [n=100', 's=1'],
> +# due => [n=101', 's=1'],
> +# tre => [n=102', 's=1'],
> +# },
> +# },
> +# }
> +# },
> +#};
> +
> +
> == Testing requirements ==
>
> We want to be able to simulate HA cluster, using a GUI. This makes it easier
> --
> 2.20.1
>
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>
More information about the pve-devel
mailing list