【小编】在上一篇博客中给大家详细介绍了LVS的几种模型和常见的10种调度算法,并结合小的案例说明了LVS-NAT模型的工作原理,今天小编结合一个大的案例来详细说明LVS的另一种模型DR模型的工作过程,简单了解一下群集的两种架构HA和LB在企业网中的使用.

【实验详细拓扑规划】

LVS+Heartbeat+Ldirector+NAS_NAS

【详细配置过程】

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

②让系统配置立刻生效

LVS+Heartbeat+Ldirector+NAS_Heartbeat_02

③网卡参数配置,添加lo:0网卡

LVS+Heartbeat+Ldirector+NAS_NAS_03

LVS+Heartbeat+Ldirector+NAS_Ldirector_04

LVS+Heartbeat+Ldirector+NAS_Ldirector_05

LVS+Heartbeat+Ldirector+NAS_NAS_06

④配置Web服务器,添加基于主机头的虚拟主机.

vim  /etc/httpd/httpd.conf

LVS+Heartbeat+Ldirector+NAS_LVS_07

【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

②让系统配置立刻生效

LVS+Heartbeat+Ldirector+NAS_Ldirector_08

③网卡参数配置,添加lo:0网卡

LVS+Heartbeat+Ldirector+NAS_LVS_09

LVS+Heartbeat+Ldirector+NAS_NAS_10

LVS+Heartbeat+Ldirector+NAS_LVS_11

LVS+Heartbeat+Ldirector+NAS_NAS_12

④配置Web服务器,添加基于主机头的虚拟主机.

vim  /etc/httpd/httpd.conf

LVS+Heartbeat+Ldirector+NAS_LVS_13

DNS服务器LB群集:DNS1、DNS2

【DNS1的相关配置】

①配置本地yum源.

LVS+Heartbeat+Ldirector+NAS_Ldirector_14

②本地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

LVS+Heartbeat+Ldirector+NAS_LVS_15

vim  named.rfc1912.zones

LVS+Heartbeat+Ldirector+NAS_NAS_16

cd /var/named/chroot/var/named/

cp  -p  localhost.zone  wpp.com.zone

vim  wpp.com.zone

LVS+Heartbeat+Ldirector+NAS_LVS_17

③DNS本地解析测试

LVS+Heartbeat+Ldirector+NAS_NAS_18

④设置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

⑤让系统配置立刻生效

LVS+Heartbeat+Ldirector+NAS_NAS_19

⑥网卡参数配置,添加lo:0网卡

LVS+Heartbeat+Ldirector+NAS_LVS_20

LVS+Heartbeat+Ldirector+NAS_NAS_21

LVS+Heartbeat+Ldirector+NAS_Ldirector_22

【DNS2的相关配置】

①配置本地yum源.

LVS+Heartbeat+Ldirector+NAS_NAS_23

②本地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

LVS+Heartbeat+Ldirector+NAS_NAS_24

vim  named.rfc1912.zones

LVS+Heartbeat+Ldirector+NAS_Ldirector_25

cd /var/named/chroot/var/named/

cp  -p  localhost.zone  wpp.com.zone

vim  wpp.com.zone

LVS+Heartbeat+Ldirector+NAS_NAS_26

③DNS本地解析测试

LVS+Heartbeat+Ldirector+NAS_LVS_27

④设置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

⑤让系统配置立刻生效

LVS+Heartbeat+Ldirector+NAS_NAS_28

⑥网卡参数配置,添加lo:0网卡

LVS+Heartbeat+Ldirector+NAS_LVS_29

LVS+Heartbeat+Ldirector+NAS_LVS_30

LVS+Heartbeat+Ldirector+NAS_Heartbeat_31

Director的HA群集:、

【的相关配置】

①网络参数配置

LVS+Heartbeat+Ldirector+NAS_Heartbeat_32

LVS+Heartbeat+Ldirector+NAS_Ldirector_33

LVS+Heartbeat+Ldirector+NAS_LVS_34

②配置本地yum源.

LVS+Heartbeat+Ldirector+NAS_LVS_35

