系統: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...