1. LVS單網(wǎng)卡配置
注:實(shí)際應(yīng)用中LVS使用雙網(wǎng)卡,這里僅做演示用。架構(gòu)圖如下:
1.1 機(jī)器信息
LVS
- LVS:eth0 10.10.1.100(VIP)
Real Server
- RS1:eth0 10.10.1.1
- RS2:eth0 10.10.1.2
VIP和RS1、RS2的IP在一個(gè)子網(wǎng)中。
1.2 LVS配置
安裝ipvsadm
LVS依賴ipvsadm進(jìn)行配置,所以要安裝ipvsadm
yum install -y ipvsadm
啟用IP轉(zhuǎn)發(fā)功能(虛擬路由器)
讓Linux系統(tǒng)具有路由轉(zhuǎn)發(fā)功能,即當(dāng)主機(jī)擁有多塊網(wǎng)卡時(shí),其中一塊收到數(shù)據(jù)包,根據(jù)數(shù)據(jù)包的目的IP地址將數(shù)據(jù)包發(fā)往本機(jī)另一塊網(wǎng)卡。
修改/etc/sysctl.conf ,將net.ipv4.ip_forward修改為1,再執(zhí)行命令sysctl -p,使參數(shù)生效。
清除之前的iptables規(guī)則
iptables -t nat -F
LVS NAT模式配置
#添加一個(gè)虛擬服務(wù) 10.10.1.100:9000,使用加權(quán)輪詢算法
ipvsadm -A -t 10.10.1.100:9000 -s wrr
#添加真實(shí)服務(wù)器,使用NAT模式,權(quán)重1
ipvsadm -a -t 10.10.1.100:9000 -r 10.10.1.1:8000 -m -w 1
ipvsadm -a -t 10.10.1.100:9000 -r 10.10.1.2:8000 -m -w 1
#查看轉(zhuǎn)發(fā)規(guī)則
ipvsadm -Ln
1.3 Real Server配置
修改默認(rèn)網(wǎng)關(guān)
route add default gw 10.10.1.100
默認(rèn)網(wǎng)關(guān)指向LVS的VIP。
用 route del default gw IP 命令刪除原來的默認(rèn)網(wǎng)關(guān)。
關(guān)閉TCP checksum
ethtool -K eth0 tx off
注:驗(yàn)證時(shí),虛擬機(jī)執(zhí)行上述命令后tx和rx全部為off,目前不清楚是哪個(gè)關(guān)閉有效。
測試驗(yàn)證
RS上監(jiān)聽8000端口
nc -lk 8000
客戶端訪問
在客戶端訪問LVS的VIP
telnet 10.10.1.100 9000
連接成功后,就可以相互發(fā)送數(shù)據(jù)了。
1.4 LVS配置恢復(fù)
#刪除真實(shí)服務(wù)器
ipvsadm -d -t 10.10.1.100:9000 -r 10.10.1.1:8000
ipvsadm -d -t 10.10.1.100:9000 -r 10.10.1.2:8000
#刪除虛擬服務(wù)
ipvsadm -D -t 10.10.1.100:9000
1.5 Real Server配置恢復(fù)
恢復(fù)默認(rèn)網(wǎng)關(guān)
使用route add命令將原默認(rèn)網(wǎng)關(guān)加上,再刪除指向LVS VIP的默認(rèn)網(wǎng)關(guān)。
route del default gw 10.10.1.100
開啟TCP checksum
ethtool -K eth0 tx on
2. LVS雙網(wǎng)卡配置
架構(gòu)圖如下:
2.1 機(jī)器信息
LVS
- LVS:eth0 219.xx.xx.100(VIP),eth1 10.10.1.100(DIP)
Real Server
- RS1:eth0 10.10.1.1
- RS2:eth0 10.10.1.2
DIP和RS1、RS2的IP在一個(gè)子網(wǎng)中。
2.2 LVS配置
安裝ipvsadm
yum install -y ipvsadm
啟用IP轉(zhuǎn)發(fā)功能(虛擬路由器)
修改/etc/sysctl.conf ,將net.ipv4.ip_forward修改為1,再執(zhí)行命令sysctl -p,使參數(shù)生效。
清除之前的iptables規(guī)則
iptables -t nat -F
LVS NAT模式配置
#添加一個(gè)虛擬服務(wù)219.xx.xx.100:9000,使用加權(quán)輪詢算法
ipvsadm -A -t 219.xx.xx.100:9000 -s wrr
#添加真實(shí)服務(wù)器,使用NAT模式,權(quán)重1
ipvsadm -a -t 219.xx.xx.100:9000 -r 10.10.1.1:8000 -m -w 1
ipvsadm -a -t 219.xx.xx.100:9000 -r 10.10.1.2:8000 -m -w 1
#查看轉(zhuǎn)發(fā)規(guī)則
ipvsadm -Ln
2.3 Real Server配置
修改默認(rèn)網(wǎng)關(guān)
route add default gw 10.10.1.100
默認(rèn)網(wǎng)關(guān)指向LVS的DIP,不是LVS提供服務(wù)的VIP。
用 route del default gw IP 命令刪除原來的默認(rèn)網(wǎng)關(guān)。
關(guān)閉TCP checksum
ethtool -K eth0 tx off
注:驗(yàn)證時(shí),虛擬機(jī)執(zhí)行上述命令后tx和rx全部為off,目前不清楚是哪個(gè)關(guān)閉有效
測試驗(yàn)證
RS上監(jiān)聽8000端口
nc -lk 8000
客戶端訪問
在客戶端訪問LVS的VIP
telnet 219.xx.xx.100 9000
連接成功后,就可以相互發(fā)送數(shù)據(jù)了。
2.4 LVS及Real Server恢復(fù)
參考單網(wǎng)卡的操作。