STONITH 是"Shoot The Other Node In The Head"的缩写,它保护您的数据不受有问题的节点或并发访问的影响。
仅仅因为节点不响应,这并不表示它不会访问您的数据。
完全确保您的数据安全的唯一方法是使用 STONITH 隔离节点,以便我们能够在允许从另一个节点访问数据前确保节点真正离线。
当无法停止集群的服务时,STONITH 也会有意义。在这种情况下,集群使用 STONITH 来强制整个节点离线,从而使在其他位置可以安全地启动该服务。
在AWS平台的主机中创建STONITH,可以使用如下的命令,(需要指明EC2实例的ID)
[root@qq-5201351 ~]# pcs stonith create stonith-project-pet fence_aws \ region=cn-north-1 \ pcmk_host_map="awtproject03:i-0cf37dd213f0b9203;awtproject04:i-063132cb2a162a0e6" \ pcmk_delay_max=45 pcmk_reboot_action=off \ power_timeout=600 pcmk_reboot_timeout=600 \ pcmk_reboot_retries=4 \ op start timeout=600 \ op monitor interval=300 timeout=60
说明:这里的 pcmk_reboot_action=off 代表是只是关机就可以了,生产环境可以建议这样配置,也可以设置为 reboot ,那样fence的效果就是重启机器了
pcs stonith update stonith-project-pet pcmk_reboot_action=reboot
使用命令update的方式修改后,会立即生效的,并将配置同步到各个节点
关于STONITH的功能测试,笔者常用到如下两种方法
1、直接使用pcs命令(测试了,在两个节点上执行都是可以的,无论(stonith:fence_aws) 在那个节点上启动的,都没有关系):
pcs stonith fence awtproject03
2、在其中一个节点上,手动将自己网卡,如eth0给down了
ifconfig eth0 down
补充上,在AWS平台的主机中创建STONITH,使能达到fence的效果,的前置条件
1、为pacemaker的机器绑定IAM-Role, 包含开关机重启等权限(机器开机是需要相应KMS权限的)
2、在OS中,不需要进行aws configure配置,在创建时指明了region的
3、在OS中两个节点、都需要安装的软件:yum install -y pcs pacemaker resource-agents fence-agents-aws
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17857580.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!