Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > 负载均衡 > » 正文

常见负载均衡器禁(启)用成员汇总(3)

来源: 刘天斯 分享至:
  •         try:  
  •             self.b.LocalLB.PoolMember.set_session_enabled_state(pool_names =  
  •                 [self.POOL], session_states = [self.sstate_seq])  
  •       
  •         except Exception, e:  
  •             print e  
  •   
  •     def enable_member(self):  
  •         for x in self.sstate_seq.item:  
  •             x.session_state = 'STATE_ENABLED'  
  •         try:  
  •             self.b.LocalLB.PoolMember.set_session_enabled_state(pool_names = [self.POOL],  
  •                 session_states = [self.sstate_seq])  
  •         except Exception, e:  
  •             print e  
  •   
  • if __name__ == "__main__":  
  •     if len(sys.argv) < 4:  
  •         print "Usage %s POOL MEMBER:port[,member1:80,member2:80,member3:80] enable|disable" % sys.argv[0]  
  •         print "Examples: python LB_member.py app.domain.com 192.168.0.10:80,192.168.0.11:80,192.168.0.12:80 disable"  
  •         sys.exit()  
  •   
  •     #F5 administrator info  
  •     hostname="192.168.100.2"  
  •     username="adminuser"  
  •     password="adminpass"  
  •   
  •     App=F5_LB_menber(hostname,username,password)  
  •       
  •     #init F5 pool and member  
  •     CommandParameters = sys.argv[1:]  
  •     pool=CommandParameters[0]  
  •     members=string.split(CommandParameters[1],',')  
  •       
  •     App.set_pool_member(pool,members)  
  •     if CommandParameters[2]=="enable":  
  •         App.enable_member()  
  •     elif CommandParameters[2]=="disable":  
  •         App.disable_member()  
  •     else:  
  •         print "opt parameters error!"  
  •         sys.exit()  


  • 3、源码分析:
    3.1、创建一个池成员对象,将用户传入的成员列表转成规范的pool成员,见member_factory()方法;
    3.2、创建一个会话状态对象,追加成员对象到会话状态当中,见session_state_factory()方法;
    3.3、创建一个队列,将会话状态对象添加到队列子项中,同时修改所处状态,见__init__()、set_pool_member()、disable_member()/enable_member()方法。

    4、禁用成员
    #python LB_member.py test.tianya.cn 192.168.100.42:80,192.168.100.43:80,192.168.100.44:80 disable

    \"\"

    5、启用成员
    #python LB_member.py test.tianya.cn 192.168.100.42:80,192.168.100.43:80,192.168.100.44:80 enable

    \"\"

    作者主页:blog.liuts.com


    Tags:
    分享至:
    最新图文资讯
    1 2 3 4 5 6
    验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
    推荐内容
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史