zoukankan      html  css  js  c++  java
  • lvs 负载均衡 _DR模式 _Python脚本

    import paramiko
    vip='192.168.83.6' # 虚拟IP
    
    # direct_server_information
    ds_info={
        'ip':'192.168.83.5',
        'user':'root',
        'pwd':'root'
    }
    
    # real_server_information
    real_server_ip=['192.168.83.3','192.168.83.4']
    real_server_user=['root','root']
    real_server_pwd=['root','root']
    ds_cmd = '''
    yum install ipvsadm;
    ipvsadm -C;
    ipvsadm -A -t {vip}:80 -s wrr;
    ipvsadm -a -t {vip}:80 -r {rs1}:80 -w 1 -g;
    ipvsadm -a -t {vip}:80 -r {rs2}:80 -w 2 -g;
    ifconfig ens33:0 {vip} broadcast {vip} netmask 255.255.255.255 up;
    route add -host {vip} dev ens33:0;
    service httpd restart;
    systemctl stop firewalld;
    setenforce 0
    '''.format(vip=vip, rs1=real_server_ip[0], rs2=real_server_ip[1])
    
    server_cmd = '''
    ifconfig lo:0 {vip} broadcast {vip} netmask 255.255.255.255 up;
    route add -host {vip} dev lo:0;
    echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore;
    echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce;
    echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore;
    echo "2">/proc/sys/net/ipv4/conf/all/arp_announce;
    service httpd restart;
    systemctl stop firewalld;
    setenforce 0
    '''.format(vip=vip)
    
    
    #配置调度器direct_server
    def direct_server():
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(hostname=ds_info['ip'],port=22,username=ds_info['user'],password=ds_info['pwd'])
        stdin, stdout, stderr = ssh.exec_command(ds_cmd)
        print(stderr.read().decode('utf-8'))
        print(stdout.read().decode('utf-8'))
        ssh.close()
        print('dicret_server配置完成!')
    
    
    #配置real_server
    def real_server():
        k=0
        while k<len(real_server_ip):
            ssh = paramiko.SSHClient()
            ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            ssh.connect(hostname=real_server_ip[k],port=22,username=real_server_user[k],password=real_server_pwd[k])
            stdin, stdout, stderr = ssh.exec_command(server_cmd)
            print(stderr.read().decode('utf-8'))
            print(stdout.read().decode('utf-8'))
            ssh.close()
            k+=1
        print('real_server配置完成!')
    
    
    def main():
        direct_server()
        real_server()
    
    if __name__ == '__main__':
        main()
  • 相关阅读:
    Visual Studio 2019 XAML Hot Reload功能介绍
    C#开启和关闭UAC功能
    使用Powershell启用/关闭Windows功能
    解决C#调用COM组件异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)的错误
    ComPtr的介绍以及使用
    C#使用Selenium
    estimateAffinePartial2D 替代 estimateRigidTransform
    mtcnn
    pytorch 指定GPU
    cv2.imread()与PIL中Image.open(),以及相互转换
  • 原文地址:https://www.cnblogs.com/leeeel/p/10827784.html
Copyright © 2011-2022 走看看