拓撲
1、 基本配置
根據拓撲配置IP
2、 調度器配置
-安裝ipvsadm,並啓用ip_vs模塊
[root@localhost ~]# yum -y install ipvsadm [root@localhost ~]# modprobe ip_vs [root@localhost ~]# echo "modproce ip_vs" >>/etc/rc.local
-修改內核參數
[root@localhost ~]# sysctl –p net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.eth0.send_redirects = 0
-安裝keepalived,並修改配置文件
--安裝
[root@localhost~]# cd /usr/src/ [root@localhost src]# tar zxfkeepalived-1.2.13.tar.gz [root@localhost src]# cd keepalived-1.2.13 [root@localhost keepalived-1.2.13]#./configure --prefix=/--with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/ && make&& make install
--修改配置文件-全局配置
global_defs { notification_email { [email protected] [email protected] [email protected] } notification_email_from [email protected] smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL_1 #調度器名稱 }
--修改配置文件-熱備配置
vrrp_instance VI_1 { #熱備組1 state MASTER #熱備狀態 interface eth0 virtual_router_id 51 priority 100 #優先級 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.11 #羣集VIP地址 } } vrrp_instance VI_2 { #熱備組2 state BACKUP interface eth0 virtual_router_id 52 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.22 } }
--修改配置文件-web服務器配置
irtual_server 192.168.1.11 80 { #虛擬服務器地址(VIP),端口’ delay_loop 6 #健康檢查時間間隔(s) lb_algo rr #調度算法-輪詢 lb_kind DR #集羣工作模式 ! persistence_timeout 50 #連接保持時間(s),去掉!啓用 protocol TCP #應用服務採用的是TCP協議 real_server 192.168.1.2 80 { #第一個web節點的地址,端口 weight 1 #節點的權重 TCP_CHECK { #健康檢查方式 connect_timeout 3 #連接超時 nb_get_retry 3 #重試次數 delay_before_retry 3 #重試間隔 } } real_server 192.168.1.3 80 { #第二個web節點的地址,端口 weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } } virtual_server 192.168.1.22 80 { delay_loop 6 lb_algo rr lb_kind DR ! persistence_timeout 50 protocol TCP real_server 192.168.1.2 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } real_server 192.168.1.3 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
--重啓服務
service keepalived restart
--同理配置另一調度器
3、 節點服務器配置
-修改內核參數
[root@localhost network-scripts]# sysctl–p net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 net.ipv4.conf.default.arp_ignore = 1 net.ipv4.conf.lo.arp_ignore = 1 net.ipv4.conf.default.arp_announce = 2 net.ipv4.conf.lo.arp_announce = 2
-配置lo:0,lo:1虛接口
[root@localhost ~]# cat/etc/sysconfig/network-scripts/ifcfg-lo:0 DEVICE=lo:0 ONBOOT=yes IPADDR=192.168.1.11 NETMASK=255.255.255.255 [root@localhost ~]# cat/etc/sysconfig/network-scripts/ifcfg-lo:1 DEVICE=lo:1 ONBOOT=yes IPADDR=192.168.1.22 NETMASK=255.255.255.255
-添加本地路由
[root@localhost ~]# route add -host192.168.1.11 dev lo:0 [root@localhost ~]# route add -host192.168.1.22 dev lo:1 [root@localhost ~]# echo "route add-host 192.168.1.11 dev lo:0" >> /etc/rc.local [root@localhost ~]# echo "route add-host 192.168.1.22 dev lo:1" >> /etc/rc.local
-啓動web服務
4、 NFS配置
[root@localhost ~]# cat /etc/exports /var/www/html 192.168.2.0/24(rw,sync,no_root_squash) [root@localhost ~]# service rpcbindrestart 停止 rpcbind: [確定] 正在啓動 rpcbind: [確定] [root@localhost ~]# service nfs restart 關閉 NFS 守護進程: [失敗] 關閉 NFS mountd: [失敗] 關閉 NFS quotas: [失敗] Shutting down RPC idmapd: [失敗] 啓動 NFS 服務: [確定] 關掉 NFS 配額: [確定] 啓動 NFS mountd: [確定] 啓動 NFS 守護進程: [確定] 正在啓動 RPC idmapd: [確定] [root@localhost ~]# showmount -e192.168.2.1 Export list for 192.168.2.1: /var/www/html 192.168.2.0/24 [root@localhost ~]# mount192.168.2.1:/var/www/html/ /var/www/html/
5、 內部服務器發佈—NAT
服務配置防火牆代替路由器測試
Eth0配置兩個ip
[root@localhost network-scripts]# catifcfg-eth0 DEVICE=eth0 HWADDR=00:0C:29:D5:AD:1B TYPE=Ethernet UUID=d3db1bd9-b0f5-4cc2-a5bb-3f0c28430ee0 ONBOOT=yes IPADDR0=200.0.0.11 NETMASK=255.255.255.0 IPADDR1=200.0.0.22 NETMASK=255.255.255.0
--NAT
[root@localhost ~]# iptables -t nat -APREROUTING -i eth0 -d 200.0.0.11 -p tcp --dport 80 -j DNAT --to 192.168.1.11 [root@localhost ~]# iptables -t nat -APREROUTING -i eth0 -d 200.0.0.22 -p tcp --dport 80 -j DNAT --to 192.168.1.22
附:DNS配置
[root@j1 ~]# cat /var/named/abc.com $TTL 1D @ INSOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H) ; minimum in ns dns dns in a 200.0.0.2 www in a 200.0.0.11 in a 200.0.0.22
--啓動nfs前
--啓動nfs後
--調度器1
--調度器2