③下载并导入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节点的主机名

LVS+Heartbeat+Ldirector+NAS_Ldirector_36

LVS+Heartbeat+Ldirector+NAS_NAS_37

LVS+Heartbeat+Ldirector+NAS_NAS_38

⑥编辑Heartbeat的主配置文件

vim  /etc/ha.d/

LVS+Heartbeat+Ldirector+NAS_NAS_39

LVS+Heartbeat+Ldirector+NAS_LVS_40

LVS+Heartbeat+Ldirector+NAS_Ldirector_41

⑦编辑Heartbeat的认证文件

vim  /etc/ha.d/authkeys

LVS+Heartbeat+Ldirector+NAS_NAS_42

⑧编辑Heartbeat的资源管理文件

vim  /etc/ha.d/haresources

LVS+Heartbeat+Ldirector+NAS_LVS_43

⑨拷贝ldirectord服务的配置文件到Heartbeat的主配置目录

cd  /usr/share/doc/heartbeat-ldirectord-2.1.4/

cp    /etc/ha.d

vim  /etc/ha.d/

LVS+Heartbeat+Ldirector+NAS_LVS_44

LVS+Heartbeat+Ldirector+NAS_Heartbeat_45

LVS+Heartbeat+Ldirector+NAS_LVS_46

⑩将LVS服务的启动脚本拷贝到Heartbeat的资源管理目录下

cp  /etc/init.d/ipvsadm   /etc/ha.d/resource.d/

service ipvsadm stop

chkconfig ipvsadm off

【的相关配置】

①网络参数配置

LVS+Heartbeat+Ldirector+NAS_NAS_47

LVS+Heartbeat+Ldirector+NAS_Ldirector_48

LVS+Heartbeat+Ldirector+NAS_Ldirector_49

②配置本地yum源.

LVS+Heartbeat+Ldirector+NAS_NAS_50

③下载并导入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节点的主机名

LVS+Heartbeat+Ldirector+NAS_Ldirector_51

LVS+Heartbeat+Ldirector+NAS_NAS_52

LVS+Heartbeat+Ldirector+NAS_NAS_53

⑥编辑Heartbeat的主配置文件

vim  /etc/ha.d/

LVS+Heartbeat+Ldirector+NAS_LVS_54

LVS+Heartbeat+Ldirector+NAS_NAS_55

LVS+Heartbeat+Ldirector+NAS_NAS_56

⑦编辑Heartbeat的认证文件

vim  /etc/ha.d/authkeys

LVS+Heartbeat+Ldirector+NAS_Heartbeat_57

⑧编辑Heartbeat的资源管理文件

vim  /etc/ha.d/haresources

LVS+Heartbeat+Ldirector+NAS_NAS_58

⑨拷贝ldirectord服务的配置文件到Heartbeat的主配置目录

cd  /usr/share/doc/heartbeat-ldirectord-2.1.4/

cp    /etc/ha.d

vim  /etc/ha.d/

LVS+Heartbeat+Ldirector+NAS_Ldirector_59

LVS+Heartbeat+Ldirector+NAS_Ldirector_60

LVS+Heartbeat+Ldirector+NAS_LVS_61

⑩将LVS服务的启动脚本拷贝到Heartbeat的资源管理目录下

cp  /etc/init.d/ipvsadm   /etc/ha.d/resource.d/

service ipvsadm stop

chkconfig ipvsadm off

NAS-->数据存储服务器--->NFS搭建

①网络参数

LVS+Heartbeat+Ldirector+NAS_Ldirector_62

②NFS的基本配置

vim  /etc/exports

LVS+Heartbeat+Ldirector+NAS_Ldirector_63

service  nfs  start

chkconfig  nfs  on

③官方下载wordpress论坛的中文源码包,解压到共享目录/webroot下.

cd  /webroot

chmod  -R  nfsnobody.nfsnobody    /webroot/wordpress

LVS+Heartbeat+Ldirector+NAS_NAS_64

④配置本地yum源.

LVS+Heartbeat+Ldirector+NAS_Ldirector_65

