python部署lvs
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的更多相关文章
- python 部署lvs
import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ...
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...
- 转载--CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
源地址:http://www.cnblogs.com/mchina/archive/2012/08/27/2644391.html 一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台: ...
- RHEL 5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡
原文地址:http://www.cnblogs.com/mchina/archive/2012/05/23/2514728.html 一.简介 LVS是Linux Virtual Server的简写, ...
- 一个公网地址部署LVS/DR模式
http://blog.chinaunix.net/uid-7411781-id-3436142.html 一个公网地址部署LVS/DR模式 网上看了很多关于LVS的文章,在选取2种模式LVS/D ...
- 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 ...
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】
CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡 一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2 ...
- CentOS 6.3下部署LVS(NAT模式)+keepalived实现高性能高可用负载均衡
一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...
- KVM部署LVS集群故障案例一则
一.故障现象 KVM部署LVS(Linux Virtual Server)集群后,能够单独以HTTP方式访问RS(Real Server)的实际IP,但无法通过VIP(Virtual IP)访问. 二 ...
随机推荐
- Windows 花屏问题
已经有2台电脑 Windows 10 系统出现花屏现象,表现为比较炫的界面出现花屏.文字显示不全.移位.闪烁等,如果点击“设置”.“开始”,Chrome浏览器等:比较平素的界面显示正常,比如资源管理器 ...
- 【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络AlexNet
上周我们用PaddlePaddle和Tensorflow实现了图像分类,分别用自己手写的一个简单的CNN网络simple_cnn和LeNet-5的CNN网络识别cifar-10数据集.在上周的实验表现 ...
- webpack4.0各个击破(9)—— karma篇
webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高.本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决方式的模式,以前端构建中遇到的具体需求为出发点,学习we ...
- [转]Chrome 错误代码:ERR_UNSAFE_PORT
本文转自:https://blog.csdn.net/testcs_dn/article/details/39186225 最近在用Nginx发布多个站点测试,使用了87.88端口, 88端口访问正常 ...
- angular懒加载
生成module和routing.module文件 {//路径 path: 'InfectionFillInComponent', loadChildren: './component/his/inf ...
- 惊喜,重磅福利!免费开源ERP-企业信息化金矿
Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适用于各种规模的企 ...
- MUI ios下用video标签默认全屏播放
前几天用Hbuilder+MUI做了个应用,里边用到<video>标签,在Android下正常,但是在苹果手机老是默认全屏播放. 解决办法: 首先在video标签加上playsinline ...
- 章节九、1-Selenium环境配置
一.Selenium环境安装配置,这里使用Selenium WebDriver 3.6.0 1.下载Selenium WebDriver (点击后网站响应比较慢,需要多等等) 2.打开该网址后点击“d ...
- 使用Python的列表推导式计算笛卡儿积
笛卡儿积: 笛卡儿积是一个列表, 列表里的元素是由输入的可迭代类型的元素对构 成的元组,因此笛卡儿积列表的长度等于输入变量的长度的乘积, 如下图: 如果你需要一个列表,列表里是 3 种不同尺寸的 T ...
- 各种文件用JS转Base64之后的data类型
1.txt data:text/plain;base64, 2.doc data:application/msword;base64, 3.docx data:applicat ...