條件:五臺虛擬機:html
(主)負載調度器:vim
建立映射端口(VIP)服務器
優化環境:(/etc/sysctl.conf)ide
net.ipv4.conf.all.send_redirects = 0oop
net.ipv4.conf.default.send_redirects = 0測試
net.ipv4.conf.eth0.send_redirects = 0優化
sysctl -pspa
加載ip_vs模塊3d
modprobe ip_vsrouter
查看ipvs
cat /proc/net/ip_vs
安裝IPVS
yum install -y ipvsadm
查看版本:
ipvsadm -v
設置負載調度器設置模式
ipvsadm -A -t 192.168.115.100:80 -s rr
ipvsadm -a -t 192.168.115.100:80 -r 192.168.115.173:80 -g(173和176分別指向兩個RS)
ipvsadm -a -t 192.168.115.100:80 -r 192.168.115.176:80 -g
查看:
ipvsadm -Ln
安裝keepalived
yum install -y gcc* kernel-devel openssl-devel popt-devel ipvsadm
tar -xvf keepalived-1.2.7.tar.gz
./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-131.0.15.el6.i686
make && make install
chkconfig --add keepalived
chkconfig keepalived on
配置keepalived文件:
啓動服務:
service keepalived start
chkconfig keepalived on
共享資源服務器:
搭建NFS給RS掛在使用
RS1:
安裝Apache服務
配置本地迴環端口映射:
設置一條路由:
route add -host 192.168.115.100 dev lo:0
優化環境:
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
RS2:
安裝Apache服務,將內容從NFS服務器上面掛在過來:
mount -t nfs 192.168.115.177:/share /var/www/html
設置映射網卡:
優化環境:
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
設置路由:
設置一條路由:
route add -host 192.168.115.100 dev lo:0
測試機訪問:
每刷新一次,內容一次輪詢:
下面搭建基於keepalived的LVS-DR
增長一個虛擬機做爲從負載調度器:
加載ip_vs模塊
modprobe ip_vs
查看ipvs
cat /proc/net/ip_vs
安裝IPVS
yum install -y ipvsadm
查看版本:
ipvsadm -v
設置負載調度器設置模式
ipvsadm -A -t 192.168.115.100:80 -s rr
ipvsadm -a -t 192.168.115.100:80 -r 192.168.115.173:80 -g(173和176分別指向兩個RS)
ipvsadm -a -t 192.168.115.100:80 -r 192.168.115.176:80 -g
查看:
ipvsadm -Ln
優化環境:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
安裝keepalived
yum install -y gcc* kernel-devel openssl-devel popt-devel ipvsadm
tar -xvf keepalived-1.2.7.tar.gz
./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-131.0.15.el6.i686
make && make install
chkconfig --add keepalived
chkconfig keepalived on
service keepalived start
chkconfig keepalived on
測試機測試:
從服務器成功接替工做:實驗成功:
配置文件模板:
! Configuration File for keepalived
global_defs {
router_id LVS_R1
}
vrrp_instance VI_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.115.100
}
}
virtual_server 192.168.115.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.115.173 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.115.176 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
在作從負載調度器的時候,由於有兩個網卡公用一個地址,這樣啓動網卡的時候會報錯
解決辦法:
vim /etc/sysconfig/network-scripts/ifup-eth
將圖示內容註釋便可
而後再重啓網卡