偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

linux高級(jí)技巧:heartbeat+lvs

系統(tǒng) Linux
Heartbeat 項(xiàng)目是 Linux-HA 工程的一個(gè)組成部分,它實(shí)現(xiàn)了一個(gè)高可用集群系統(tǒng)。心跳服務(wù)和集群通信是高可用集群的兩個(gè)關(guān)鍵組件,在 Heartbeat 項(xiàng)目里,由 heartbeat 模塊實(shí)現(xiàn)了這兩個(gè)功能……

1.heartbeat簡(jiǎn)介:

Heartbeat 項(xiàng)目是 Linux-HA 工程的一個(gè)組成部分,它實(shí)現(xiàn)了一個(gè)高可用集群系統(tǒng)。心跳服務(wù)和集群通信是高可用集群的兩個(gè)關(guān)鍵組件,在 Heartbeat 項(xiàng)目里,由 heartbeat 模塊實(shí)現(xiàn)了這兩個(gè)功能。

這個(gè)集群方案是利用第三方軟件搭建的,要比redhat自帶的集群軟件在功能上簡(jiǎn)化一些,但是搭建起來非常的方便。而且是一種快速解決方案。

heartbeat的高可用集群采用的通信方式是udp協(xié)議和串口通信,而且heartbeat插件技術(shù)實(shí)現(xiàn)了集群間的串口、多播、廣播和組播通信。它實(shí)現(xiàn)了HA 功能中的核心功能——心跳,將Heartbeat軟件同時(shí)安裝在兩臺(tái)服務(wù)器上,用于監(jiān)視系統(tǒng)的狀態(tài),協(xié)調(diào)主從服務(wù)器的工作,維護(hù)系統(tǒng)的可用性。它能偵測(cè)服務(wù)器應(yīng)用級(jí)系統(tǒng)軟件、硬件發(fā)生的故障,及時(shí)地進(jìn)行錯(cuò)誤隔絕、恢復(fù);通過系統(tǒng)監(jiān)控、服務(wù)監(jiān)控、IP自動(dòng)遷移等技術(shù)實(shí)現(xiàn)在整個(gè)應(yīng)用中無單點(diǎn)故障,簡(jiǎn)單、經(jīng)濟(jì)地確保重要的服務(wù)持續(xù)高可用性。 Heartbeat采用虛擬IP地址映射技術(shù)實(shí)現(xiàn)主從服務(wù)器的切換對(duì)客戶端透明的功能。

但是單一的heartbeat是無法提供健壯的服務(wù)的,所以我們?cè)诤笈_(tái)使用lvs進(jìn)行負(fù)載均衡。

2.LVS簡(jiǎn)介

LVSLinux Virtual Server的簡(jiǎn)寫,意即Linux虛擬服務(wù)器,是一個(gè)虛擬的服務(wù)器集群系統(tǒng)。由章文嵩博士成立。

IPVS

說道lvs我們就得提到ipvs,IPVS 是 LVS 集群系統(tǒng)的核心軟件,它的主要作用是:安裝在 Load Balancer 上,把發(fā)往 Virtual IP 的請(qǐng)求轉(zhuǎn)發(fā)到 Real Server 上。IPVS 的負(fù)載均衡機(jī)制有三種,這里使用 IP Tunneling 機(jī)制:

  • ? Virtual Server via NAT
  • ? Virtual Server via IP Tunneling
  • ? Virtual Server via Direct Routing

我們這次的實(shí)驗(yàn)采用***一種直連的方式。

lvs的調(diào)度算法非常的重要,大家一定要熟悉他們。在官方網(wǎng)站上有詳細(xì)的解釋:http://zh.linuxvirtualserver.org/

IPVS 的負(fù)載調(diào)度算法有十種:

  • 輪叫(Round Robin)
  • 加權(quán)輪叫(Weighted Round Robin)
  • 最少鏈接(Least Connections)
  • 加權(quán)最少鏈接(Weighted Least Connections)
  • 基于局部性的最少鏈接(Locality-Based Least Connections)
  • 帶復(fù)制的基于局部性最少鏈接(Locality-Based Least Connections with Replication)
  • 目標(biāo)地址散列(Destination Hashing )
  • 源地址散列(Source Hashing)
  • 最短期望延遲(Shortest Expected Delay)
  • 無須隊(duì)列等待(Never Queue)

