5.7.2. 为节点配置单一存储 Fence 设备
当使用非电源 fencing 方法(即 SAN/存储 fencing)fence 某个节点时,您必须为该 fence 设备配置 unfencing。这样可保证被 fence 的节点在重启该节点前不会重新启用。当您为某个节点配置 unfencing 时,您可以指定一个与对应 fence 设备成镜像的设备,该设备是您明确使用
on
或者 enable
为该节点配置的。
有关 unfencing 某个节点的详情请参考
fence_node
(8) man page。
使用以下步骤配置使用单一存储 fence 设备的节点,该 fence 设备名为
sanswitch1
,使用 fence_sanbox2
fencing 代理。
- 在该节点中添加 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
- 请执行以下命令为这个节点中基于存储的 fence 设备配置 unfencing:
ccs -h host --addunfence fencedevicename node action=on|off
您需要为该集群中的每个节点添加 fence 方法。下面的命令为每个节点配置了名为
SAN
的 fence 方法。使用该 fence 方法的设备指定 sanswitch
为设备名称,它是之前使用 --addfencedev 选项配置的设备,如 第 5.5 节 “配置 Fence 设备” 所示。为每个节点配置一个唯一 SAN 物理端口号:node-01.example.com
的端口号为 11
,node-02.example.com
的端口号为 12
,node-03.example.com
的端口号为 13
。
ccs -h node01.example.com --addmethod SAN node01.example.com ccs -h node01.example.com --addmethod SAN node02.example.com ccs -h node01.example.com --addmethod SAN node03.example.com ccs -h node01.example.com --addfenceinst sanswitch1 node01.example.com SAN port=11 ccs -h node01.example.com --addfenceinst sanswitch1 node02.example.com SAN port=12 ccs -h node01.example.com --addfenceinst sanswitch1 node03.example.com SAN port=13 ccs -h node01.example.com --addunfence sanswitch1 node01.example.com port=11 action=on ccs -h node01.example.com --addunfence sanswitch1 node02.example.com port=12 action=on ccs -h node01.example.com --addunfence sanswitch1 node03.example.com port=13 action=on
例 5.3 “
cluster.conf
添加基于存储的 Fence 方法后” 演示了在该集群的每个节点中添加 fencing 方法、fencing 事务以及 unfencing 后的配置文件。
例 5.3. cluster.conf
添加基于存储的 Fence 方法后
<cluster name="mycluster" config_version="3"> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> <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="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="SAN"> <device name="sanswitch1" port="13"/> </method> </fence> <unfence> <device name="sanswitch1" port="13" action="on"/> </unfence> </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example" login="login_example" name="sanswitch1" passwd="password_example"/> </fencedevices> <rm> </rm> </cluster>
注:完成集群的所有组件配置后,需要在所有节点中同步该集群配置文件,如 第 5.15 节 “在集群节点中推广配置文件” 所述。