fence的基本介绍

前段时间工作中设备厂商突然来电说是检查ceph集群中某次物理机down机是否有Redhat的fence机制引起的。出于对fence的不了解所以马上调研
了一下fence到底是啥,下面简单的介绍了fence。其实在ceph中并没有使用这种技术。

每个节点之间互相发送探测包进行判断节点的存活性。一般会有专门的线路进行探测,这条线路称为“心跳线”(上图直接使用eth0线路作为心跳线)。
假设node1的心跳线出问题,则node2和node3会认为node1出问题,然后就会把资源调度在node2或者node3上运行,但node1会认为自己没问题不让
node2或者node3抢占资源,此时就出现了脑裂(split brain)。

此时如果在整个环境里有一种设备直接把node1断电,则可以避免脑裂的发生,这种设备叫做fence或者stonith(Shoot The Other Node In The
Head爆头哥)。在物理机里virsh是通过串口线管理guestos的,比如virsh destroy nodeX,这里我们把物理机当成fence设备。

fence