注釋:我們采用較為簡(jiǎn)單的輪叫方式。

3.ldirectord簡(jiǎn)介:

ldirectord是配合lvs作為一種健康檢測(cè)機(jī)制,要不負(fù)載均衡器在節(jié)點(diǎn)掛掉后依然沒有檢測(cè)的功能。

上面介紹了heardbeat、lvs和ldirectord的基本概念。說再多不如搭建一個(gè)服務(wù)給大家展示效果。

4.搭建RHEL6.5+LVS+Linux-HA+Ldirectord服務(wù)(提供http和ftp服務(wù)作為例子)

注意:

1.系統(tǒng):redhat6.5 ;

2.節(jié)點(diǎn):一共要用到四個(gè)虛擬機(jī)作為節(jié)點(diǎn),其中兩個(gè)上面安裝heartbeat和lvs,另外兩個(gè)節(jié)點(diǎn)只提供apache和vsftpd服務(wù);

3.這四個(gè)節(jié)點(diǎn)之間的解析一定要做好;

4.防火墻關(guān)閉,時(shí)間同步,四個(gè)機(jī)子的系統(tǒng)版本***相同。

實(shí)驗(yàn)的環(huán)境如圖下所示,***個(gè)控制臺(tái)是我真機(jī)的,其他四個(gè)為實(shí)驗(yàn)的四個(gè)節(jié)點(diǎn),前兩個(gè)安裝heartbeat和lvs,后兩個(gè)控制臺(tái)提供apache和vsftpd服務(wù)。接下來我們分塊來配置。

#p#

1. 安裝heartbeat:

這個(gè)是第三方軟件,不是redhat自帶的,所以大家要自己去下載:,分別需要:

  1. heartbeat-3.0.4-2.el6.x86_64.rpm  
  2. heartbeat-devel-3.0.4-2.el6.x86_64.rpm  
  3. heartbeat-libs-3.0.4-2.el6.x86_64.rpm  

我的在本地的vsftpd服務(wù)上有,也可以在http://rpm.pbone.net/上查找。

兩個(gè)節(jié)點(diǎn)上都應(yīng)該有這個(gè)三個(gè)包。然后在自定義的位置安裝他們:


 

要是沒有安裝成功那么一定要重新設(shè)置你的yum源:

  1. vim /etc/yum.repos.d/yum.repo 

這個(gè)是heartbeat的三個(gè)配置文件:

  1. ha.cf Main configuration file  
  2. haresources Resource configuration file  
  3. authkeys Authentication information 

默認(rèn)情況下配置文件里沒有,我們得從其他地方拷貝一份:

vim ha.cf:

keepalive 2

設(shè)定heartbeat之間的時(shí)間間隔為2秒。

warntime 10

在日志中發(fā)出“late heartbeat“警告之前等待的時(shí)間,單位為秒。

deadtime 30

在30秒后宣布節(jié)點(diǎn)死亡。

initdead 120

在某些配置下,重啟后網(wǎng)絡(luò)需要一些時(shí)間才能正常工作。這個(gè)單獨(dú)的”deadtime”選項(xiàng)可以處理這種情況。它的取值至少應(yīng)該為通常deadtime的兩倍。

#p#

udpport 694

使用端口694進(jìn)行bcast和ucast通信。這是默認(rèn)的,并且在IANA官方注冊(cè)的端口號(hào)。


 

默認(rèn)在回復(fù)后自動(dòng)回切:

有兩個(gè)節(jié)點(diǎn)安裝heartbeat:

用來測(cè)試節(jié)點(diǎn)的網(wǎng)絡(luò)是否聯(lián)通:

上述是ha.cf配置文件的修改,然后我們要來authkeys文件:

修改文件的訪問權(quán)限:

***我們來修改haresources,我們要在其中添加一個(gè)apache服務(wù),但是我們要給它一個(gè)虛擬的ip(這個(gè)ip一定是沒有被別人占用的),讓這兩個(gè)節(jié)點(diǎn)作它的論尋。

在兩邊都安裝httpd服務(wù)作為測(cè)試,為了區(qū)分,我們?cè)谒麄兊膇ndex.html中寫入不同的內(nèi)容(事實(shí)上在生產(chǎn)環(huán)境中兩者的內(nèi)容當(dāng)然是相同的,因?yàn)槲覀冏鞯目墒秦?fù)載均衡么)

