【Redis】Redis实例迁移中的防火墙权限迁移实现

4 篇文章 0 订阅
2 篇文章 0 订阅

一、简述

    由于大多数情况下Redis的部署都是单机多实例,且Redis的权限目前仅iptables控制,在进行实例迁移的时候,就不能将整个iptables文件copy过去,需要截取该实例端口开通的权限到目标服务器上。

 

二、实现方式

    1、通过ansible获取shell模块执行grep命令获取到源实例相关防火墙权限内容;

    2、将防火墙内容写入到中控端临时文件中;

    3、通过ansible的copy模块将权限内容的临时文件传到目标服务器;

    4、通过ansible的shell模块执行sed命令,将临时文件的内容插入到iptables中,然后重载即可;

echo "业务防火墙复制..."
iptables_cmd=`ansible ${SrcIp} -m shell -a "cat /etc/sysconfig/iptables|grep ' ${InstancePort} '" -s|grep -v "SUCCESS"`

echo "$iptables_cmd" > /tmp/tmp_${SrcIp}_${InstancePort}_iptables

ansible ${DestIp} -m copy -a "src=/tmp/tmp_${SrcIp}_${InstancePort}_iptables dest=/tmp/" -s

ansible ${DestIp} -m shell -a 'cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak_`date "+%Y%m%d_%H%M"`' -s

ansible ${DestIp}  -m shell -a "chattr -i /etc/sysconfig/iptables && sed -i '15r /tmp/tmp_${SrcIp}_${InstancePort}_iptables' /etc/sysconfig/iptables && chattr +i /etc/sysconfig/iptables" -s

ansible ${DestIp}  -m shell -a "service iptables reload" -s

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值