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,如需转载请自行联系原作者


相关文章
|
7月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
271 11
|
10月前
|
存储 编解码 虚拟化
【2025最新】VMware Workstation Pro 虚拟机配置与安装VMware Tools 感受它的强大~
VMware Tools 是 VMware 虚拟机中自带的一种增强工具,能够显著提升虚拟机的性能和用户体验。它提供了优化的显卡驱动程序、文件共享与拖放功能、时间同步以及跨虚拟机和宿主机的复制粘贴功能。安装 VMware Tools 可以让虚拟机在 VMware 平台上运行得更加高效,并且对于老旧系统(如 Win98、Win2000、WinXP)也能提供必要的驱动支持。每个虚拟机都需要独立安装与其操作系统版本相匹配的 VMware Tools,以确保最佳兼容性和性能表现。
1049 6
【2025最新】VMware Workstation Pro 虚拟机配置与安装VMware Tools 感受它的强大~
|
9月前
|
存储 网络协议 网络安全
Hyper-V Win10虚拟机配置常见问题
在配置Hyper-V Win10虚拟机时,用户常面临网络连接、虚拟交换机配置、资源分配及其他问题。例如,虚拟机无法获取IP地址可能源于DHCP服务异常,需检查并启动该服务;外部虚拟交换机配置错误则需确保物理网络适配器正确连接。此外,内存不足或虚拟硬盘性能瓶颈也会影响运行效果。通过合理调整资源配置、优化设置及遵循最佳实践,可有效解决这些问题。
|
9月前
|
安全 网络协议 网络安全
当虚拟机出现网络连接问题时,应该先检查Hyper-V的网卡连接配置
当虚拟机出现网络连接问题时,应首先检查Hyper-V的网卡配置。具体步骤包括:确认虚拟机运行状态、检查虚拟交换机类型和物理网卡连接、确保虚拟机网络适配器正确连接到虚拟交换机,并验证网络配置(IP地址等)。常见问题如虚拟交换机配置错误、网络适配器未连接或防火墙阻止连接,可通过重新配置或调整设置解决。必要时重启虚拟机和宿主机,查看事件日志或联系技术支持以进一步排查问题。
|
9月前
|
监控 安全 网络协议
Hyper V上网实战:多虚拟机网络环境配置
在Hyper-V环境中配置多虚拟机网络以实现上网功能,需完成以下步骤:1. 确认Hyper-V安装与物理网络连接正常;2. 配置虚拟交换机(外部、内部或专用)以支持不同网络需求;3. 设置虚拟机网络适配器并关联对应虚拟交换机;4. 验证虚拟机网络连接状态;5. 根据场景需求优化多虚拟机网络环境。此外,还需注意网络隔离、性能监控及数据备份等事项,确保网络安全稳定运行。
|
9月前
|
虚拟化 网络虚拟化 Windows
导入虚拟机到Hyper-V环境时,理解并配置网络适配器设置是确保网络通信的关键
在Hyper-V环境中,正确配置虚拟机的网络适配器是确保其网络通信的关键。需先启用Hyper-V功能并创建虚拟交换机。接着,在Hyper-V管理器中选择目标虚拟机,添加或配置网络适配器,选择合适的虚拟交换机(外部、内部或私有),并根据需求配置VLAN、MAC地址等选项。最后,启动虚拟机并验证网络连接,确保其能正常访问外部网络、与主机及其他虚拟机通信。常见问题包括无法访问外部网络或获取IP地址,需检查虚拟交换机和适配器设置。
|
12月前
|
负载均衡 算法 Linux
LVS+Keepalived:实现高效软负载均衡的利器
本文介绍了如何使用LVS(Linux Virtual Server)和Keepalived搭建高可用负载均衡集群。LVS通过不同调度算法将请求转发给后端服务器,而Keepalived基于VRRP协议实现服务高可用,避免IP单点故障。具体步骤包括环境准备、安装配置ipvsadm和Keepalived、启动服务及测试。文中还详细解释了配置文件中的关键参数,并提供了故障转移测试方法。最后,文章简要对比了软件、硬件和云负载均衡方案的特点,帮助读者选择合适的负载均衡策略。
1618 4
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
348 8
LVS+Keepalived 负载均衡
|
SQL 数据挖掘 数据库
服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例
服务器数据恢复环境: 一台服务器中有一组由4块STAT硬盘通过RAID卡组建的RAID10阵列,上层是XenServer虚拟化平台,虚拟机安装Windows Server操作系统,作为Web服务器使用。 服务器故障: 因机房异常断电导致服务器中一台VPS(Xen Server虚拟机)不可用,虚拟磁盘文件丢失。
服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)