集羣與存儲


集羣與存儲

簡介(集羣是什麼)
一組通過高速網絡互聯的計算機組,並以單一系統的模式加一管理

將很多服務器集中起來一起,提供一種服務,在客戶端看起來就像是隻有一個服務器

可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對較高的收益

任務調度是集羣系統中的核心技術

集羣目的:

提高性能:計算密集型應用,如:天氣預報,核試驗模擬

降低成本:相對百萬美元的超級計算機,價格便宜

提高可擴展性:只要增加集羣節點就可以

增強可靠性:多個節點完成相同功能,避免單點失敗的故障

集羣分類:

高可用計算集羣HPC

通過以集羣開發的並行應用程序,解決複雜的科學問題

應用:在天氣、航空、航海等科學領域的科學計算

負載均衡(LB)集羣

客戶端負載在計算機集羣中儘可能平均分攤

高可用(HA)集羣

避免單點故障,當一個系統發生故障時,可以快速遷移

 

LB的實現:LVS軟件 Haproxy軟件 Nginx

HA的實現:keepalived軟件

 

LVS項目介紹:

Linux虛擬服務器(LVS)是章文嵩在國防科技大學就讀博士期間創建的

LVS可以實現高可用的、可伸縮的webMailCacheMedia等網絡服務

最終目標時利用Linux操作系統和LVS集羣和LVS集羣軟件實現一個高可用、高性能、低成本的服務器應用集羣

 

LVS集羣組成

前端:負載均衡層,由一臺或多臺

中間:服務器羣組層,由一組實際運行應用服務的服務器組成

地端:數據共享存儲層,提供共享存儲空間的存儲區域

 

LVS術語

Director Server : 度服務器

將負載分發到Real server的服務器

Real server:真實服務器

真正提供應用服務的服務器

VIP:虛擬IP地址

公佈給用戶訪問的細膩IP地址

RIP:真實IP地址

集羣節點上使用IP地址

DIP:調度器連接節點服務器的IP地址

LVS工作模式

VS/NAT

通過網絡地址轉換實現的虛擬服務器

VS/DR

直接使用路由技術實現虛擬服務器

節點服務器需要配置VIP,注MAC地址廣播

VS/TUN

通過隧道凡是實現虛擬服務器

不同地點的不同機房需要提供服務時,就需要將LVS設置爲VS/TUN模式

LVS負載均衡調度算法,目前實現了10中調度算法

輪詢(Round Robin

加權輪詢(Weighted Round Robin

最少連接(Least Connections

加權最少連接(Weighted Least Connections

 

LVS實驗(輪詢):

一、配置LVS/NAT集羣

主機角色:

Real server :主機5253

分發器  :主機54

客戶端      :主機50

存儲服務   :主機51

實驗準備:

分發器: 主機54

Eth0:私由網絡 IP 地址 192.168.4.54

Eth0:公有網絡Ip 地址:192.168.2.54

開啓內核的路由轉發功能

real server

主機52 eth0 192.168.4.52

主機網關:192.168.4.54

主機:53 eth0 192.168.4.53

網關:192.168.4.54

 

 

打開主機54內核路由轉發功能  

  sysctl -a | grep ip_forward //查看路由轉發是否打開,默認是打開了的

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1  //新添加

Real server:

route命令用來顯示並設置Linux內核中的網絡路由表,route命令設置的路由主要是靜態路由。

主機52/53:添加網關

Route add default gw 192.168.4.54 

主機50:添加網關

Route add default gw 192.168.2.54

注:route del default gw 192.168.4.54 //配置錯誤以這條命令刪除

Route -n //查看路由表

配置分發器主機54

ipvsadm 用法:

-A

添加虛擬服務器

-t

設置集合羣地址(VIPVirtual IP

-s

指定負載調度算法

-a

添加真實服務器

-d

刪除真實服務器

-r

指定真實服務器(real server

-m

使用NAT模式;-g-i分別對應DRTUN模式

-w

爲節點服務器設置權重,默認爲1

-C

清除ipvsadm所有配置

-S

永久保存配置

-E

更改調度算法

-e


-Z

清空(ipvsadm -Ln --stats)計數器

 

VIP地址:對外提供服務的地址

vip :192.168.2.54

rip :192.168.4.52

 192.168.4.53

1.安裝ipvsadm軟件包

yum -y install ipvsadm.x86_64

2.創建虛擬服務 採用rr調度算法,輪詢算法;wrr

]# ipvsadm -A -t 192.168.2.54:80 -s rr  

3.添加服務器節點(real server) 用-m採用NAT模式

]# ipvsadm -a -t 192.168.2.54:80 -r 192.168.4.52:80 -m

]# ipvsadm -a -t 192.168.2.54:80 -r 192.168.4.53:80 -m

4.保存ipvs配置

ipvsadm -S > /etc/sysconfig/ipvsadm-config

5.查看IPVS

]# ipvsadm -Ln   

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

    TCP 192.168.4.54:80 rr    

       -> 192.168.4.52:80   Masq     1      0          0         

       -> 192.168.4.53:80   Masq     1      0          0         

Forward:分發模式

ActiveConn:是活動連接數

Weight:權重,在負載均衡的時候,誰的值越大分發的次數越多

InActConn

驗證:

 ipvsadm -Ln --stats

Prot LocalAddress:Port Conns InPkts  OutPkts InBytes OutBytes

TCP  192.168.2.54:80   5   30     20     1980     2495

  -> 192.168.4.52:80    2   12     8       792      998

  -> 192.168.4.53:80    3   18     12     1188     1497

Conns:請求連接數

InPkts:進來的數據包

    OutPkts:出去的數據包

InBytes:進來的數據字節數

OutBytes:出去進來的數據字節數

watch -n 1 ipvsadm -Ln --stats //watch -n 1 命令1秒刷新後面的命令

 

管理集羣

刪除nat模式的配置

]# ipvsadm -d -t 192.168.2.54:80 -r 192.168.4.53

添加realserverNAT

]# ipvsadm -a -t 192.168.2.54:80 -r 192.168.4.53 -m

