neutron负载均衡高可用测试
对工作中,实验环境的一个小总结
1、创建高可用负载均衡器------创建高可用的时候,添加上ha-mode参数即可
neutron lb-pool-create --lb-method ROUND_ROBIN \
--name mypool-ckf4879-ha --protocol HTTP --subnet-id 83747f17-f688-4f7a-a711-e838484ff055 \
--ha-mode true
通过neutron lb-pool-list命令行可以查看到你创建的负载均衡器,
通过neutron lb-agent-hosting-pool dfd107b5-a17f-4148-93f7-e295d6d322d3命令,可以查看到你创建的负载均衡器都分布在哪些物理节点上
此时查看负载均衡器的状态是standby状态,因为需要创建vip之后负载均衡器才会被激活,也就是才会在agent上生成namespace空间
2、创建vip
neutron lb-vip-create --name myvip-ckf4879-ha --protocol-port 80
--protocol HTTP --subnet-id 83747f17-f688-4f7a-a711-e838484ff055 --address 192.168.0.55 \
dfd107b5-a17f-4148-93f7-e295d6d322d3
3、添加后端成员1
neutron lb-member-create --address 192.168.0.56 \
--protocol-port 80 dfd107b5-a17f-4148-93f7-e295d6d322d3
4、添加后端成员2
neutron lb-member-create --address 192.168.0.57 \
--protocol-port 80 dfd107b5-a17f-4148-93f7-e295d6d322d3
5、健康检查和负载均衡器pool进行关联
neutron lb-healthmonitor-associate c83125fb-bd4f-4f11-a3e5-b0b1b75477c1 dfd107b5-a17f-4148-93f7-e295d6d322d3
6、添加实际的虚机成员1
nova boot lb-test-host1-ha --flavor 1 --image f06bf8fc-55e5-42b4-81eb-008b04e4afcb \
--nic net-id=ffd15fc9-3528-404c-945c-6e3ba40fc92d,v4-fixed-ip=192.168.0.56 \
--availability-zone az01.cell01.ceshihuanjing:AZ01C03.PUB.CS
7、添加实际的虚机成员2
nova boot lb-test-host2-ha --flavor 1 --image f06bf8fc-55e5-42b4-81eb-008b04e4afcb \
--nic net-id=ffd15fc9-3528-404c-945c-6e3ba40fc92d,v4-fixed-ip=192.168.0.57 \
--availability-zone az01.cell01.ceshihuanjing:AZ01C03.PUB.CS
8、在后端成员1上模拟web服务
while true;
do echo -e "HTTP/1.0 200 OK\r\n\r\nWelcome to 192.168.0.56" | sudo nc -l -p 80 ;
done&
9、在后端成员2上模拟web服务
while true;
do echo -e "HTTP/1.0 200 OK\r\n\r\nWelcome to 192.168.0.57" | sudo nc -l -p 80 ;
done
10、创建测试的虚机
nova boot lb-test-host1 --flavor 1 --image f06bf8fc-55e5-42b4-81eb-008b04e4afcb \
--nic net-id=ffd15fc9-3528-404c-945c-6e3ba40fc92d,v4-fixed-ip=192.168.0.50 \
--availability-zone az01.cell01.ceshihuanjing:AZ01C03.PUB.CS
11、在测试虚机上通过vip访问后端成员
for k in $( seq 1 10000 )
do
sleep 1
curl http://192.168.0.55
done
后端成员的信息轮训呈现
Welcome to 192.168.0.56
Welcome to 192.168.0.57
Welcome to 192.168.0.56
Welcome to 192.168.0.57
12、通过命令neutron lb-agent-hosting-pool dfd107b5-a17f-4148-93f7-e295d6d322d3查看,主负载均衡运行在哪个物理节点上
13、通过ssh登录到该物理节点上
14、通过ip netns list 命令显示出负载均衡器
15、通过ip netns exec qlbxxx ip add显示网卡信息
16、通过ip netns exec qlbaas-dfd107b5-a17f-4148-93f7-e295d6d322d3 ip link set ha-d9d48550-c3 down 命令,把接受高可用心跳报文的网卡down掉
从而引起从负载均衡切换为主负载均衡,接管vip
17、在测试主机上仍然可以看到,在正常的访问web服务
后端成员的信息轮训呈现
Welcome to 192.168.0.56
Welcome to 192.168.0.57
Welcome to 192.168.0.56
Welcome to 192.168.0.57
neutron负载均衡高可用测试的更多相关文章
- 实现基于Haproxy+Keepalived负载均衡高可用架构
1.项目介绍: 上上期我们实现了keepalived主从高可用集群网站架构,随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务 ...
- Lvs+keepAlived实现负载均衡高可用集群(DR实现)
第1章 LVS 简介 1.1 LVS介绍 LVS是Linux Virtual Server的简写,意为Linux虚拟服务器,是虚拟的服务器集群系统,可在UNIX/LINUX平台下实现负载均衡集群功能. ...
- Nginx+Keepalived负载均衡高可用
Nginx+Keepalived负载均衡高可用方案: Nginx 使用平台:unix.linux.windows. 功能: A.www web服务 http 80 b.负载均衡(方向代理proxy) ...
- JAVAEE——宜立方商城03:Nginx负载均衡高可用、Keepalived+Nginx实现主备
1 nginx负载均衡高可用 1.1 什么是负载均衡高可用 nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务, ...
- Nginx负载均衡高可用
1. Nginx负载均衡高可用 首先介绍一下Keepalived,它是一个高性能的服务器高可用或热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实 ...
- Keepalived+Nginx实现负载均衡高可用
一.负载均衡高可用 Nginx作为负载均衡器,所有请求都到了Nginx,可见Nginx处于非常重点的位置,如果Nginx服务器宕机后端web服务将无法提供服务,影响严重. 为了避免负载均衡服务器的宕机 ...
- LVS+Keepalived-DR模式负载均衡高可用集群
LVS+Keepalived DR模式负载均衡+高可用集群架构图 工作原理: Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能. VRRP,虚拟路由冗余协议,是针对路由器的 ...
- Nginx+keepalived实现负载均衡高可用配置
1. 什么是负载均衡高可用 nginx作为负载均衡器,所有请求都到了nginx,可见nginx处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务,影响严重. 为了屏蔽负载均衡服务 ...
- Nginx负载均衡高可用---架构
1. Nginx负载均衡高可用 首先介绍一下Keepalived,它是一个高性能的服务器高可用或热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实现w ...
随机推荐
- linux 交换分区 swap
linux swap分区用来保证内存过载时也可以使用,是在磁盘级别对内存的一次扩展,swap分区必须是一个单独的分区 创建过程: 1.用fdisk 命令新建分区,在创建过程中通过L命令和t命令来调整分 ...
- php 冒泡排序原理
$start = microtime(true); $popArr = array(6,3,23,1,5,100,399,99,66); echo '6,3,23,1,5,100,399,99 ...
- codeforces 553B B. Kyoya and Permutation(找规律)
题目链接: B. Kyoya and Permutation time limit per test 2 seconds memory limit per test 256 megabytes inp ...
- Post提交和Get提交的区别
表单提交中get和post的区别 1. get: 把表单内各个字段均显示在URL中. post:把表单内各个字段和内容放在html的header内一起传递给action所指的url,用户看不到. 2. ...
- linux命令学习笔记(15):tail 命令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件, tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新 ...
- #define与typedef区别
1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错.例如: #define PI 3.141 ...
- C++STL 库中set容器应用
#include<iostream> #include<cstdio> #include<set> using namespace std; set<int& ...
- Webpack 基础使用
使用webstorm编译: 1.新建一个工程(最基本的工程) 2.在webstorm的控制台,使用命令行 cnpm install webpack -g 全局安装 3.安装完后,可以使用 ...
- 数据库:mysql 获取刚插入行id[转]
我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数, 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的.但在多线程情况下,就不行了. 下面介 ...
- BluetoothSetServiceState 函数
DWORD BluetoothSetServiceState( HANDLE hRadio, BLUETOOTH_DEVICE_INFO* pbtdi, GUID* pGuidService, DWO ...