文中實驗須要使用如下軟件:html
爲了方便安裝軟件,咱們設置yum源爲公司yum源linux
[root@lvs ~]# vim /etc/yum.repos.d/XXX.repo
[root@lvs ~]# yum makecache
分別爲算法
以上系統均爲CentOS7
,所用虛擬軟件爲Virtual Box
。shell
能夠經過先建立一臺虛機後,逐個複製的方法來快速建立虛機。apache
記得勾選「從新初始化全部網卡的MAC地址(R)」vim
全部虛機均啓用兩個網卡,以下圖所示,鏈接方式
選擇未指定
。服務器
之因此選擇
未指定
方式是爲了後面在GSN中方便連線網絡
爲了方便管理,咱們後面會將eth0
,即第一個網卡用於內部;相對的,eth1
,即第二個網卡用於外部。curl
按照下圖所示的方式鏈接各臺虛機,圖中所示的IP
及網卡鏈接方式
都可先忽略,後面會講述。 url
在GSN中的RS1
圖標上右擊,選擇Configure
而後,在
network
選項卡中,設置Adapters
爲1
其實對於RS1而言,上面的操做不作也能夠...可是當須要啓用外部網卡
eth1
的時候,就須要設置Adapters
爲2了。
網卡1
的鏈接方式
選擇僅主機(Host Only)網絡
。
咱們先來看下網卡信息,輸入ip addr
指令能夠看到
固然,我這裏是已經設置後的情形,設置前稍有不一樣,不過咱們能夠看到網卡1
的名稱應該爲enp0s3
, 因此咱們能夠這樣來修改網卡1
的配置
[root@rs1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE="Ethernet" PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static IPADDR=192.168.30.17 PREFIX=24 GATEWAY=192.168.30.200 DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE=stable-privacy NAME="enp0s3" DEVICE="enp0s3" ONBOOT="yes"
這裏須要注意將其網關設置爲192.168.30.200
,即LVS
的內部地址。
修改後經過service network restart
指令來使新配置生效。
[root@rs1 ~]# service network restart Restarting network (via systemctl): [ 肯定 ]
爲了方便後面訪問lvs時候知道訪問到了哪臺機器,咱們在每臺RS上都安裝apache服務,以開放80端口服務。
# 安裝apache服務 [root@rs1 ~]# yum install -y httpd # 啓動apache服務 [root@rs1 ~]# httpd
修改默認主頁內容爲RS1
[root@localhost rs1]# echo RS1 > /var/www/html/index.html
爲了方便區分,在兩臺不一樣的RS上,咱們須要輸入不一樣的內容。
可使用 setenforce 0
來臨時關閉防火牆,可是重啓電腦後會失效
[root@rs1 ~]# getenforce Enforcing [root@rs1 ~]# setenforce 0 [root@rs1 ~]# getenforce Permissive
[root@rs1 ~]# vim /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforce # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
把SELINUX=enforce 改爲disabled就能夠了,重啓電腦reboot
,永久生效
[root@rs1 ~]# reboot # 輸入上面的命令後Xshell斷開鏈接 [root@rs1 ~]# Connection closing...Socket close. Connection closed by foreign host. Disconnected from remote host(本機CentOS) at 15:31:57. # 再次開機後 [root@rs1 ~]# getenforce Disabled
關閉firewall
此外還須要執行下面的命令
# 查看防火牆狀態 firewall-cmd --state # 臨時關閉防火牆 systemctl stop firewalld.service # 永久關閉防火牆 systemctl disable firewalld
這樣一來RS1
便設置好了。
與設置RS1虛機方式相似,只是要記住
IPADDR
爲192.168.30.27
RS2
LVS須要設置的內容比較多,咱們先把共性的地方設置了
同RS服務器設置,再也不多說
與RS相似,可是不須要配置網關了
[root@lvs ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE="Ethernet" PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static IPADDR=192.168.30.200 PREFIX=24 DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE=stable-privacy NAME="enp0s3" DEVICE="enp0s3" ONBOOT="yes"
LVS須要一個網卡用於鏈接外部網絡,故須要額外設置。
網卡2的鏈接方式
須要在Virtual Box
中改成橋接模式
。
而且修改網卡2的配置文件:
[root@lvs ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp0s8 DEVICE="enp0s8" BOOTPROTO="none" IPADDR=172.20.0.200 PREFIX=24
你機器上的網卡二可能不叫
enp0s8
,同前文同樣ip addr
能夠查看網卡的名字。
service network restart
重啓服務後,網卡改動生效。
linux 內核自帶了 ipvs,可是ipvsadm
仍是要咱們本身安裝的。
[root@lvs ~]# yum -y install ipvsadm ... 已安裝: ipvsadm.x86_64 0:1.27-7.el7 完畢!
檢查是否安裝成功
[root@lvs yum.repos.d]# ipvsadm IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
看到如上內容,安裝就成功了
[root@lvs ~]# echo 1 >/proc/sys/net/ipv4/ip_forward [root@lvs ~]# echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf [root@lvs ~]# sysctl -p net.ipv4.ip_forward = 1
#建立一個集羣服務,調度算法rr [root@lvs ~]# ipvsadm -A -t 172.20.0.200:80 -s rr #添加rs1 nat方式 [root@lvs ~]# ipvsadm -a -t 172.20.0.200:80 -r 192.168.30.17 -m #添加rs2 nat方式 [root@lvs ~]# ipvsadm -a -t 172.20.0.200:80 -r 192.168.30.27 -m
Client虛機的配置方式很簡單,畢竟它只是用來訪問LVS的,咱們只須要配置他的網卡2信息就好。
配置方式和LVS
網卡2的配置方式類似,只是要注意:
IPADDR
爲172.20.0.123
service network restart
重啓服務後,網卡改動生效。
咱們只要在Client機器上訪問LVS機器的外部網卡IP便可。
[root@client ~]# curl 172.20.0.200 RS1 [root@client ~]# curl 172.20.0.200 RS2
若是能依次出現「RS1」和「RS2」,那就說明咱們搭建成功了!