
實(shí)驗環(huán)境:
1.Win10下的VMware 的虛擬機(jī)
2.網(wǎng)絡(luò)鏈接模式:橋接
3.系統(tǒng):centos7最小化安裝
4.nginx服務(wù)也是設(shè)置在lvs上
基礎(chǔ)準(zhǔn)備工作:
1) 綁定靜態(tài)IP地址/設(shè)定主機(jī)名 重啟服務(wù)后ping下百度以及下面看是否通了
192.168.1.232 lvs-master
192.168.1.231 lvs-slave
2) IP地址與主機(jī)名的綁定 /etc/hosts
3) 關(guān)閉防火墻 service iptables stop(有就關(guān))
配置兩臺Web服務(wù)器
- 安裝nginx
快速安裝方式:登陸官網(wǎng)<u>http://nginx.org/en/linux_packages.html#stable</u>

Vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
保存后 yum install nginx 即可。
啟動服務(wù):nginx -c 到配置文件 這里 nginx –c /etc/nginx/nginx.conf
即可看到:為了區(qū)別兩臺nginx 可在html下的index 進(jìn)行修改

設(shè)置VIP
1、 分別在backup lvs和master lvs上安裝lvs
2、
安裝方式1:直接yum install ipvsadm
安裝方式 2:源碼包安裝
安裝依賴:yum groupinstall 'Development tools' -y
yum install libnl* popt* -y
解壓tar包
Make make install 就好了
3.安裝好ipvsadm后
①進(jìn)入指定文件夾:cd /etc/init.d/
②編輯腳本文件:vim realserver.sh
SNS_VIP=192.168.1.230
/etc/rc.d/init.d/functions
case "$1" in
start)
ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
/sbin/route add -host $SNS_VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $SNS_VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
這里我們設(shè)置vip為1.230
chmod 755 realserver 修改權(quán)限后 我們執(zhí)行改腳本即可。
/這個腳本之前需要 安裝下ifconfig 不然無法使用 yum install net-tools 最小化安裝無ifconfig。
配置主負(fù)載服務(wù)器
(1) 安裝Keepalived相關(guān)包:yum install -y keepalived 源碼包安裝同上
(2) 編輯keepalived.conf配置文件
①進(jìn)入keepalived.conf所在目錄:cd /etc/keepalived
global_defs {
notification_email {
edisonchou@hotmail.com
}
notification_email_from sns-lvs@gmail.com
smtp_server 192.168.80.1
smtp_connection_timeout 30
router_id LVS_DEVEL # 設(shè)置lvs的id,在一個網(wǎng)絡(luò)內(nèi)應(yīng)該是唯一的
}
vrrp_instance VI_1 {
state MASTER #指定Keepalived的角色,MASTER為主,BACKUP為備
interface eno16777736 #這個是出口網(wǎng)卡與外網(wǎng)相連的網(wǎng)卡一致。
virtual_router_id 51 #虛擬路由編號,主備要一致
priority 100 #定義優(yōu)先級,數(shù)字越大,優(yōu)先級越高,主DR必須大于備用DR
advert_int 1 #檢查間隔,默認(rèn)為1s
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.230 #定義虛擬IP(VIP)為192.168.2.33,可多設(shè),每行一個
}
}
# 定義對外提供服務(wù)的LVS的VIP以及port
virtual_server 192.168.1.230 80 {
delay_loop 6 # 設(shè)置健康檢查時間,單位是秒
lb_algo wrr # 設(shè)置負(fù)載調(diào)度
lb_kind DR # 設(shè)置LVS實(shí)現(xiàn)負(fù)載的機(jī)制,有NAT、TUN、DR三個模式
nat_mask 255.255.255.0
persistence_timeout 0
protocol TCP
real_server 192.168.1.232 80 { # 指定real server1的IP地址
weight 3 # 配置節(jié)點(diǎn)權(quán)值,數(shù)字越大權(quán)重越高
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.1.231 80 { # 指定real server2的IP地址
weight 3 # 配置節(jié)點(diǎn)權(quán)值,數(shù)字越大權(quán)重越高
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
啟動keepalived:service keepalived start
配置完成后:ip a 虛擬ip必須在你對外網(wǎng)卡上才算成功。

配置從負(fù)載服務(wù)器:
從負(fù)載服務(wù)器與主負(fù)載服務(wù)器大致相同,只是在keepalived的配置文件中需要改以下兩處:
(1)將state由MASTER改為BACKUP
(2)將priority由100改為99
查看進(jìn)程是否完全啟動:

即可得到:

