免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4460 | 回复: 2
打印 上一主题 下一主题

[Salt] salt多master使用failover方式倒换后minion连接master异常 [复制链接]

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-06-19 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-12-09 19:41 |只看该作者 |倒序浏览
本帖最后由 woshiqhj 于 2015-12-09 19:47 编辑

测试环境:
    2台salt-master
      - 192.168.57.187
      - 192.168.57.190
    1台salt-minion
      - 192.168.57.188

salt版本:
  1. [root@at-saltmaster-1 ~]# salt --versions-report
  2. Salt Version:
  3.            Salt: 2015.8.3

  4. Dependency Versions:
  5.          Jinja2: 2.7.2
  6.        M2Crypto: 0.21.1
  7.            Mako: Not Installed
  8.          PyYAML: 3.11
  9.           PyZMQ: 14.7.0
  10.          Python: 2.7.5 (default, Jun 17 2014, 18:11:42)
  11.            RAET: Not Installed
  12.         Tornado: 4.2.1
  13.             ZMQ: 4.0.5
  14.            cffi: Not Installed
  15.        cherrypy: 3.2.2
  16.        dateutil: Not Installed
  17.           gitdb: Not Installed
  18.       gitpython: Not Installed
  19.           ioflo: Not Installed
  20.         libnacl: Not Installed
  21.    msgpack-pure: Not Installed
  22. msgpack-python: 0.4.6
  23.    mysql-python: Not Installed
  24.       pycparser: Not Installed
  25.        pycrypto: 2.6.1
  26.          pygit2: Not Installed
  27.    python-gnupg: Not Installed
  28.           smmap: Not Installed
  29.         timelib: Not Installed

  30. System Versions:
  31.            dist: centos 7.1.1503 Core
  32.         machine: x86_64
  33.         release: 3.10.0-229.el7.x86_64
  34.          system: CentOS Linux 7.1.1503 Core
复制代码
salt配置:
master-1:
  1. interface: 192.168.57.187
  2. master_sign_pubkey: True
  3. master_use_pubkey_signature: True
  4. master_pubkey_signature: at-saltmaster-1
复制代码
master-2:
  1. interface: 192.168.57.190
  2. master_sign_pubkey: True
  3. master_use_pubkey_signature: True
  4. master_pubkey_signature: at-saltmaster-1
复制代码
minion-1:
  1. default_include: minion.d/*.conf
  2. master:
  3. - 192.168.57.187
  4. - 192.168.57.190
  5. random_master: False
  6. master_type: failover
  7. master_alive_interval: 15
  8. verify_master_pubkey_sign: True
  9. always_verify_signature: True
  10. ipv6: False
  11. retry_dns: 0
  12. master_port: 4506
  13. user: root
  14. color: True
  15. rejected_retry: True
  16. random_reauth_delay: 15
  17. auth_timeout: 15
  18. auth_tries: 1
  19. auth_safemode: False
  20. recon_default: 1000
  21. recon_max: 5000
  22. recon_randomize: Tru
复制代码
启动2台salt-master和1台salt-minion后,minion能够连接到master-1,在master-1上能够正常操作minion-1,当把master-1关闭后,minion-1能够自动切换到master-2,但是在master-2上操作minion-1,总是提示
  1. [root@saltmaster-2 ]# salt "*" cmd.run "df -h"
  2. minion-1:
  3.     Minion did not return. [No response]
复制代码
查看两台master的debug日志都显示已鉴权通过,但是查看minion的debug日志看到有一点异常:
这是连接master-1的鉴权日志:
  1. [DEBUG   ] Initializing new AsyncZeroMQReqChannel for ('/etc/salt/pki/minion', 'minion-1', 'tcp://192.168.57.187:4506', 'clear')
  2. [DEBUG   ] salt.crypt.verify_signature: Loading public key
  3. [DEBUG   ] salt.crypt.verify_signature: Verifying signature
  4. [DEBUG   ] Successfully verified signature of master public key with verification public key master_sign.pub
  5. [INFO    ] Received signed and verified master pubkey from master 192.168.57.187
  6. [DEBUG   ] Decrypting the current master AES key
复制代码
这是切换后连接master-2的鉴权日志:
  1. [DEBUG   ] salt.crypt.verify_signature: Loading public key
  2. [DEBUG   ] salt.crypt.verify_signature: Verifying signature
  3. [DEBUG   ] Successfully verified signature of master public key with verification public key master_sign.pub
  4. [INFO    ] Received signed and verified master pubkey from master <tornado.concurrent.Future object at 0x202c750>
  5. [DEBUG   ] Decrypting the current master AES key
复制代码
查看代码这句日志是由crypt.py中verify_signing_master方法中打印的:
  1. def verify_signing_master(self, payload):
  2.     720         try:
  3.     721             if self.verify_pubkey_sig(payload['pub_key'],
  4.     722                                       payload['pub_sig']):
  5.     723                 log.info('Received signed and verified master pubkey '
  6.     724                          'from master {0}'.format(self.opts['master']))
复制代码
想请各位帮忙看看为何会打印出<tornado.concurrent.Future object at 0x202c750>,是不是因为这个导致切换后master-2与minion-1的zmq连接异常?

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-06-19 06:20:00
2 [报告]
发表于 2015-12-09 19:50 |只看该作者
master和minion的日志:

master和minion日志.zip

17.98 KB, 下载次数: 9

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-06-19 06:20:00
3 [报告]
发表于 2015-12-11 20:06 |只看该作者
已经确认是个bug
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP