配置IEF高可用节点
IEF高可用节点实现该功能要手动操作,使用rsync命令在多台虚机间定时同步文件,操作步骤如下:
以下教程适用于ECS机器系统为Centos 7.5。操作前需要购买两台同网段同文件系统的ecs节点A与节点B。
- 在两台虚机上安装rsync及corntab服务,已安装则跳过(HCS底座发行的系统镜像是默认安装的;客户提供的机器,需要客户运维侧保障)。
- 参照如何在两个节点间免密ssh登录完成节点免密设置。
- 在节点A任意目录下创建该脚本sync_tics.sh,建议放在 /opt/tics目录下,确保脚本文件具备可执行权限。
#!/bin/bash if [[ -n $(docker ps | grep k8s_db) ]];then echo "has install postgres" rsync -avzrog --exclude=postmaster.pid /var/lib/tics_db/ 对端节点ip:/var/lib/tics_db/ fi chmod 755 /home/tics/ rsync -avzrog /home/tics/ 对端节点ip:/home/tics/
- 在节点A上执行如下命令启动定时同步任务。
crontab -e
在弹出的编辑框中输入。
*/1 * * * * /opt/tics/sync_tics.sh
保存后退出。
- 在节点B上重复步骤3~步骤4操作,注意步骤3中脚本内容应替换为对端节点A的ip。
使用tail /var/log/cron 可以查看定时命令执行情况,务必保证同步命令执行正常。
如何在两个节点间免密ssh登录
- 登录机器A,执行如下命令
ssh-keygen
遇到需要Overwrite(y/n)时输入y,其他提示均回车即可
- 在机器A上继续执行如下命令,按照提示输入B的登录密码即可
ssh-copy-id -i 图中红框部分 root@机器B的ip
注:以上操作为节点采用密钥登录,无密码的场景下
若所建节点采用密钥对登录的形式,可手动复制公钥文件id_rsa.pub到对端节点的指定用户的home路径下(root用户的路径为/root)
在对端节点下操作:
查看指定用户home目录下有无.ssh文件夹,没有的话创建一个,复制中的id_rsa.pub的内容到authorized_keys文件
[root@yuancheng ~]# cd .ssh [root@yuancheng .ssh]# cat ../id_rsa.pub | tee -a authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDINuohcfbWG8DMHY7mwnAIkp7jglJczOrk1ie5stdSF9GLroot@yuancheng [root@yuancheng .ssh]# ll total 12 -rw-r--r-- 1 root root 408 Aug 10 09:58 authorized_keys
设置authorized_keys文件的权限为600
- 在机器B上执行1、2步骤。
- 接下来两台机器,即可相互直接ssh不需要输入密码