
# 配置IEF高可用节点
IEF高可用节点实现该功能要手动操作，使用rsync命令在多台虚机间定时同步文件，操作步骤如下：
![](https://support.huaweicloud.com/usermanual-tics/public_sys-resources/note_3.0-zh-cn.png)
以下教程适用于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。
   
   ![](https://support.huaweicloud.com/usermanual-tics/public_sys-resources/note_3.0-zh-cn.png)
   使用tail /var/log/cron 可以查看定时命令执行情况，务必保证同步命令执行正常。
   
   
 #### 如何在两个节点间免密ssh登录
1. 登录机器A，执行如下命令 
   ```
   ssh-keygen
   ```
   ![](https://support.huaweicloud.com/usermanual-tics/zh-cn_image_0000001663134870.png "点击放大")
   遇到需要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不需要输入密码
 
