LVS 二 環境的搭建

2021-08-08 20:25:19 字數 4678 閱讀 1857

系統:centos6 (三颱)

負載均衡:lvs + keepalived

伺服器1:http

伺服器2:http

1、vip(virtual ip):用來提供virtual server服務的ip位址。分別繫結在director乙個物理網絡卡上(對外置收請求包)和rs的回環裝置上(回環裝置需要繫結兩個ip,乙個是127.0.0.1,另乙個就是vip)。

2、dip(director ip):與vip繫結在乙個物理網絡卡上,用來**請求包到rs的rip對應的mac上,此裝置可以通過arp請求獲取rip對應的mac位址。

3、rip(real server ip):繫結在rs上的乙個物理網絡卡上,用來接收從directory**過來的請求包。

[root@itcast01 ~]# cd /etc/init.d/

[root@itcast01 ~]#touch realserver

[root@itcast01 ~]#vim realserver

sns_vip=192.168.8.150

. /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 "

exit 1

esac

exit 0

以上引數說明

sns_vip=192.168.1.98            #定義vip變數

. /etc/rc.d/init.d/functions #導指令碼庫

case "$1" in #case語句 $1傳遞給該shell指令碼的第乙個引數

start)

ifconfig lo:0 $sns_vip netmask 255.255.255.255 broadcast $sns_vip #設定lo:0 vip netmask 及廣播

/sbin/route add -host $sns_vip dev lo:0 ##route del 增加本地路由

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 # -p (default /etc/sysctl.conf) 將標準資訊輸入裝置空檔案

echo "realserver start ok"

;;stop)

ifconfig lo:0 down

route del $sns_vip >/dev/null 2>&1 #route del 刪除本地路由

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 " #$0 是指令碼本身的名字

exit 1 #表示程序正常退出

esac #case結束

exit 0 #表示程序非正常退出

[root@itcast01 ~]#chmod 750 realserver #給此指令碼賦予許可權

[root@itcast01 ~]#chkconfig realserver on #設定開機自啟動此指令碼

[root@itcast01 ~]#service realserver start #開啟此指令碼

realserver start ok #表示啟動成功!

[root@itcast01 ~]#ifconfig #檢視一下是否真的成功新增了lo:0介面

[root@itcast01 ~]#service httpd start              #開啟http伺服器

[root@itcast01 ~]#cd /var/www/html/ #進入http伺服器預設的目錄

[root@itcast01 ~]#touch index.html #建立http伺服器預設訪問頁面

[root@itcast01 ~]#vim index.html #編輯http伺服器預設訪問頁面

i am http ip : 真實伺服器自己的ip(例如:192.168.200.201)

用瀏覽器訪問一下: 預設埠80

檢視結果是否是自己編輯的: i am http ip : 真實伺服器自己的ip(例如:192.168.200.201)

二台真實伺服器一樣

(1):安裝 ipvsadm keepalived

命令:yum –y install ipvsadm keepalived

(2):配置 keepalived

命令:vim /etc/keepalived/keepalived.conf

global_defs 

# notification_email_from [email protected]

# smtp_server smtp.exmail.qq.com

# smtp_connect_timeout 30

router_id lvs_devel

}vrrp_instance vi_1

virtual_ipaddress

}virtual_server 192.168.200.201 80

} real_server 192.168.200.140 80

}}

以上引數說明:

global_defs 

# notification_email_from [email protected]

# smtp_server smtp.exmail.qq.com

# smtp_connect_timeout 30

router_id lvs_devel ##設定lvs的id,在乙個網路內應該是唯一的

}vrrp_instance vi_1

virtual_ipaddress

}virtual_server 192.168.18.60 80

} real_server 192.168.18.62 80

}}

[root@lvs1 ~]# service keepalived start
注:由於keepalived配置檔案有語法錯誤也能啟動,因此看到啟動了lvs服務,不代表配置檔案沒有錯誤,如果遇到lvs不能正常**,及時跟蹤日誌進行處理。

1、開兩個ssh視窗連線到lvs伺服器,第乙個視窗執行如下命令:

[root@lvs1 ~]# tail -f /var/log/message

2、第二個視窗重新啟動keepalived服務,同時觀察視窗1中日誌的變化,然後根據日誌提示解決即可。

(5)瀏覽器訪問虛擬ip檢視結果

二台真實伺服器分別出現在頁面上,表明結果是正確的

二 環境搭建

開啟cmd 輸入vagrant命令 測試是否安裝成功。c 通過vagrant安裝 centos7系統。docker 虛擬化技術。docker基於映象,可以秒級啟動各種容器,每一種容器都是乙個完整的執行環境,容器之間互相隔離。官方 docker 官方文件 切換linux使用者 su root dock...

C 基礎篇(二) 環境搭建

總結 示例 pandas 是基於numpy 的一種工具,該工具是為了解決資料分析任務而建立的。如下 示例 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns impo...

LVS 2 環境搭建

安裝所需軟體 yum install y vim wget yum install y ipvsadm cd usr src yum y install openssl devel wget wget yum y install popt static 1.13 7.el6.x86 64.rpm y...