微吼云上線多路互動(dòng)直播服務(wù) 加速多場(chǎng)景互動(dòng)直播落地
1059
2025-03-31
一 高可用集群
高可用集群,英文原文為High Availability Cluster,簡(jiǎn)稱(chēng)HACluster,簡(jiǎn)單的說(shuō),集群(cluster)就是一組計(jì)算機(jī),它們作為一個(gè)整體向用戶(hù)提供一組網(wǎng)絡(luò)資源。這些單個(gè)的計(jì)算機(jī)系統(tǒng) 就是集群的節(jié)點(diǎn)(node)。
高可用集群的出現(xiàn)是為了使集群的整體服務(wù)盡可能可用,從而減少由計(jì)算機(jī)硬件和軟件易錯(cuò)性所帶來(lái)的損失。如果某個(gè)節(jié)點(diǎn)失效,它的備援節(jié)點(diǎn)將在幾秒鐘的時(shí)間內(nèi)接管它的職責(zé)。因此,對(duì)于用戶(hù)而言,集群永遠(yuǎn)不會(huì)停機(jī)。
高可用集群軟件的主要作用就是實(shí)現(xiàn)故障檢查和業(yè)務(wù)切換的自動(dòng)化。只有兩個(gè)節(jié)點(diǎn)的高可用集群又稱(chēng)為雙機(jī)熱備,即使用兩臺(tái)服務(wù)器互相備份。當(dāng)一臺(tái)服務(wù)器出現(xiàn)故障時(shí),可由另一臺(tái)服務(wù)器承擔(dān)服務(wù)任務(wù),從而在不需要人工干預(yù)的 情況下,自動(dòng)保證系統(tǒng)能持續(xù)對(duì)外提供服務(wù)。雙機(jī)熱備只是高可用集群的一種,高可用集群系統(tǒng)更可以支持兩個(gè)以上的節(jié)點(diǎn),提供比雙機(jī)熱備更多、更高級(jí)的功能,更能滿足用戶(hù)不斷出現(xiàn)的需求變化。
本文將搭建一個(gè)集群,利用里邊的GFS2服務(wù),提供一個(gè)共享盤(pán)在多節(jié)點(diǎn)的共享功能的案例。
二 節(jié)點(diǎn)配置
節(jié)點(diǎn)
配置信息
管理節(jié)點(diǎn)
名稱(chēng):ecs-0003
操作系統(tǒng):CentOS 6.5 64bit
硬件配置:2核,4GB內(nèi)存
彈性IP:122.112.248.105
私有IP(內(nèi)網(wǎng)IP):192.168.65.22
節(jié)點(diǎn)1
名稱(chēng):ecs-0001
操作系統(tǒng):CentOS 6.5 64bit
硬件配置:2核,4GB內(nèi)存
彈性IP:122.112.237.46
私有IP(內(nèi)網(wǎng)IP):192.168.64.196
節(jié)點(diǎn)2
名稱(chēng):ecs-0002
操作系統(tǒng):CentOS 6.5 64bit
硬件配置:2核,4GB內(nèi)存
彈性IP:122.112.200.15
私有IP(內(nèi)網(wǎng)IP):192.168.67.91
三 操作步驟
1.????? 批量創(chuàng)建3臺(tái)虛擬機(jī)
鏡像、鏡像版本盡量一致;虛擬私有云、安全組、主網(wǎng)卡應(yīng)該一致,確保主網(wǎng)卡在同一個(gè)網(wǎng)段,虛擬機(jī)之前能夠相互通信;彈性IP用于遠(yuǎn)程登錄虛擬機(jī)用,是虛擬機(jī)的外網(wǎng)IP,應(yīng)該根據(jù)實(shí)際情況進(jìn)行購(gòu)買(mǎi)或使用已有。
請(qǐng)確保安全組中,TCP的入方向8084是開(kāi)的,后面登錄High Availability Management會(huì)訪問(wèn)這個(gè)端口。
記錄root密碼,用于遠(yuǎn)程登錄虛擬機(jī)。
創(chuàng)建成功
2.????? 新建SCSI或VBD共享磁盤(pán)
3.????? 掛載共享磁盤(pán)到ecs-0001和ecs-0002節(jié)點(diǎn)
掛載結(jié)果
4.????? 節(jié)點(diǎn)準(zhǔn)備
1)????? ecs-0001節(jié)點(diǎn)
配置hosts
[root@ecs-0001 ~]# cat /etc/hosts
127.0.0.1?? localhost localhost.localdomain localhost4 localhost4.localdomain4
::1???????? localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.64.196 ecs-0001
192.168.67.91 ecs-0002
192.168.65.22 ecs-0003
安裝集群軟件包
[root@ecs-0001 ~]# yum install ricci openais cman rgmanager lvm2-cluster gfs2-utils
關(guān)閉防火墻
[root@ecs-0001 ~]#? /etc/init.d/iptables stop
[root@ecs-0001 ~]#? chkconfig iptables off
關(guān)閉ACPI服務(wù)
[root@ecs-0001 ~]# /etc/init.d/acpid stop
Stopping acpi daemon:?????????????????? ???????????????????[? OK? ]
[root@ecs-0001 ~]# chkconfig acpid off
設(shè)置ricci密碼
[root@ecs-0001 ~]# passwd ricci
Changing password for user ricci.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
啟動(dòng)ricci服務(wù)
[root@ecs-0001 ~]# /etc/init.d/ricci start
Starting oddjobd:????????????????????????????????????????? [? OK? ]
generating SSL certificates...? done
Generating NSS database...? done
Starting ricci:??????????????????????????????????????????? [? OK? ]
[root@ecs-0001 ~]# chkconfig ricci on
查看所掛載的磁盤(pán)
[root@ecs-0001 ~]# fdi*** -l
Di*** /dev/xvda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Di*** identifier: 0x000d6814
Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/xvda1?????????????? 1???????? 523???? 4194304?? 82? Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/xvda2?? *???????? 523??????? 5222??? 37747712?? 83? Linux
Di*** /dev/xvdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Di*** identifier: 0x00000000
新建目錄
[root@ecs-0001 ~]# mkdir /mnt/gfs_vbd
為磁盤(pán)創(chuàng)建gfs2文件系統(tǒng)
[root@ecs-0001 ~]# mkfs.gfs2 -p lock_dlm -t mycluster:gfs_vbd -j 4 /dev/xvdb
This will destroy any data on /dev/xvdb.
It appears to contain: data
Are you sure you want to proceed? [y/n] y
Device:??????????????????? /dev/xvdb
Blocksize:???????????????? 4096
Device Size??????????????? 100.00 GB (26214400 blocks)
Filesystem Size:?????????? 100.00 GB (26214398 blocks)
Journals:????????????????? 4
Resource Groups:?????????? 400
Locking Protocol:????????? "lock_dlm"
Lock Table:??????????????? "mycluster:gfs_vbd"
UUID:????????????????????? 51cb6076-8155-0cde-12f8-2a813e7fd475
2)????? ecs-0002配置同ecs-0001。
3)????? 管理器
配置hosts
[root@ecs-0003 ~]# cat /etc/hosts
127.0.0.1?? localhost localhost.localdomain localhost4 localhost4.localdomain4
::1???????? localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.64.196 ecs-0001
192.168.67.91 ecs-0002
192.168.65.22 ecs-0003
安裝集群軟件包
[root@ecs-0003 ~]# yum install luci
關(guān)閉防火墻
[root@ecs-0003 ~]#? /etc/init.d/iptables stop
[root@ecs-0003 ~]#? chkconfig iptables off
啟動(dòng)luci
[root@ecs-0003 ~]# /etc/init.d/luci start
Adding following auto-detected host IDs (IP addresses/domain names), corresponding to `ecs-0003' address, to the configuration of self-managed certificate `/var/lib/luci/etc/cacert.config' (you can change them by editing `/var/lib/luci/etc/cacert.config', removing the generated certificate `/var/lib/luci/certs/host.pem' and restarting luci):
(none suitable found, you can still do it manually as mentioned above)
Generating a 2048 bit RSA private key
writing new private key to '/var/lib/luci/certs/host.pem'
Starting saslauthd:??????????????????????? ????????????????[? OK? ]
Start luci...????????????????????????????????????????????? [? OK? ]
Point your web browser to https://ecs-0003:8084 (or equivalent) to access luci
[root@ecs-0003 ~]# chkconfig luci on
5.????? 集群配置
登錄luci高可用管理界面(網(wǎng)址為ecs-0003的彈性IP加上端口8084)。用ecs-0003的root賬號(hào)密碼登錄。
轉(zhuǎn)到Manage Clusters頁(yè)面,點(diǎn)擊Create創(chuàng)建集群,輸入/etc/hosts中的節(jié)點(diǎn)域名和節(jié)點(diǎn)的ricci密碼
集群創(chuàng)建成功
轉(zhuǎn)到Resources頁(yè)面,新建資源,掛載點(diǎn)填剛創(chuàng)建的目錄,設(shè)備填磁盤(pán)路徑
資源創(chuàng)建成功
轉(zhuǎn)到“Failover Domain”,點(diǎn)擊“Add”
創(chuàng)建成功
轉(zhuǎn)到Service Groups頁(yè)面,為ecs-0001新建服務(wù)組
點(diǎn)擊“Add Resource”,選擇剛創(chuàng)建的資源GFS_VBD
創(chuàng)建成功后,點(diǎn)擊GFS_SG_VBD_1,選擇Start on ecs-0001,點(diǎn)擊Start
用同樣的方法為ecs-0002創(chuàng)建服務(wù)組,并在詳情頁(yè),選擇Start on ecs-0002,點(diǎn)擊Start
資源組創(chuàng)建成功
查看集群狀態(tài),可以看到GFS_SG_VBD_1和GFS_SG_VBD_2
查看分區(qū)信息
6.????? 驗(yàn)證共享功能
在ecs-0001上查看分區(qū)信息、在目錄/mnt/gfs_vbd上新建文件test-ecs1
在ecs-0002的/mnt/gfs_vbd目錄可以同步看到test-ecs1文件,查看文件內(nèi)容,和ecs-0001上一樣的。
在ecs-0002中用vi編輯test-ecs1文件,同時(shí)在ecs-0001中也嘗試編輯,出現(xiàn)提示
說(shuō)明GFS2有用同步和鎖機(jī)制來(lái)保護(hù)文件不被覆蓋。
在ecs-0002修改后在ecs-0001查看文件內(nèi)容
內(nèi)容同步成功。
7.????? 注意事項(xiàng)
節(jié)點(diǎn)ecs-0001和節(jié)點(diǎn)ecs-0002,在重啟后,集群相關(guān)的服務(wù)(cman、rgmanager、ricci、modclusterd、clvmd)都會(huì)自動(dòng)重啟,并且會(huì)自動(dòng)加入集群。如果發(fā)現(xiàn)有節(jié)點(diǎn)沒(méi)有加入到mycluster集群,可以在High Availability Management中重新將節(jié)點(diǎn)加入mycluster。
如果df -h發(fā)現(xiàn)分區(qū)表里沒(méi)有掛載的共享磁盤(pán),重新用mount /dev/xvdb /mnt/gfs_vbd命令掛載磁盤(pán),便可與其他節(jié)點(diǎn)同步使用共享磁盤(pán)。
Linux 彈性云服務(wù)器 ECS 云硬盤(pán) EVS
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。