做完上述內(nèi)容后開啟兩邊的heartbeat服務(wù):

然后我們來通過firefox檢驗(yàn)效果:

然后我們讓當(dāng)前的節(jié)點(diǎn)heartbeat關(guān)閉,發(fā)現(xiàn)另外一個(gè)節(jié)點(diǎn)自動(dòng)接管了:

再讓剛才那個(gè)節(jié)點(diǎn)的heartbeat開啟,因?yàn)樗侵鞴?jié)點(diǎn)(server101.example.com),所以又接管回來了:

小結(jié):

這樣就起到了負(fù)載均衡的效果,但是這只是單純的heartbeat,我們還沒有和lvs進(jìn)行結(jié)合,在功能上不夠完善,在接下來的帖子里會(huì)逐漸把兩者結(jié)合起來,下一個(gè)帖子首先會(huì)讓大家感受一下lvs單獨(dú)使用時(shí)的效果,***會(huì)把兩者結(jié)合起來。

#p#

上一個(gè)帖子介紹了heartbeat的單獨(dú)使用,今天我們首先來介紹lvs的單獨(dú)使用,***將兩者結(jié)合起來。提供一個(gè)全面的服務(wù)。

1.LVS的三種負(fù)載均衡技術(shù):

非常幸運(yùn)的是kernel 2.6x 已經(jīng)內(nèi)建了LVS模塊,而且在redhat6版本中也有LVS的安裝包ipvsadm。

下面我們對(duì)LVS的三種負(fù)載均衡技術(shù)進(jìn)行比較:

1.通過NAT實(shí)現(xiàn)虛擬服務(wù)器(VS/NAT):

由于IPv4中IP地址空間的日益緊張和安全方面的原因,很多網(wǎng)絡(luò)使用保留IP地址。這些地址不在Internet上使用,而是專門為內(nèi)部網(wǎng)絡(luò)預(yù)留的。當(dāng)內(nèi)部網(wǎng)絡(luò)中的主機(jī)要訪問Internet或被Internet訪問時(shí),就需要采用網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation,以下簡(jiǎn)稱NAT),將內(nèi)部地址轉(zhuǎn)化為Internets上可用的外部地址。這樣當(dāng)外部網(wǎng)絡(luò)訪問服務(wù)的時(shí)候,其實(shí)是訪問那個(gè)可以和外界通信的IP,但訪問的內(nèi)容卻是在內(nèi)網(wǎng)的節(jié)點(diǎn)上負(fù)載均衡的。原理如下圖所示:

2.通過IP隧道實(shí)現(xiàn)虛擬服務(wù)器(VS/TUN):

它的連接調(diào)度和管理與VS/NAT中的一樣,只是它的報(bào)文轉(zhuǎn)發(fā)方法不同。調(diào)度器根據(jù)各個(gè)服務(wù)器的負(fù)載情況,動(dòng)態(tài)地選擇一臺(tái)服務(wù)器,將請(qǐng)求報(bào)文封裝在另一個(gè)IP報(bào)文中,再將封裝后的IP報(bào)文轉(zhuǎn)發(fā)給選出的服務(wù)器;服務(wù)器收到報(bào)文后,先將報(bào)文解封獲得原來目標(biāo)地址為VIP的報(bào)文,服務(wù)器發(fā)現(xiàn)VIP地址被配置在本地的IP隧道設(shè)備上,所以就處理這個(gè)請(qǐng)求,然后根據(jù)路由表將響應(yīng)報(bào)文直接返回給客戶。

記住它和NAT的不同是,可以直接與客戶機(jī)建立鏈接。原理如下圖所示:

3.通過直接路由實(shí)現(xiàn)虛擬服務(wù)器(VS/DR):

調(diào)度器和服務(wù)器組都必須在物理上有一個(gè)網(wǎng)卡通過不分?jǐn)嗟木钟蚓W(wǎng)相連,如通過高速的交換機(jī)或者HUB相連。VIP地址為調(diào)度器和服務(wù)器組共享,調(diào)度器配置的VIP地址是對(duì)外可見的,用于接收虛擬服務(wù)的請(qǐng)求報(bào)文;所有的服務(wù)器把VIP地址配置在各自的Non-ARP網(wǎng)絡(luò)設(shè)備上,它對(duì)外面是不可見的,只是用于處理目標(biāo)地址為VIP的網(wǎng)絡(luò)請(qǐng)求。

