1.3.2. 替换节点
heketi 不允许一对一替换另一个节点。但是,如果一个节点失败,请按照以下示例进行替换故障节点及其对应设备所需的操作顺序。
使用以下命令查找出现故障的节点:
# heketi-cli topology info … … ... Nodes: Node Id: 8faade64a9c8669de204b66bc083b10d ... ... … Id:a811261864ee190941b17c72809a5001 Name:/dev/vdc State:online Size (GiB):499 Used (GiB):281 Free (GiB):218 Bricks: Id:34c14120bef5621f287951bcdfa774fc Size (GiB):280 Path: /var/lib/heketi/mounts/vg_a811261864ee190941b17c72809a5001/brick_34c14120bef5621f287951bcdfa774fc/brick … … ...以下示例说明了替换故障节点所需的操作顺序。这个示例使用节点 ID 8faade64a9c8669de204b66bc083b10d。
扩展 OCP 集群以添加替换节点。有关如何添加节点的详情,请参考 第 1.1.2 节 “添加新节点” 部分中的步骤。
注意如果替换节点已是 OCP 集群的一部分,请跳过这一步并继续下一步 2。
添加一个新节点,最好具有与要替换节点相同的设备。
# heketi-cli node add --zone=1 --cluster=597fceb5d6c876b899e48f599b988f54 --management-host-name=node4.example.com --storage-host-name=192.168.10.104 # heketi-cli device add --name /dev/vdd --node 8faade64a9c8669de204b66bc083b10d Node and device added successfully禁用故障节点。
# heketi-cli node disable 8faade64a9c8669de204b66bc083b10d Node 8faade64a9c8669de204b66bc083b10d is now offline删除故障的节点。
# heketi-cli node remove 8faade64a9c8669de204b66bc083b10d Node 8faade64a9c8669de204b66bc083b10d is now removed在这个阶段,brick 从故障节点迁移。他基于 brick 分配算法选择合适的设备。
执行以下命令删除与节点关联的设备,因为无法删除与其关联的设备:
# heketi-cli device delete <device_id>例如:
# heketi-cli device delete 56912a57287d07fad0651ba0003cf9aa Device 56912a57287d07fad0651ba0003cf9aa deleted对节点上的每个设备执行 命令。
删除出现故障的节点。
# heketi-cli node delete 8faade64a9c8669de204b66bc083b10d Node 8faade64a9c8669de204b66bc083b10d deleted注意如果要替换节点中的块,请参阅 第 3.2.2 节 “替换块存储中的块”