【小编】在上一篇博客中给大家详细介绍了LVS的几种模型和常见的10种调度算法,并结合小的案例说明了LVS-NAT模型的工作原理,今天小编结合一个大的案例来详细说明LVS的另一种模型DR模型的工作过程,简单了解一下群集的两种架构HA和LB在企业网中的使用.
【实验详细拓扑规划】
【详细配置过程】
Web服务器的LB群集:RealNode1、RealNode2
【RealNode1的相关配置】
①设置Web服务器网卡的ARP忽略和ARP宣告的默认值
echo “net.ipv4.conf.eth1.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.eth1.arp-announce = 2”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-announce = 2”>> /etc/sysctl.conf
②让系统配置立刻生效
③网卡参数配置,添加lo:0网卡
④配置Web服务器,添加基于主机头的虚拟主机.
vim /etc/httpd/httpd.conf
【RealNode2的相关配置】
①设置Web服务器网卡的ARP忽略和ARP宣告的默认值
echo “net.ipv4.conf.eth1.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.eth1.arp-announce = 2”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-announce = 2”>> /etc/sysctl.conf
②让系统配置立刻生效
③网卡参数配置,添加lo:0网卡
④配置Web服务器,添加基于主机头的虚拟主机.
vim /etc/httpd/httpd.conf
DNS服务器LB群集:DNS1、DNS2
【DNS1的相关配置】
①配置本地yum源.
②本地yum安装DNS服务器需要的软件包.
yum install bind bind-chroot caching-nameserver
进行DNS相关配置
cd /var/named/chroot/etc/
cp -p named.caching-nameserver.conf named.conf
vim named.conf
vim named.rfc1912.zones
cd /var/named/chroot/var/named/
cp -p localhost.zone wpp.com.zone
vim wpp.com.zone
③DNS本地解析测试
④设置Web服务器网卡的ARP忽略和ARP宣告的默认值
echo “net.ipv4.conf.eth1.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.eth1.arp-announce = 2”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-announce = 2”>> /etc/sysctl.conf
⑤让系统配置立刻生效
⑥网卡参数配置,添加lo:0网卡
【DNS2的相关配置】
①配置本地yum源.
②本地yum安装DNS服务器需要的软件包.
yum install bind bind-chroot caching-nameserver
进行DNS相关配置
cd /var/named/chroot/etc/
cp -p named.caching-nameserver.conf named.conf
vim named.conf
vim named.rfc1912.zones
cd /var/named/chroot/var/named/
cp -p localhost.zone wpp.com.zone
vim wpp.com.zone
③DNS本地解析测试
④设置Web服务器网卡的ARP忽略和ARP宣告的默认值
echo “net.ipv4.conf.eth1.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.eth1.arp-announce = 2”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-ignore = 1”>> /etc/sysctl.conf
echo “net.ipv4.conf.all.arp-announce = 2”>> /etc/sysctl.conf
⑤让系统配置立刻生效
⑥网卡参数配置,添加lo:0网卡
Director的HA群集:node1.a.com、node2.a.com
【node1.a.com的相关配置】
①网络参数配置
②配置本地yum源.
③下载并导入Heartbeat所需要的RPM软件包
④挂载光盘,并且利用本地yum源安装Heartbeat解决依赖关系.
mount /dev/cdrom /mnt/cdrom
yum localinstall -y heartbeat-2.1.4-11.el5.i386.rpm
heartbeat-pils-2.1.4-11.el5.i386.rpm heartbeat-stonith-2.1.4-11.el5.i386.rpm
libnet-1.1.5-1.el4.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
heartbeat-ldirectord-2.1.4-11.el5.i386.rpm--nogpgcheck
⑤编辑修改Director1节点的主机名
⑥编辑Heartbeat的主配置文件
vim /etc/ha.d/ha.cf
⑦编辑Heartbeat的认证文件
vim /etc/ha.d/authkeys
⑧编辑Heartbeat的资源管理文件
vim /etc/ha.d/haresources
⑨拷贝ldirectord服务的配置文件到Heartbeat的主配置目录
cd /usr/share/doc/heartbeat-ldirectord-2.1.4/
cp ldirectord.cf /etc/ha.d
vim /etc/ha.d/ldirectord.cf
⑩将LVS服务的启动脚本拷贝到Heartbeat的资源管理目录下
cp /etc/init.d/ipvsadm /etc/ha.d/resource.d/
service ipvsadm stop
chkconfig ipvsadm off
【node2.a.com的相关配置】
①网络参数配置
②配置本地yum源.
③下载并导入Heartbeat所需要的RPM软件包
④挂载光盘,并且利用本地yum源安装Heartbeat解决依赖关系.
mount /dev/cdrom /mnt/cdrom
yum localinstall -y heartbeat-2.1.4-11.el5.i386.rpm
heartbeat-pils-2.1.4-11.el5.i386.rpm heartbeat-stonith-2.1.4-11.el5.i386.rpm
libnet-1.1.5-1.el4.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
heartbeat-ldirectord-2.1.4-11.el5.i386.rpm--nogpgcheck
⑤编辑修改Director1节点的主机名
⑥编辑Heartbeat的主配置文件
vim /etc/ha.d/ha.cf
⑦编辑Heartbeat的认证文件
vim /etc/ha.d/authkeys
⑧编辑Heartbeat的资源管理文件
vim /etc/ha.d/haresources
⑨拷贝ldirectord服务的配置文件到Heartbeat的主配置目录
cd /usr/share/doc/heartbeat-ldirectord-2.1.4/
cp ldirectord.cf /etc/ha.d
vim /etc/ha.d/ldirectord.cf
⑩将LVS服务的启动脚本拷贝到Heartbeat的资源管理目录下
cp /etc/init.d/ipvsadm /etc/ha.d/resource.d/
service ipvsadm stop
chkconfig ipvsadm off
NAS-->数据存储服务器--->NFS搭建
①网络参数
②NFS的基本配置
vim /etc/exports
service nfs start
chkconfig nfs on
③官方下载wordpress论坛的中文源码包,解压到共享目录/webroot下.
cd /webroot
chmod -R nfsnobody.nfsnobody /webroot/wordpress
④配置本地yum源.
⑤本地yum安装Mysql-server服务器需要的软件包.
yum install mysql-server
配置本地root用户的登录Mysql数据库的管理密码.
mysqladmin -u root -p password “123456”
启动Mysql服务
service mysqld start
chkconfig mysqld on
以root的身份登录数据库,授权Web服务器的节点用户以Mysql主机地址的方式连接该数据库.
mysql -u root -p
mysq>GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY '123456' WITH GRANT OPTION;
msql>GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql>flush privileges;
⑥在Web服务器的两个节点上分别挂载NFS的共享目录
【RealNode1】
【RealNode2】
⑦在Web服务器上,切换到挂载目录,添加测试页面.
cd /usr/local/apache/htdocs
vim index.html
【测试分析】
Director的两个节点上启动Heartbeat服务,查看Real服务器状态
Director1日志监控
Director2日志监控
查看主节点的网络参数
watch监控Real服务器状态
Web的负载均衡测试(以Vip的方式访问)
测试一:服务都在线时,访问主站点,并刷新页面,日志监控轮训情况
测试二:Nide1宕掉时,访问主站点,测试监控机制和测试Node2的可用性
DNS的负载均衡测试(以域名的方式访问)
测试一:以域名的方式访问主站点,日志监控DNS的解析情况.
测试二:停掉一个DNS服务器,以域名的方式访问主站点,测试DNS的LB.
3.1.3 Director的高可用性测试(主备切换测试)
将Director节点node1停掉后,测试Drirector的高可用性
①查看服务器的地址
②查看服务器所监控的资源
Web方式进行BBS论坛的搭建和配置
用户以域名方式访问WWW服务器的主站点和BBS论坛测试
DNS指向:192.168.10.5
【总结】通过这个案例我们可以简单地了解一下LVS-DR模型的工作原理上与NAT模型的区别,应用LVS集合Ldirector+Heartbeat实现了基于Director的HA群集,并且实现了对于Real服务器的动态监测,后方的NFS做了简单地NAS存储,实现了Web服务器的数据存储和应用的分离,并且实现了Web和DNS的负载均衡群集.