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. percona-toolkit 之 【pt-archiver】

    背景: 工作上需要删除或则归档一张大表,这时候用pt-archiver可以很好的满足要求,其不仅可以归档数据,还有删除.导出到文件等功能.并且在主从架构当中,可以兼顾从库(一个或则多个)进行归档,避免 ...

  2. 【Zabbix】zabbix设置邮件报警

    目录 Zabbix设置邮件报警 1.安装sendmail或postfix 2.安装邮件发送工具mailx . 3.配置mail 4. 测试邮件发送 5.编写邮件发送脚本sendmail.sh 6.设置 ...

  3. 程序员50题(JS版本)(二)

    程序6:用*号输出字母C的图案 console.log(' ****'); console.log(' ***'); console.log(' **'); console.log(' *'); co ...

  4. JS最简单的字符串转数字类型

    以前无休止的写parseInt,特别复杂,现在只需要一个加号,就可以完成对字符串的转换 1 === +"1" amazing!

  5. Dynamics 365中的应用程序介绍

    本人微信和易信公众号:微软动态CRM专家罗勇 ,回复275或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  6. docker 学习资料收集

    Docker中文网 http://www.docker.org.cn/book/ docker镜像怎么迁移到其他的服务器 http://www.talkwithtrend.com/Question/1 ...

  7. OpenTK学习笔记

    OpenGL定义 OpenGL被定义为"图形硬件的一种软件接口".实质上是3D图形和模型库,具有高度可移植性,具有非常快的速度. OpenGL架构 术语pipeline常用于阐述彼 ...

  8. 关于flutter插件地图的使用flutter_map

    关于flutter插件地图的使用flutter_map flutter_map A Dart implementation of Leaflet for Flutter apps.一个基于leafle ...

  9. java新知识系列 三

    1:trycatch中需要注意的地方. 2:ServletConfig以及ServletContext对象. 3: Spring事务属性的种类:   传播行为.隔离级别.只读和事务超时. 5:关于程序 ...

  10. angular应用容器化部署

    angular 应用容器化部署 Intro 我自己有做一个个人主页,虽然效果不怎么样(不懂设计的典型程序猿...),但是记录了我对于前端框架及工具的一些实践, 从开始只有一个 angularjs 制作 ...