lvs-dr-rr

import paramiko
vip = '192.168.254.250'
ds = '192.168.254.17'
rs1 = '192.168.254.37'
rs2 = '192.168.254.19'
ds_cmd = '''
ipvsadm -C;
ipvsadm -A -t {vip}: -s rr;
ipvsadm -a -t {vip}: -r {rs1}: -g;
ipvsadm -a -t {vip}: -r {rs2}: -g;
ifconfig ens33: {vip} broadcast {vip} netmask 255.255.255.255 up;
route add -host {vip} dev ens33:;
'''.format(vip=vip, rs1=rs1, rs2=rs2) rs1_cmd = '''
ifconfig lo: {vip} broadcast {vip} netmask 255.255.255.255 up;
route add -host {vip} dev lo:;
echo "">/proc/sys/net/ipv4/conf/lo/arp_ignore;
echo "">/proc/sys/net/ipv4/conf/lo/arp_announce;
echo "">/proc/sys/net/ipv4/conf/all/arp_ignore;
echo "">/proc/sys/net/ipv4/conf/all/arp_announce;
service httpd restart
'''.format(vip=vip)
rs2_cmd = '''
ifconfig lo: {vip} broadcast {vip} netmask 255.255.255.255 up;
route add -host {vip} dev lo:;
echo "">/proc/sys/net/ipv4/conf/lo/arp_ignore;
echo "">/proc/sys/net/ipv4/conf/lo/arp_announce;
echo "">/proc/sys/net/ipv4/conf/all/arp_ignore;
echo "">/proc/sys/net/ipv4/conf/all/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), , 'root', 'root',timeout=)
stdin, stdout, stderr = ssh.exec_command(ds_cmd)
print(stderr.read().decode('utf-8'))
print(stdout.read().decode('utf-8'))
print('dicret_server配置完成!!!') def real_server1():
ssh.connect('{rs1}'.format(rs1=rs1), , 'root', 'root', timeout=)
stdin, stdout, stderr = ssh.exec_command(rs1_cmd)
print(stderr.read().decode('utf-8'))
print(stdout.read().decode('utf-8'))
print('real_server1配置完成!!!') def real_server2():
ssh.connect('{rs2}'.format(rs2=rs2), , 'root', 'root', timeout=)
stdin, stdout, stderr = ssh.exec_command(rs2_cmd)
print(stderr.read().decode('utf-8'))
print(stdout.read().decode('utf-8'))
print('real_server2配置完成!!!') def main():
direct_server()
real_server1()
real_server2()
ssh.close() if __name__ == '__main__':
main()

lvs-dr-wrr

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) def direct_server():
ssh.connect('192.168.254.17', , 'root', 'root',timeout=)
stdin, stdout, stderr = ssh.exec_command('ipvsadm -C;'
'ipvsadm -A -t 192.168.254.250:80 -s wrr;'
'ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.37:80 -w 1 -g;'
'ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.19:80 -w 2 -g;'
'ifconfig ens33:0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.255 up;'
'route add -host 192.168.254.250 dev ens33:0')
print(stderr.read().decode('utf-8'))
print(stdout.read().decode('utf-8'))
print('dicret_server配置完成!!!') def real_server1():
ssh.connect('192.168.254.37', , 'root', 'root', timeout=)
stdin, stdout, stderr = ssh.exec_command('ifconfig lo:0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.255 up;'
'route add -host 192.168.254.250 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')
print(stderr.read().decode('utf-8'))
print(stdout.read().decode('utf-8'))
print('real_server1配置完成!!!') def real_server2():
ssh.connect('192.168.254.19', , 'root', 'root', timeout=)
stdin, stdout, stderr = ssh.exec_command(
'ifconfig lo:0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.255 up;'
'route add -host 192.168.254.250 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')
print(stderr.read().decode('utf-8'))
print(stdout.read().decode('utf-8'))
print('real_server2配置完成!!!') def main():
direct_server()
real_server1()
real_server2()
ssh.close() if __name__ == '__main__':
main()

python部署lvs的更多相关文章

  1. python 部署lvs

    import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ...

  2. CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

    一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...

  3. 转载--CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

    源地址:http://www.cnblogs.com/mchina/archive/2012/08/27/2644391.html 一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台: ...

  4. RHEL 5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡

    原文地址:http://www.cnblogs.com/mchina/archive/2012/05/23/2514728.html 一.简介 LVS是Linux Virtual Server的简写, ...

  5. 一个公网地址部署LVS/DR模式

    http://blog.chinaunix.net/uid-7411781-id-3436142.html 一个公网地址部署LVS/DR模式   网上看了很多关于LVS的文章,在选取2种模式LVS/D ...

  6. Linux下部署LVS(DR)+keepalived+Nginx负载均衡

    架构部署 LVS/keepalived(master):192.168.21.3  LVS/keepalived(Slave):192.168.21.6  Nginx1:192.168.21.4  N ...

  7. CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】

    CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡   一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2 ...

  8. CentOS 6.3下部署LVS(NAT模式)+keepalived实现高性能高可用负载均衡

    一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...

  9. KVM部署LVS集群故障案例一则

    一.故障现象 KVM部署LVS(Linux Virtual Server)集群后,能够单独以HTTP方式访问RS(Real Server)的实际IP,但无法通过VIP(Virtual IP)访问. 二 ...

随机推荐

  1. Windows 花屏问题

    已经有2台电脑 Windows 10 系统出现花屏现象,表现为比较炫的界面出现花屏.文字显示不全.移位.闪烁等,如果点击“设置”.“开始”,Chrome浏览器等:比较平素的界面显示正常,比如资源管理器 ...

  2. 【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络AlexNet

    上周我们用PaddlePaddle和Tensorflow实现了图像分类,分别用自己手写的一个简单的CNN网络simple_cnn和LeNet-5的CNN网络识别cifar-10数据集.在上周的实验表现 ...

  3. webpack4.0各个击破(9)—— karma篇

    webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高.本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决方式的模式,以前端构建中遇到的具体需求为出发点,学习we ...

  4. [转]Chrome 错误代码:ERR_UNSAFE_PORT

    本文转自:https://blog.csdn.net/testcs_dn/article/details/39186225 最近在用Nginx发布多个站点测试,使用了87.88端口, 88端口访问正常 ...

  5. angular懒加载

    生成module和routing.module文件 {//路径 path: 'InfectionFillInComponent', loadChildren: './component/his/inf ...

  6. 惊喜,重磅福利!免费开源ERP-企业信息化金矿

    Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适用于各种规模的企 ...

  7. MUI ios下用video标签默认全屏播放

    前几天用Hbuilder+MUI做了个应用,里边用到<video>标签,在Android下正常,但是在苹果手机老是默认全屏播放. 解决办法: 首先在video标签加上playsinline ...

  8. 章节九、1-Selenium环境配置

    一.Selenium环境安装配置,这里使用Selenium WebDriver 3.6.0 1.下载Selenium WebDriver (点击后网站响应比较慢,需要多等等) 2.打开该网址后点击“d ...

  9. 使用Python的列表推导式计算笛卡儿积

    笛卡儿积: 笛卡儿积是一个列表, 列表里的元素是由输入的可迭代类型的元素对构 成的元组,因此笛卡儿积列表的长度等于输入变量的长度的乘积, 如下图: 如果你需要一个列表,列表里是 3 种不同尺寸的 T ...

  10. 各种文件用JS转Base64之后的data类型

    1.txt       data:text/plain;base64, 2.doc     data:application/msword;base64, 3.docx   data:applicat ...