⑤本地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 root@192.168.1.1 IDENTIFIED BY '123456' WITH GRANT OPTION;

msql>GRANT ALL PRIVILEGES ON *.* TO root@192.168.1.2 IDENTIFIED BY '123456' WITH GRANT OPTION;

mysql>GRANT ALL PRIVILEGES ON *.* TO root@192.168.1.3 IDENTIFIED BY '123456' WITH GRANT OPTION;

mysql>flush privileges;

⑥在Web服务器的两个节点上分别挂载NFS的共享目录

【RealNode1】

LVS+Heartbeat+Ldirector+NAS_Ldirector_66

【RealNode2】

LVS+Heartbeat+Ldirector+NAS_NAS_67

⑦在Web服务器上,切换到挂载目录,添加测试页面.

cd  /usr/local/apache/htdocs

vim  index.html

LVS+Heartbeat+Ldirector+NAS_NAS_68

【测试分析】

服务器的高可用和负载均衡测试

Director的两个节点上启动Heartbeat服务,查看Real服务器状态

Director1日志监控

LVS+Heartbeat+Ldirector+NAS_Heartbeat_69

Director2日志监控

LVS+Heartbeat+Ldirector+NAS_Ldirector_70

查看主节点的网络参数

LVS+Heartbeat+Ldirector+NAS_Heartbeat_71

watch监控Real服务器状态

LVS+Heartbeat+Ldirector+NAS_NAS_72

Web的负载均衡测试(以Vip的方式访问)

测试一:服务都在线时,访问主站点,并刷新页面,日志监控轮训情况

LVS+Heartbeat+Ldirector+NAS_Ldirector_73

LVS+Heartbeat+Ldirector+NAS_Heartbeat_74

测试二:Nide1宕掉时,访问主站点,测试监控机制和测试Node2的可用性

LVS+Heartbeat+Ldirector+NAS_Heartbeat_75

LVS+Heartbeat+Ldirector+NAS_LVS_76

LVS+Heartbeat+Ldirector+NAS_NAS_77

DNS的负载均衡测试(以域名的方式访问)

测试一:以域名的方式访问主站点,日志监控DNS的解析情况.

LVS+Heartbeat+Ldirector+NAS_Heartbeat_78

LVS+Heartbeat+Ldirector+NAS_LVS_79

测试二:停掉一个DNS服务器,以域名的方式访问主站点,测试DNS的LB.

LVS+Heartbeat+Ldirector+NAS_LVS_80

3.1.3 Director的高可用性测试(主备切换测试)

将Director节点node1停掉后,测试Drirector的高可用性

①查看服务器的地址

LVS+Heartbeat+Ldirector+NAS_Ldirector_81

②查看服务器所监控的资源

LVS+Heartbeat+Ldirector+NAS_Heartbeat_82

Web方式进行BBS论坛的搭建和配置

LVS+Heartbeat+Ldirector+NAS_Heartbeat_83

LVS+Heartbeat+Ldirector+NAS_LVS_84

LVS+Heartbeat+Ldirector+NAS_LVS_85

LVS+Heartbeat+Ldirector+NAS_Heartbeat_86

LVS+Heartbeat+Ldirector+NAS_NAS_87

LVS+Heartbeat+Ldirector+NAS_Ldirector_88

LVS+Heartbeat+Ldirector+NAS_NAS_89

LVS+Heartbeat+Ldirector+NAS_Heartbeat_90

LVS+Heartbeat+Ldirector+NAS_LVS_91

用户以域名方式访问WWW服务器的主站点和BBS论坛测试

DNS指向:192.168.10.5

LVS+Heartbeat+Ldirector+NAS_Ldirector_92

LVS+Heartbeat+Ldirector+NAS_Heartbeat_93

【总结】通过这个案例我们可以简单地了解一下LVS-DR模型的工作原理上与NAT模型的区别,应用LVS集合Ldirector+Heartbeat实现了基于Director的HA群集,并且实现了对于Real服务器的动态监测,后方的NFS做了简单地NAS存储,实现了Web服务器的数据存储和应用的分离,并且实现了Web和DNS的负载均衡群集.