东篱昏后

导航

 
import paramiko
vip = '192.168.42.250'
ds = '192.168.42.8'
rs1 = '192.168.42.9'
rs2 = '192.168.42.10'
ds_cmd = '''                                      #调度器配置
        ipvsadm -C;
        ipvsadm -A -t {vip}:80 -s wrr;
        ipvsadm -a -t {vip}:80 -r {rs1}:80 -w 1 -g;
        ipvasdm -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} ens33:0'''.format(vip=vip,rs1=rs1,rs2=rs2)

rs1_cmd = '''                                #real_server1配置
        ifconfig lo:0 {vip} broadcast {vip} netmask 255.255.255.255 up;
        route add -host {vip} lo:0;
        echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore;
        echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce;
        echo  "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore;
        echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce;
        service httpd restart'''.format(vip=vip)
rs2_cmd = '''                                #real_server2配置
        ifconfig lo:0 {vip} broadcast {vip} netmask 255.255.255.255 up;
        route add -host {vip} lo:0;
        echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore;
        echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce;
        echo  "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore;
        echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce;
        service httpd restart'''.format(vip=vip)

ssh=paramiko.SSHClient()                                  #连接远程主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

def direct_server():
    ssh.connect('{ds}'.format(ds=ds),22,'root','0330',timeout=3)
    stdin,stdout,stderr=ssh.exec_command(ds_cmd)
    print(stdout.read().decode('utf-8'))
    print(stderr.read().decode('utf-8'))
    print('direct_server配置完成')

def real_server1():
    ssh.connect('{rs1}'.format(rs1=rs1),22,'root','0330',timeout=3)
    stdin,stdout,stderr=ssh.exec_command(rs1_cmd)
    print(stdout.read().decode('utf-8'))
    print(stderr.read().decode('utf-8'))
    print('real_server1配置完成')

def real_server2():
    ssh.connect('{rs2}'.format(rs2=rs2),22,'root','0330',timeout=3)
    stdin,stdout,stderr=ssh.exec_command(rs2_cmd)
    print(stdout.read().decode('utf-8'))
    print(stderr.read().decode('utf-8'))
    print('real_server2配置完成')

def main():                                   #调用函数
    direct_server()
    real_server1()
    real_server2()
    ssh.close()
if __name__ == '__main__':
    main()

 

posted on 2019-05-09 09:12  东篱昏后  阅读(130)  评论(0编辑  收藏  举报