Xenserver 虚拟机下配置LVS+keepalived

简介:

Xenserver 虚拟机下配置LVS+keepalived

 

测试环境:

思杰xenserver 5.5

vmware 和真实机不一样需要安装kernel-xen并切换至Xen内核启动

 

之前是物理机配置。一路正常。今天却遇到了问题。所以做个记录。

 

测试机相关信息:

 LVS-DR-Master        192.1.1.36     

 LVS-DR-BACKUP       192.1.1.37         

 LVS-DR-VIP            192.1.1.38           

 WEB1-Realserver     192.1.1.31          

 WEB2-Realserver     192.1.1.32           

 GateWay                 192.1.1.1       

 

一、系统配置

安装相应的包:yum -y install kernel-xen kernel-devel openssl openssl-devel

 

修改menu.lst文件:

 

 
  1. # more /boot/grub/menu.lst 
  2. # grub.conf generated by anaconda 
  3. # Note that you do not have to rerun grub after making changes to this file 
  4. # NOTICE:  You have a /boot partition.  This means that 
  5. #          all kernel and initrd paths are relative to /boot/, eg. 
  6. #          root (hd0,0) 
  7. #          kernel /vmlinuz-version ro root=/dev/xvda2 
  8. #          initrd /initrd-version.img 
  9. #boot=/dev/xvda 
  10. default=0 
  11. timeout=5 
  12. splashimage=(hd0,0)/grub/splash.xpm.gz 
  13. hiddenmenu 
  14. #title CentOS (2.6.18-128.1.10.el5.xs5.5.0.51xen) 
  15. #       root (hd0,0) 
  16. #       kernel /vmlinuz-2.6.18-128.1.10.el5.xs5.5.0.51xen ro root=LABEL=/ console=xvc0 rhgb quiet 
  17. #       initrd /initrd-2.6.18-128.1.10.el5.xs5.5.0.51xen.img 
  18. title CentOS (2.6.18-92.el5xen) 
  19.         root (hd0,0) 
  20.         kernel /vmlinuz-2.6.18-92.el5xen ro root=LABEL=/ console=xvc0 rhgb quiet 
  21.         initrd /initrd-2.6.18-92.el5xen.img 

 

#uname -r

2.6.18-128.el5xen

#ln -s /usr/src/kernels/2.6.18-128.el5xen-x86_64/ /usr/src/linux

 

二、安装相应的包

 #mkdir /usr/local/src/lvs

 #cd /usr/local/src/lvs

 #wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

 #wget http://www.keepalived.org/software/keepalived-1.1.15.tar.gz

 

 

 
  1. #lsmod |grep ip_vs 
  2.  #tar zxvf ipvsadm-1.24.tar.gz 
  3.  #cd ipvsadm-1.24 
  4. #make && make install 
  5.  #find / -name ipvsadm  # 查看ipvsadm的位置 
  6.  
  7.   #tar zxvf keepalived-1.1.15.tar.gz 
  8.  #cd keepalived-1.1.15 
  9.   #./configure  && make && make install 
  10.   #find / -name keepalived  # 查看keepalived位置                 
  11.  #cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ 
  12.  #cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ 
  13.  #mkdir /etc/keepalived 
  14.  #cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ 
  15.  #cp /usr/local/sbin/keepalived /usr/sbin/ 
  16.  #service keepalived start|stop     # 做成系统启动服务方便管理. 

 