修改調度算法

]# ipvsadm -E -t 192.168.2.54:80 -s wrr

修改real server的權重

]# ipvsadm -e -t 192.168.2.54:80 -r 192.168.4.53 -w 2 -m 

清空計數器(ipvsadm -Ln --stats的計數)

]# ipvsadm -Z

清空所有配置

]# ipvsadm -C

保存所以配置

]# ipvsadm -S > /etc/sysconfig/ipvsadm-config

重啓ipvsadm服務

]# ipvsadm -S > /etc/sysconfig/ipvsadm

]# systemctl restart ipvsadm.service

 

配置LVS/DR模式集羣

原理:請求流量由分發器下發給realserver,響應流量由服務器直接發給客戶端

準備:

需求:客戶端訪問VIP地址:192.168.4.253訪問網站集羣

 

配置分發器 54

1.在本機的eth0接口上綁定vip地址192.168.4.253,這裏命令行設置當 前有效重啓後失效,將其夾入到/etc/rc.load文件中每次開機自動運行

]# ifconfig eth0:1 192.168.4.254/32

]# echo ‘ifconfig eth0:1 192.168.4.254/32’ >> /etc/rc.local

2.創建虛擬服務,以192.168.4.253VIP 算法採用rr 輪詢算法

]# ipvsadm -A -t 192.168.4.253:80 -s rr

3.添加real server節點,-g採用DR模式

]# ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.52:80 -g

]# ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.53:80 -g

4.保存ipvs配置

]# ipvsadm -S > /etc/sysconfig/ipvsadm-config

5.查看IPVS

]# ipvsadm -Ln

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 192.168.4.253:80 rr

   -> 192.168.4.52:80 Route      1      0          0         

        -> 192.168.4.53:80 Route      1      0          0         

 

 

配置readlserver 5253

1.修改網絡接口的內核參數,主機5253,爲保以後每次開機都能生效,將以下命名追加至/etc/rc.load

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

2.在本機的lo接口綁定vip地址 192.168.4.253/32,主機5253都要加

ifconfig lo:1 192.168.4.253/32

echo ‘ifconfig lo:1 192.168.4.253/32’ > /etc/rc.local

3.運行web服務

主機52yum -y install httpd

 echo xiao > /var/www/html/index.html

主機53yum -y install httpd

 echo 123 > /var/www/html/index.html

4.驗證:

在客戶機上

curl http://192.168.4.253

 

        擴展LVS

            LVS服務做LB集羣時,不能夠對realserver服務做健康行檢查

            解決辦法,在分發器上定期執行監測腳本

            vim /root/checklvs.sh

            #!/bin/bash

            如何知道realserver 80 是不是開放狀態可以用nmap去檢查

            nmap -sS -n -p 80 192.168.4.53 在這個命令裏去過濾open 如果是open就是打 開不是就是關閉的把他的值給一個變量

            nmap -sS -n -p 80 192.168.4.53  | grep  open

           realserver 80 不是開放狀態的時候就在本機執行刪除realserver的命令

           ipvsadm -d -t 192.168.4.253:80 -r 192.168.4.x

           realserver 80 是開放狀態的時候在把刪除realserver的命令添加到虛擬服務裏

           ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.x:80


 

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章