5.7.3. 配置备用 Fence 设备
您可以为一个节点定义多个 fencing 方法。如果使用第一个方法 fencing 失败,则系统会尝试使用第二个方法 fence 该节点,然后是其它您配置的方法。要为节点配置备用 fencing 方法,您需要为一个节点配置两个方法,并为每个方法配置一个 fence 事务。
注意
系统使用您所配置的 fencing 方法的顺序与其在配置文件中的顺序一致。使用
ccs
命令配置的第一个方法是首选 fencing 方法,您配置的第二个方法是备用 fencing 方法。要更改顺序,您可以从配置文件中删除首选 fencing 方法,然后再将其添加回配置文件中。
注:您可在任何时候执行以下命令输出当前为某个节点配置的 fence 方法和事务列表。如果您没有指定节点,这个命令将列出为所有节点当前配置的 fence 方法和事务。
ccs -h host --lsfenceinst [node]
使用以下步骤为某个节点配置首选 fencing 方法,该方法使用名为
apc
的 fence 设备,该设备使用 fence_apc
fencing 代理,并配置使用名为 sanswitch1
的 fence 设备作为备用 fencing 设备,该设备使用 fence_sanbox2
fencing 代理。因为 sanswitch1
设备是基于存储的 fencing 代理,所以您还需要为那个失败配置 unfencing。
- 为该节点添加首选 fence 方法,并为该 fence 方法命名。
ccs -h host --addmethod method node
例如:请执行以下命令在集群节点node-01.example.com
的配置文件中为节点node-01.example.com
将名为APC
的 fence 方法配置为首选方法:ccs -h node01.example.com --addmethod APC node01.example.com
- 为首选方法添加 fence 事务。您必须指定要该节点要使用的 fence 设备,应用这个事务的节点,该方法的名称以及具体到这个节点该方法的所有选项:
ccs -h host --addfenceinst fencedevicename node method [options]
例如:请执行以下命令在集群节点node-01.example.com
的配置文件中配置 fence 事务,该节点使用该 fence 设备中名为apc
的 APC 电源切换端口 1 使用名为APC
的方法 fence 集群节点node-01.example.com
:ccs -h node01.example.com --addfenceinst apc node01.example.com APC port=1
- 为该节点添加备用 fence 方法,并提供该 fence 方法的名称。
ccs -h host --addmethod method node
例如:请执行以下命令为集群节点node-01.example.com
配置文件中的节点node-01.example.com
配置名为SAN
的 fence 方法:ccs -h node01.example.com --addmethod SAN node01.example.com
- 为该备用方法添加 fence 事务。您必须指定该节点要使用的 fence 设备,应用这个事务的节点,该方法的名称以及具体在这个节点中该方法要使用的所有选项:
ccs -h host --addfenceinst fencedevicename node method [options]
例如:请执行以下命令在集群节点node-01.example.com
的配置文件中配置 fence 事务,该节点在名为sanswitch1
的 fence 设备中使用 SAN 切换电源端口 11 fence 使用名为SAN
方法的集群节点node-01.example.com
:ccs -h node01.example.com --addfenceinst sanswitch1 node01.example.com SAN port=11
- 因为
sanswitch1
设备是基于存储的设备,您必须为这个设备指定 unfencing。ccs -h node01.example.com --addunfence sanswitch1 node01.example.com port=11 action=on
您可以根据需要继续添加 fencing 方法。
这个过程为集群中的一个节点配置 fence 设备和备用 fence 设备。您还需要为该集群中的其它节点配置 fencing 。
例 5.4 “
cluster.conf
添加备用 Fence 方法后” 演示了在该集群每个节点中,添加使用电源的主要 fencing 方和基于存储的备用 fencing 方法后的 cluster.conf
配置文件。
例 5.4. cluster.conf
添加备用 Fence 方法后
<cluster name="mycluster" config_version="3"> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> <method name="APC"> <device name="apc" port="1"/> </method> <method name="SAN"> <device name="sanswitch1" port="11"/> </method> </fence> <unfence> <device name="sanswitch1" port="11" action="on"/> </unfence </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> <method name="APC"> <device name="apc" port="2"/> </method> <method name="SAN"> <device name="sanswitch1" port="12"/> </method> </fence> <unfence> <device name="sanswitch1" port="12" action="on"/> </unfence </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> <method name="APC"> <device name="apc" port="3"/> </method> <method name="SAN"> <device name="sanswitch1" port="13"/> </method> </fence> <unfence> <device name="sanswitch1" port="13" action="on"/> </unfence </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/> <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example" login="login_example" name="sanswitch1" passwd="password_example"/> </fencedevices> <rm> </rm> </cluster>
注:完成集群的所有组件配置后,需要在所有节点中同步该集群配置文件,如 第 5.15 节 “在集群节点中推广配置文件” 所述。
注意
系统使用您配置的 fencing 方法的顺序与其在集群配置文件中的顺序一致。您配置的第一个方法就是首选 fencing 方法,您配置的第二个方法就是备用 fencing 方法。要更改顺序,您可以从配置文件中删除首选 fencing 方法,然后再添加回来。