Linux存儲與叢集
叢集
LB負載均衡叢集:LVS和Hapoxy
HA高可用叢集: keepalived RHSS(RHEL6 iptables)
共享存儲空間:
Iscsi/NFS
分布式存儲fastDFS
***************************************************************************************************
什麼是叢集?
叢集分類
高性能計算機叢集(HPC)
負載均衡叢集(LB)
高可用叢集(HA)
叢集的目的?
使用LVS部署網站服務的LB叢集
LVS介紹:linux虛拟伺服器 章文嵩博士研發的,內建在linux核心中
LVS指令行格式: ipvsadm 選項 參數
LVS叢集中的角色:前端(負載均衡層),中間(伺服器群組層),底端(資料貢獻存儲層)
LVS叢集中的名詞:Director server (排程分發伺服器) Real server (真實伺服器)
Dip(排程器與伺服器連接配接的ip位址) Rip(真實伺服器ip)Vip(使用者通路的虛拟ip)
LVS的工作模式:LVS/NAT 網絡位址轉換模式
LVS/DR 直接路由模式
LVS/TUN 隧道模式
LVS排程算法:(一共有10種)rr輪詢,wrr權重輪詢,lc(最少連接配接)wlc(權重最少連接配接)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
LVS/NAT 配置網絡位址轉換模式
拓撲結構 10用戶端 20排程器 30,40 伺服器
20用戶端開啟核心路由轉發功能
vim /etc/sysctl.conf
sed -n '7p' /etc/sysctl.conf
net.ipv4.ip_forward = 1 (1為開啟服務)
Ifdown eth0 (rhel6 中關網卡指令)
Ifup eth0 (rhel6 中關網卡指令)
安裝
{192.168.4.254上
cd /var/www/html/rhel6
ls LoadBalancer/
cd LoadBalancer/
scp ipvsadm-1.26-4.el6.x86_64.rpm 192.168.4.20:/root}=把ipvsadm 的rpm包傳給LVS伺服器
192.168.4.20上
rpm -ivh ipvsadm-1.26-4.el6.x86_64.rpm
配置
第一步:添加虛拟服務
檢視 ipvsadm -L (n是用數字表示服務)
建立: ipvsamd -A -t VIP位址:端口 -s 指定算法
ipvsadm -A -t 192.168.4.20:80 -s rr
删除 ipvsadm -C 清除虛拟服務
修改
第二步:向虛拟服務裡添加realserver
添加:ipvsamd -a -t VIP位址:端口 -r realserver 位址 -m (LVS工作模式 NAT)
ipvsadm -a -t 192.168.4.20:80 -r 192.168.4.30 -m
ipvsadm -a -t 192.168.4.20:80 -r 192.168.4.40 -m
删除:ipvsadm -d -t 192.168.4.20:80 -r 192.168.4.40
修改排程算法:ipvsadm -E -t 192.168.4.20:80 -s wrr
修改權重值:ipvsadm -e -t 192.168.4.20:80 -r 192.168.4.30 -w 3 -m
第三步:儲存配置
service ipvsadm save 儲存在/etc/sysconfig/ipvsadm
chkconfig ipvsadm on
驗證配置
[[email protected] ~]# elinks --dump http://192.168.2.20
___________________________________________________________________________________________________
配置LVS/DR模式的負載均衡叢集,客戶通路vip位址192.168.4.100時,把請求平均配置設定至伺服器30跟40主機
LVS/DR 配置直接路由模式
配置環境:
一.配置網頁伺服器端
擁有vip位址
30/40 ifconfig lo:1 192.168.4.100/32
修改網絡接口的網絡參數,幫兄弟接口收發ip包,并不響應用戶端通路vip位址時的ARP廣播包
[[email protected] eth0]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[[email protected] eth0]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[[email protected] eth0]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[[email protected] eth0]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
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
配置lvs
ifdown eth1 -----------------
ipvsadm -C |
service ipvsadm save |
ipvsadm -Ln |-----------修改上午的配置還原到ipvsadm初始配置
cat /etc/sysconfig/ipvsadm |
vim /etc/sysctl.conf |
sed -n '7p' /etc/sysctl.conf |
net.ipv4.ip_forward = 0 ------------
ifconfig eth0:1 192.168.4.100/32 綁定vip位址
echo "ifconfig eth0:1 192.168.4.100/32" >> /etc/rc.local 設定為開機自啟
添加虛拟服務
ipvsadm -A -t 192.168.4.100:80 -s rr
向虛拟服務裡添加realserver
ipvsadm -a -t 192.168.4.100:80 -r 192.168.4.30:80
ipvsadm -a -t 192.168.4.100:80 -r 192.168.4.40:80
***************************************************************************************************
Keepalived 可以實作任意單故障節點的高可用
分别在高可用叢集中的主機上安裝keepalived軟體
[[email protected] ~]# yum -list |grep -i keepalived
[[email protected] ~]# yum -y install keepalived
修改主配置檔案
在50主機上
[[email protected] ~]# rpm -qc keepalived
/etc/keepalived/keepalived.conf
/etc/sysconfig/keepalived
[[email protected] ~]# cp /etc/keepalived/keepalived.conf /tmp
[[email protected] ~]# vim /etc/keepalived/keepalived.conf
1 ! Configuration File for keepalived
2
3 global_defs {
4 notification_email {
5 [email protected]
6 [email protected]
7 [email protected]
8 }
9 notification_email_from [email protected]
10 smtp_server 192.168.200.1
11 smtp_connect_timeout 30
12 router_id LVS_DEVEL
13 }
14
15 vrrp_instance webha {
16 state MASTER
17 interface eth0
18 virtual_router_id 51
19 priority 150
20 advert_int 1
21 authentication {
22 auth_type PASS
23 auth_pass 123456
24 }
25 virtual_ipaddress {
26 192.168.4.101
27 }
28 }
在60主機上
[[email protected] ~]# vim /etc/keepalived/keepalived.conf
1 ! Configuration File for keepalived
2
3 global_defs {
4 notification_email {
5 [email protected]
6 [email protected]
7 [email protected]
8 }
9 notification_email_from [email protected]
10 smtp_server 192.168.200.1
11 smtp_connect_timeout 30
12 router_id LVS_DEVEL
13 }
14
15 vrrp_instance webha {
16 state BACKUP
17 interface eth0
18 virtual_router_id 51
19 priority 100
20 advert_int 1
21 authentication {
22 auth_type PASS
23 auth_pass 123456
24 }
25 virtual_ipaddress {
26 192.168.4.101
27 }
28 }
三.起服務
在50/60主機上
service keepalived start
轉載于:https://blog.51cto.com/13259799/2050443