更新时间:2024-04-02 GMT+08:00
分享

配置IEF高可用节点

IEF高可用节点实现该功能要手动操作,使用rsync命令在多台虚机间定时同步文件,操作步骤如下:

以下教程适用于ECS机器系统为Centos 7.5。操作前需要购买两台同网段同文件系统的ecs节点A与节点B。

  1. 在两台虚机上安装rsync及corntab服务,已安装则跳过(HCS底座发行的系统镜像是默认安装的;客户提供的机器,需要客户运维侧保障)。
  2. 参照如何在两个节点间免密ssh登录完成节点免密设置。
  3. 在节点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/

  4. 在节点A上执行如下命令启动定时同步任务。

    crontab -e

    在弹出的编辑框中输入。

    */1 * * * *  /opt/tics/sync_tics.sh

    保存后退出。

  5. 在节点B上重复步骤3~步骤4操作,注意步骤3中脚本内容应替换为对端节点A的ip。

    使用tail /var/log/cron 可以查看定时命令执行情况,务必保证同步命令执行正常。

如何在两个节点间免密ssh登录

  1. 登录机器A,执行如下命令

    ssh-keygen

    遇到需要Overwrite(y/n)时输入y,其他提示均回车即可

  2. 在机器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

  3. 在机器B上执行1、2步骤。
  4. 接下来两台机器,即可相互直接ssh不需要输入密码

相关文档