三、配置keepalived

 

 
  1. ! Configuration File for keepalived 
  2.  
  3. global_defs { 
  4.    router_id LVS_DEVEL 
  5.  
  6. vrrp_sync_group VGM { 
  7.    group { 
  8.       VI_OUT1 
  9.    } 
  10.  
  11. #vip1 
  12. vrrp_instance VI_OUT1 { 
  13.     state MASTER 
  14.     interface eth0 
  15.     virtual_router_id 51 
  16.     priority 100 
  17.     advert_int 1 
  18.     authentication { 
  19.         auth_type PASS 
  20.         auth_pass 1111 
  21.     } 
  22.     virtual_ipaddress { 
  23.         192.1.1.38 
  24.     } 
  25.  
  26. virtual_server 192.1.1.38 80 { 
  27.     delay_loop 6 
  28.     lb_algo rr 
  29.     lb_kind DR 
  30.    persistence_timeout 50 
  31.     protocol TCP 
  32.  
  33.     real_server 192.1.1.31 80 { 
  34.         weight 100 
  35.         TCP_CHECK { 
  36.          connect_timeout 3 
  37.          nb_get_retry 3 
  38.          delay_before_retry 3 
  39.         connect_port 80 
  40.         } 
  41.         } 
  42.  
  43.     real_server 192.1.1.32 80 { 
  44.         weight 100 
  45.         TCP_CHECK { 
  46.          connect_timeout 3 
  47.          nb_get_retry 3 
  48.          delay_before_retry 3 
  49.         connect_port 80 
  50.         } 
  51.         } 

 

Backup 机器的keepalived需要修改:

State BACKUP

weight 10 数值比master小即可

 

四、客户端绑定VIP

脚本:

       

 
  1. #vi /usr/local/sbin/realserver.sh 
  2.         #!/bin/bash 
  3.         SNS_VIP=192.1.1.38  (只需要修改此处) 
  4.         . /etc/rc.d/init.d/functions 
  5.         
  6.         case "$1" in 
  7.         start) 
  8.                ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP 
  9.                /sbin/route add -host $SNS_VIP dev lo:0 
  10.                echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore 
  11.                echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce 
  12.                echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore 
  13.                echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce 
  14.                sysctl -p >/dev/null 2>&1 
  15.                echo "RealServer Start OK" 
  16.                ;; 
  17.         stop) 
  18.                ifconfig lo:0 down 
  19.                route del $SNS_VIP >/dev/null 2>&1 
  20.                echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore 
  21.                echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce 
  22.                echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore 
  23.                echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce 
  24.                echo "RealServer Stoped" 
  25.                ;; 
  26.         *) 
  27.                echo "Usage: $0 {start|stop}" 
  28.                exit 1 
  29.         esac  
  30.         exit 0 

 

五、测试客户端绑定VIP

启动脚本。使用ip a 查看是否在lo绑定了VIP  停止后消失。

 

六、启动master backup keepalived查看日志。是否正常。

启动客户端apache 定义一个index.html 即可测试

本文不写测试过程。

就是停WEB1 再停WEB2 再停masterbackup是否接管

 

七、错误

之前是在真实机上搞、一步没有出错。今天在Xenserver上需要注意一定要切到Xen内核启动。

 

由于配置客户端apache时。习惯性指定了listen IP80 这是个错误。

原因:客户端绑定VIP后。监听127.0.0.1 80 用这个与LVS端进行通讯。

如果指定IP需要加上127 要不然就会出现拒绝请求的错误。

 


本文转自守住每一天51CTO博客,原文链接:http://blog.51cto.com/liuyu/291947,如需转载请自行联系原作者


相关文章
|
6月前
|
运维 算法 Linux
LVS详解(四)——LVS安装与配置命令
LVS详解(四)——LVS安装与配置命令
130 2
|
2月前
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
73 8
LVS+Keepalived 负载均衡
|
2月前
|
SQL 数据挖掘 数据库
服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例
服务器数据恢复环境: 一台服务器中有一组由4块STAT硬盘通过RAID卡组建的RAID10阵列,上层是XenServer虚拟化平台,虚拟机安装Windows Server操作系统,作为Web服务器使用。 服务器故障: 因机房异常断电导致服务器中一台VPS(Xen Server虚拟机)不可用,虚拟磁盘文件丢失。
服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例
|
2月前
|
域名解析 运维 负载均衡
LVS+Keepalived 负载均衡(二)28-1
【8月更文挑战第28天】LVS+Keepalived 负载均衡 配置 LVS VIP
63 5
|
3月前
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
|
3月前
|
安全
【Azure 云服务】Azure Cloud Service 关于虚拟机资源,杀毒软件配置,补丁机制的问答
【Azure 云服务】Azure Cloud Service 关于虚拟机资源,杀毒软件配置,补丁机制的问答
|
3月前
|
存储 网络协议 搜索推荐
在Linux中,如何配置和管理虚拟机的网络和存储?
在Linux中,如何配置和管理虚拟机的网络和存储?
|
4月前
|
网络协议 应用服务中间件 Linux
LVS介绍与配置
LVS介绍与配置
199 8
|
4月前
|
SQL 存储 数据库
虚拟化数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
虚拟化数据恢复环境: 某品牌R720服务器,4块STAT硬盘通过H710P阵列卡组建了一组raid10磁盘阵列。服务器上部署XenServer虚拟化平台,虚拟机安装Windows Server系统,作为Web服务器使用,运行SQL Server数据库。共有2个虚拟磁盘:数据盘+系统盘。 虚拟化故障: 机房断电导致XenServer虚拟化平台中一台VPS不可用,XenServer虚拟机磁盘文件丢失。
虚拟化数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
|
3月前
|
网络协议 Linux 网络安全
Hyper-v 如何配置 Centos7 虚拟机网络?
Hyper-v 如何配置 Centos7 虚拟机网络?
139 0