這個(gè)模型是我們今天要做的,每個(gè)節(jié)點(diǎn)都有一個(gè)虛擬IP(控制節(jié)點(diǎn)和真正提供服務(wù)的節(jié)點(diǎn)(RS)),其中的調(diào)度由控制器完成的(RR輪叫算法),服務(wù)不會(huì)主動(dòng)的去提供服務(wù)。與TUN相同的是,他們也是可以直接和客戶機(jī)通信。原理如圖所示:

#p#

2.LVS的安裝和配置:

首先我們還是打開那個(gè)熟悉的控制臺(tái):

安裝ipvsadm:

當(dāng)前沒有任何調(diào)度列表:

添加虛擬ip作為公共訪問ip:

我們添加虛擬ip的httpd服務(wù)的端口,并且采用了輪叫的算法(RR):

允許server106和server107的httpd服務(wù)作為輪叫的節(jié)點(diǎn):

在serevr106和server107上分別安裝httpd服務(wù):

然后我們要做以下事情:

1.server106和server107要能夠識(shí)別192.168.2.110這個(gè)虛擬IP,所以他們也要添加這個(gè)虛擬網(wǎng)卡。

2.為了體現(xiàn)出輪叫的效果,我們?cè)趦烧叩哪J(rèn)發(fā)布目錄中寫入不同的內(nèi)容以示區(qū)別。


 

#p#

現(xiàn)在控制節(jié)點(diǎn)和提供真實(shí)服務(wù)的節(jié)點(diǎn)都能夠識(shí)別VIP(192.168.2.110),接下來我們要在提供服務(wù)的節(jié)點(diǎn)上添加策略,這個(gè)感覺和防火墻很類似,不過要安裝一個(gè)額外的軟件:

此時(shí)還沒任何策略設(shè)置:

添加策略,把直接進(jìn)來訪問192.168.2.110的包全部丟棄,讓從192.168.2.110出去的包從192.168.2.106出去(192.168.2.107同理)。

保存策略:

現(xiàn)在我們通過瀏覽器反復(fù)訪問192.168.2.110(確保服務(wù)節(jié)點(diǎn)的httpd服務(wù)開啟),多刷新幾次:

這個(gè)是我們?cè)谠L問之前控制節(jié)點(diǎn)記錄的信息:

在訪問了32次之后,我們發(fā)現(xiàn)兩個(gè)節(jié)點(diǎn)各輪叫了16次,但是訪問的ip都是虛擬ip(192.168.2.110),這就是直連情況下的LVS方案。

而且網(wǎng)頁(yè)的內(nèi)容也在輪循變化:


 

3.小結(jié):

本帖先是介紹了LVS的三種負(fù)載均衡技術(shù),然后我們身體力行的搭建了直連情況下的LVS,那么在下個(gè)帖子中我們會(huì)把LVS和heartbeat結(jié)合起來組成一個(gè)健壯的服務(wù)。

原文鏈接:http://blog.csdn.net/linux_player_c/article/details/38277173 、http://blog.csdn.net/linux_player_c/article/details/38294319

責(zé)任編輯:牛小雨 來源: linux_player_c的博客
相關(guān)推薦

2014-05-15 09:54:40

heartbeatlvs集群

2012-02-15 22:51:29

lvslinuxheartbeat

2012-05-09 10:45:20

LinuxLVSHeartbeat

2014-08-14 15:38:33

linux集群

2014-07-28 10:27:37

linux集群

2013-01-09 10:14:34

2009-12-23 14:14:09

Linux高級(jí)命令行

2009-10-27 14:58:38

2018-03-13 10:51:10

linux技巧服務(wù)器

2011-08-01 11:56:45

Google搜索

2017-09-05 08:16:29

代碼判斷函數(shù)

2021-08-04 09:32:05

Typescript 技巧Partial

2012-11-27 17:41:16

2024-05-24 08:04:12

技巧管理器數(shù)據(jù)庫(kù)

2013-07-11 09:55:38

LVS瓶頸LVS ClusterOSPF+LVS

2009-11-30 18:15:06

Linux Backu

2022-11-07 16:06:15

TypeScript開發(fā)技巧

2014-04-04 13:48:04

2019-02-28 20:46:35

Python高級(jí)技巧編程語言

2016-11-25 13:34:42

Python開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)