高ha部署
1. vmware:12.5.0
2. linux:centos6.3-x86
3. heartbeat:3.0.4
4. nginx:1.6.2
5. 主機a(eth0):192.168.157.137
6. 備機b(eth0):192.168.157.138
7. 主機a心跳線(eth1):192.168.0.250
8. 備機b心跳線(eth1):192.168.0.249
9. 虛擬ip(eth0:0):192.168.157.200
10. 裁判ip(ping):192.168.1.1
第一步
配置基礎環境
配置主機a、備機b,以下操作需要在兩台主機上都進行配置。
1. [root@wang-a ~]# yum -y install nginx
禁用系統防火牆、selinux。
1. [root@wang-a ~]# service iptables stop
2. [root@wang-a ~]# setenforce 0
1. [root@wang-a ~]# vim /etc/hosts
主機名如果不知道,輸入hostname檢視即可。
1. 192.168.157.137 wang-a
2. 192.168.157.138 wang-b
安裝epel擴充套件源,再安裝heartbeat軟體包,openssh-clients其實可裝可不裝,花郎只是為了接下來要使用scp命令罷了。
1. [root@wanga ~]# yum -y install epel-release
2. [root@wangh-a ~]# yum -y install heartbeat*
3. [root@wang-a ~]# yum -y install openssh-clients
至此,基本的實驗環境就準備好了,為方便演示,主機a是123123123,備機b是456456456
第二步
配置主機a
先拷貝三份heartbeat配置檔案模版到指定路徑。
1. [root@wang-a ~]# cd /usr/share/doc/heartbeat-3.0.4/
2. [root@wang-a heartbeat-3.0.4]# cp -rf authkeys ha.cf haresources /etc/ha.d/
配置authkeys加密檔案,按shift+g到檔案末尾,按需修改加密方式,花郎是使用md5的加密,修改完畢後,再設定檔案許可權為600。注意,如果主機a是使用md5加密,那麼備機b也必須保持一致!
1. [root@wang-a heartbeat-3.0.4]# cd /etc/ha.d
2. [root@wang-a ha.d]# chmod 600 authkeys
3. [root@wang-a ha.d]# vim authkeys
內容如下:
1. auth 3
2. #1 crc
3. #2 sha1 hi!
4. 3 md5 hello!
接下來要設定乙個虛擬ip,花郎設定為192.168.157.200,埠為eth0:0,對應啟動的服務為nginx。
1. [root@wanga ha.d]# vim haresources
主機a的主機名、虛擬ip、網口、監控的服務,不要寫錯!
1. wang-a 192.168.157.200/24/eth0:0 nginx
重頭戲來了,開始配置主機a的heartbeat主配置檔案。
1. [root@wang-a ha.d]# vim ha.cf
1. debugfile /var/log/ha-debug
2. logfile /var/log/ha-log
3. logfacility local0
4. keepalive 2
5. deadtime 30
6. warntime 10
7. initdead 60
8. u***ort 694
9. ucast eth1 192.168.0.250
10. auto_failback on
11. node wang-a
12. node wang-b
13. ping 192.168.1.1
14. respawn hacluster /usr/lib/heartbeat/ipfail #如果作業系統是64位的路徑為 /usr/lib64/heartbeat/ipfail
因為主機a和備機b的三份heartbeat配置檔案在內容上是差不多的,所以配置備機b的時候,可以直接把主機a的三份配置檔案直接拷貝到備機b上,一會再稍作修改即可!注意,要使用scp命令,主機a、備機b必須安裝openssh-clients。
1. [root@wang-a ha.d]# scp authkeys ha.cf haresources root@wanghualang-b:/etc/ha.d/
第三步
配置備機b
剛才已經從主機a拷貝了三份配置檔案過來,需要對ha.cf檔案進行修改,另外兩個則不需要。
1. [root@wang-b ~]# cd /etc/ha.d/
2. [root@wang-b ha.d]# vim ha.cf
唯一需要修改的引數就是ucast,修改偵聽的心跳線介面和對應的對端介面的ip位址,所以在配置備機b時,ucast必須填寫主機a的心跳線ip位址,即192.168.0.249。
1. debugfile /var/log/ha-debug
2. logfile /var/log/ha-log
3. logfacility local0
4. keepalive 2
5. deadtime 30
6. warntime 10
7. initdead 60
8. u***ort 694
9. ucast eth1 192.168.0.250
10. auto_failback off #a正常b不接手
11. node wang-a
12. node wang-b
13. ping 192.168.1.1
14. respawn hacluster /usr/lib64/heartbeat/ipfail
第四步
啟動測試
兩台主機可以同時啟動nginx,然後先開啟瀏覽器訪問兩個**,確保nginx服務是正常的。
1. [root@wang-a ~]# service nginx start
2. [root@wang-b ~]# service nginx start
主機a,123123123:
備機b,456456456:
能正常訪問網頁後,再停用兩台主機的nginx。
1. [root@wang-a ~]# service nginx stop
2. [root@wang-b ~]# service nginx stop
先啟動主機a上的heartbeat。
1. [root@wang-a ~]# service heartbeat start
大約一分鐘後,再看eth0:0虛擬ip是否啟動。/
1. [root@wang-a ~]# ip a
虛擬ip已經成功啟動,
如果虛擬網絡卡一直無法啟動日誌也沒有報錯的話 手動配置eth0:0
ifconfig eth0:0 192.168.157.200 netmask 255.255.255.0
ifconfig eth0:0 檢視eth0:0網絡卡
ifconfig eth0:0 up 啟動網絡卡
瀏覽器訪問192.168.157.137或192.168.157.200,都會顯示同乙個**,123132123,
再啟動備機b上的heartbeat,備機b就會自動進入待命模式,即主機a一旦故障,備機b就會接手。
1. [root@wang-b ~]# service heartbeat start
擴充套件閱讀
啟動備機b之後,要特別注意觀察,當主機a執行正常時,不論等多久,備機b上是不會啟動虛擬ip的,一旦啟用,就表示兩台機子都在互搶資源,都誤判對方機子故障,自己將成為主導,俗稱腦裂(split-brain)!詳情可以檢視日誌,進行故障分析。
1. [root@wang-a ~]# cat /var/log/ha-debug
2. [root@wang-a ~]# cat /var/log/ha-log
接下來,直接把主機a斷電關機,玩的就是簡單,要的就是粗暴!徹底斷電後,立即清空瀏覽器所有快取,再次訪問192.168.157.137或 192.168.157.200時,應該就無法開啟123123123,即主機a已徹底故障,等待備機b接手!等大約一分鐘,再用瀏覽器訪問 192.168.157.200,456456456,說明備機b已接手,並正常提供服務,
b機畢竟是作為備機而存在的,當主機a修理好之後,便會自動接管回來!開始做最終測試,依舊先清空瀏覽器所有快取,虛擬機器開啟主機a的電源,並啟動 heartbeat,等一分鐘左右,再次訪問192.168.1157.200,如果出現的是123123123,說明主機a已自動做回主導,實驗 成功!
最後感謝wanghualang提供的教程!! 謝謝!!
KVM巢狀虛擬化 在虛擬機器中建立虛擬機器
一般情況下,我們是無法在kvm虛擬機器裡面再去建立虛擬機器的,因為我們的kvm虛擬機器的cpu預設情況下並不支援虛擬化功能,對於inter的cpu來說,如果要支援虛擬化功能,必須要有乙個叫vmx的特性,以下是乙個物理伺服器的cpu資訊 在cpu特性 flags 中包含了vmx這個特性,說明這台伺服器...
在虛擬機器下輸
前幾天遇到的乙個問題就是在虛擬機器下我想要給程式注釋,可我怎麼調我的輸入法都沒有用,可我必須得注釋啊!這怎麼辦呢?之前我將在windows環境下的複製貼上到虛擬機器環境下,發現是可以顯示中文字型啊!就在昨天同學來我宿舍玩,我問了她這件事,她說她有同學也有這種情況,然後我開啟虛擬機器讓她來給我操作下。...
在虛擬機器安裝Linux
安裝在虛擬機器,主要是學習使用,使用典型配置,不去折騰自定義了 選擇自己對應的安裝版本 名稱和位置自行決定 磁碟容量暫時分配40g即可後期可以隨時增加,不要勾選立即分配所有磁碟,否則虛擬機會將40g直接分配給centos,會導致宿主機所剩硬碟容量減少。勾選將虛擬磁碟拆分成多個檔案,這樣可以使虛擬機器...