溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

高可用與存儲的結(jié)合

發(fā)布時間:2020-06-12 16:45:03 來源:網(wǎng)絡(luò) 閱讀:516 作者:瀟鋒 欄目:數(shù)據(jù)庫

高可用與存儲的結(jié)合

之前我們做好了fence,今天將高可用和存儲結(jié)合起來。

試驗主機:172.25.0.2   172.25.0.3   172.25.0.251(做數(shù)據(jù)輸出端)

第一部分:

##在做實驗之前,需要將luci打開,并且查看集群狀態(tài):

高可用與存儲的結(jié)合

##將集群的apach關(guān)閉:

高可用與存儲的結(jié)合

##查看ip發(fā)現(xiàn)沒有vip:

高可用與存儲的結(jié)合

##檢測server2的apache(也就是看他開啟再關(guān)閉是否正常):

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##確定集群的apache是關(guān)閉的:

高可用與存儲的結(jié)合

##以上做法也不知道意義何在,且往下看

##增加存儲,存貯在哪都可以,這里是將instructor這臺主機的/dev/vol0/demo邏輯卷作為存貯空間,因為之前做實驗這里邊有數(shù)據(jù),所以我們將它清空:

高可用與存儲的結(jié)合

##這里是用scsi做為存貯類型用到iscsi協(xié)議,所以先查詢需要的軟件,可以用rpm  -qa |grep ##也可以用yum  list  ##

高可用與存儲的結(jié)合

##在數(shù)據(jù)輸出端(也就是做存儲的機子)安裝scsi,對應(yīng)服務(wù)為tgtd,在集群節(jié)點中安裝iscsi協(xié)議,服務(wù)名稱是iscsi:

高可用與存儲的結(jié)合

##編輯配置文件:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##開啟服務(wù):

高可用與存儲的結(jié)合

##查看進程,只能有兩個tgtd,這是正確的,這就需要每次在編輯配置文件時需要將tgtd關(guān)閉,這也是經(jīng)常出的問題。

高可用與存儲的結(jié)合

##查看配置信息:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##在兩個節(jié)點上安裝iscsi:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##默認iscsi是開機自啟的:

高可用與存儲的結(jié)合

##發(fā)現(xiàn)目標(biāo)(target),后面的ip就是做存儲的主機ip。

高可用與存儲的結(jié)合

##登入節(jié)點:

高可用與存儲的結(jié)合

#這個時候用fdisk  -l查看會發(fā)現(xiàn)多了一塊磁盤:

高可用與存儲的結(jié)合

##從節(jié)點上卸載iscsi:

高可用與存儲的結(jié)合

#再用fdisk   -l就找不到那塊共享的磁盤

#卸載后就可以將這個節(jié)點上的緩存刪除,否則每次開啟iscsi都會自動登陸這個磁盤:

高可用與存儲的結(jié)合

#再次發(fā)現(xiàn)和登陸:

高可用與存儲的結(jié)合

#創(chuàng)建分區(qū),類型為8e邏輯卷:

高可用與存儲的結(jié)合

#查詢,sda1的類型是8e:

高可用與存儲的結(jié)合

#查看clvmd服務(wù),這是對集群中邏輯卷管理的服務(wù),確定開啟:

高可用與存儲的結(jié)合

##在節(jié)點2創(chuàng)建邏輯卷,

高可用與存儲的結(jié)合

##會發(fā)現(xiàn)現(xiàn)在節(jié)點3同步過來了,說明clvmd起作用了,他就是來管理邏輯卷的:

高可用與存儲的結(jié)合

##當(dāng)然了,節(jié)點2也會同步過來的:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##查看怎么創(chuàng)建集群vg:

高可用與存儲的結(jié)合

##將剛剛創(chuàng)建的pv用作集群vg:

高可用與存儲的結(jié)合

##查看我們剛剛創(chuàng)建的vg:

高可用與存儲的結(jié)合

##用clustervg創(chuàng)建lv,名字叫demo:

高可用與存儲的結(jié)合

##當(dāng)然所做的一切都會在節(jié)點3中有相應(yīng)體現(xiàn)。

##然后就是將集群邏輯卷格式化:

高可用與存儲的結(jié)合

##然后就是在節(jié)點3中進行掛載到/mnt,在/mnt中寫下首頁,內(nèi)容為www.westos.org。再卸載,當(dāng)然首頁將保存到磁盤中,如果換到http發(fā)布目錄中將可以通過web訪問。

高可用與存儲的結(jié)合

##然后將邏輯卷(存儲)添加到資源中:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##有時會因為超時的原因在你保存之后會退出lusi,這時只需要重新登錄,再次填寫相關(guān)內(nèi)容就好。

##有了資源我們需要將它和http聯(lián)系起來,這就要在服務(wù)選項中的http下面增加資源,選擇webdata:

高可用與存儲的結(jié)合

##這時候會多一個文件系統(tǒng):

高可用與存儲的結(jié)合

##我們這里是將http服務(wù)于存儲整合,所以需要http服務(wù),如果沒有的話,當(dāng)然需要自己先增加一個資源,然后再添加到papache中。

##查看現(xiàn)在的集群狀態(tài),并將集群的apache打開:

高可用與存儲的結(jié)合

##當(dāng)然也可以在圖形中打開:

高可用與存儲的結(jié)合

##現(xiàn)在是apache打開了,Apache下面包括資源vip,存儲,http服務(wù),當(dāng)然這三者的打開順序也應(yīng)該是這樣,顯示vip,然后指存儲,最后才是http服務(wù),這也是為啥在我們往Apache中添加資源時先將之前的http服務(wù)停掉,在添加完存儲之后再將http服務(wù)加上:

高可用與存儲的結(jié)合

##查看集群是否管理了資源:

高可用與存儲的結(jié)合

#vip添加上了。

##http也打開了,磁盤也實現(xiàn)了掛載:

高可用與存儲的結(jié)合

##網(wǎng)頁也能夠訪問了:

高可用與存儲的結(jié)合

##現(xiàn)在將Apache手動交給連一個節(jié)點,當(dāng)參數(shù)忘了,可以用clusvcadm  --help查看相關(guān)參數(shù):

高可用與存儲的結(jié)合

##使用-r -m 可以實現(xiàn)節(jié)點的轉(zhuǎn)換:

高可用與存儲的結(jié)合

##轉(zhuǎn)換完成后節(jié)點二就會將vip添加,實現(xiàn)自動掛載,并且開啟http服務(wù),相反的節(jié)點3上會將相同的服務(wù)關(guān)閉,也就是說高可用集群同時只有一個在工作,解決的是單點故障。

高可用與存儲的結(jié)合

第二部分:

##displayvg   clustervg:

高可用與存儲的結(jié)合

##給集群邏輯卷擴展分區(qū)這里加的511就相當(dāng)于加入2G這樣更精確,現(xiàn)在邏輯卷就會有4G大?。?/span>

高可用與存儲的結(jié)合

##擴展完成后,發(fā)現(xiàn)掛載的磁盤實際并沒有刷新,這就需要刷新一下:

高可用與存儲的結(jié)合

##df 默認顯示的是塊的大小,df  -h顯示的是真實大?。?/span>

高可用與存儲的結(jié)合

##從集群中刪除Apache:

高可用與存儲的結(jié)合

##將節(jié)點2邏輯卷掛載在/mnt,并復(fù)制passwd目錄進去:

高可用與存儲的結(jié)合

##在節(jié)點3上掛載,并且追加westos進去,但是,在節(jié)點3中只能看到自己的追加,并不能看到之前的文件:

高可用與存儲的結(jié)合

##然后將兩邊都卸載。再掛載,在節(jié)點2中卻只能看到在節(jié)點3中追加的westos,并不能看到之前的文件:

高可用與存儲的結(jié)合

##這說明集群同一時間只能有一個節(jié)點接管存儲,這是文件呢系統(tǒng)的原因,所以我們就用到了gfs2文件系統(tǒng),也叫做可擴展的分布式文件系統(tǒng)(也叫做全局文件系統(tǒng)),可以實現(xiàn)多個節(jié)點同時掛載在同一文件系統(tǒng),保證數(shù)據(jù)的同步性,說到同步我們需要知道,在RHCS套件中是css在處理文件系統(tǒng)的同步:

高可用與存儲的結(jié)合

##檢查邏輯卷的文件系統(tǒng)的正確性。

fsck(file system check)用來檢查和維護不一致的文件系統(tǒng)。若系統(tǒng)掉電或磁盤發(fā)生問題,可利用fsck命令對文件系統(tǒng)進行檢查。

高可用與存儲的結(jié)合

##將邏輯卷縮小,當(dāng)然也可以不做這一步:

resize2fs命令被用來增大或者收縮未加載的“ext2/ext3”文件系統(tǒng)的大小。如果文件系統(tǒng)是處于mount狀態(tài)下,那么它只能做到擴容,前提條件是內(nèi)核支持在線resize。,linux kernel 2.6支持在mount狀態(tài)下擴容但僅限于ext3文件系統(tǒng)。

高可用與存儲的結(jié)合

##在查看大小,確實縮小了:

高可用與存儲的結(jié)合

##當(dāng)然這樣并沒有縮小邏輯卷還是用另一種方法來縮小吧:

高可用與存儲的結(jié)合

##再刪除邏輯卷,再創(chuàng)建邏輯卷:

高可用與存儲的結(jié)合

##當(dāng)然這些都是說明集群中邏輯卷的擴展,縮小,新建,這一步可以不做的。

##現(xiàn)在我們就擁有了一個2G的新的邏輯卷:

高可用與存儲的結(jié)合

##補充一下裸設(shè)備與文件系統(tǒng)的區(qū)別:

裸設(shè)備到文件系統(tǒng),格式化的才叫文件系統(tǒng)。

自己對裸設(shè)備的理解,。沒有經(jīng)過格式化的磁盤分區(qū),操作系統(tǒng)不對其進行管理,而是應(yīng)用程序直接管理,所以I/O效率更高,正因為這樣對于讀寫頻繁的數(shù)據(jù)庫等應(yīng)用程序可以用裸設(shè)備,這樣可以極大的提高性能。

文件系統(tǒng)是對一個存儲設(shè)備上的數(shù)據(jù)和元數(shù)據(jù)進行組織的機制。文件系統(tǒng)的工作就是維護文件在磁盤上的存放,記錄文件占用了哪幾個扇區(qū)。另外扇區(qū)的使用情況也要記錄在磁盤上。文件系統(tǒng)在讀寫文件時,首先找到文件使用的扇區(qū)號,然后從中讀出文件內(nèi)容。如果要寫文件,文件系統(tǒng)首先找到可用扇區(qū),進行數(shù)據(jù)追加。同時更新文件扇區(qū)使用信息。在掛載后就可以將掛載點當(dāng)做一個新的文件系統(tǒng)。

fsck是如何工作的:通常情況下,當(dāng) Linux 系統(tǒng)啟動時,首先運行fsck,由它掃描/etc/fstab 文件中列出的所有本地文件系統(tǒng)。fsck 的工作就是確保要裝載的文件系統(tǒng)的元數(shù)據(jù)是處于可使用的狀態(tài)。當(dāng)系統(tǒng)關(guān)閉時,fsck又把所有的緩沖區(qū)數(shù)據(jù)轉(zhuǎn)送到磁盤,并確保文件系統(tǒng)被徹底卸載,以保證系統(tǒng)下次啟動時能夠正常使用。

##得到最恰當(dāng)?shù)膲K大小:

高可用與存儲的結(jié)合

##查看幫助:

高可用與存儲的結(jié)合

##然后就是對邏輯卷的再次格式化:

高可用與存儲的結(jié)合

##然后就是兩個節(jié)點都掛載:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##然后在節(jié)點2的中寫一個首頁:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##這會同步到節(jié)點三中:

高可用與存儲的結(jié)合

##當(dāng)然在節(jié)點3的首頁中增加一行,也會在節(jié)點2中同步:

高可用與存儲的結(jié)合

##要想實現(xiàn)文件系統(tǒng)的永久掛載,查看UUID,然后將掛載信息添加到/etc/fstable:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##當(dāng)然在節(jié)點3中也要做相同的掛載

高可用與存儲的結(jié)合

##把service group中之前的那個ext3文件系統(tǒng)刪除,再在資源中增加一個新的文件系統(tǒng):

高可用與存儲的結(jié)合

##上面這一步是不是可以改為只是把service  group中的文件系統(tǒng)刪除,而不增加另一個文件系統(tǒng),這樣在重新開啟Apache是否會自動添加???

##查看iscsi狀態(tài),是開啟的.

##查看系統(tǒng)中的可掛載設(shè)備和pv:

高可用與存儲的結(jié)合

##當(dāng)然,做完,最好能先卸載掉,查看是否 能夠自動掛載:

高可用與存儲的結(jié)合

##現(xiàn)在開啟Apache:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##就可以訪問了:

高可用與存儲的結(jié)合

第三部分 將Apache換成數(shù)據(jù)庫:

##首先將apache刪除:

高可用與存儲的結(jié)合

##當(dāng)然也可以用命令刪除,然后安裝MySQL

高可用與存儲的結(jié)合

##進入MySQl目錄,將MySQL打開:

高可用與存儲的結(jié)合

##當(dāng)然節(jié)點3上也要安裝:

高可用與存儲的結(jié)合

##檢查存儲,因為我們要將資源交給集群管理,所以我們要將存儲資源關(guān)閉:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##并且將邏輯卷掛載到MySQL的發(fā)布目錄中:

高可用與存儲的結(jié)合

##然后將邏輯卷掛載到/mnt上,并且將MySQL發(fā)布目錄中的所有數(shù)據(jù)移動到/mnt下,然后從/mnt下面卸載:

高可用與存儲的結(jié)合

##這樣MySQL中就沒有文件,文件被保存到邏輯卷中,然后再用mount   -a,就實現(xiàn)邏輯卷到數(shù)據(jù)庫默認目錄的掛載:

高可用與存儲的結(jié)合

##這樣數(shù)據(jù)庫的配置文件就有回來了。

##將數(shù)據(jù)庫的apache的首頁文件刪除,并打開數(shù)據(jù)庫:

高可用與存儲的結(jié)合

##當(dāng)然最后還是要關(guān)閉的將它交給集群,我們在這里的一番折騰只是檢測存儲與MySQL都沒有錯誤,可以正常使用:

高可用與存儲的結(jié)合

##節(jié)點3中也要做相同的工作:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##為數(shù)據(jù)庫增加資源,還是添加一個腳本,這里腳本是只需要輸入名字,和啟動的路徑這樣就可以讓集群來管理開關(guān)了:

高可用與存儲的結(jié)合

##查看集群,發(fā)現(xiàn)并沒有將數(shù)據(jù)庫加進來:

高可用與存儲的結(jié)合

##這就需要將資源加進服務(wù):

高可用與存儲的結(jié)合

##Run exclusive:意思是這個服務(wù)獨占集群,當(dāng)然不能這樣了。然后就是將我們的資源vip和數(shù)據(jù)庫加進來:

高可用與存儲的結(jié)合

##在查看集群,發(fā)現(xiàn)就將數(shù)據(jù)庫服務(wù)加進來了:

高可用與存儲的結(jié)合

##現(xiàn)在就可以登錄數(shù)據(jù)庫了:

高可用與存儲的結(jié)合

##將數(shù)據(jù)庫服務(wù)轉(zhuǎn)交給節(jié)點3:

高可用與存儲的結(jié)合

##現(xiàn)在邏輯卷掛載到了節(jié)點3,vip也轉(zhuǎn)移到了節(jié)點3:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##在節(jié)點三登錄數(shù)據(jù)庫:

高可用與存儲的結(jié)合

##刪除集群數(shù)據(jù)庫:

高可用與存儲的結(jié)合

##在兩個節(jié)點中都將存儲卸載:

高可用與存儲的結(jié)合

##之前所做沒有將存儲加進去:

邏輯卷的掛載是我們手動掛載的,現(xiàn)在將gfs資源加進MySQL服務(wù)就可以實現(xiàn)自動掛載了:

高可用與存儲的結(jié)合

##然后在DB服務(wù)中將之前增加的數(shù)據(jù)庫先刪了,再添加存儲和數(shù)據(jù)庫,因為集群在啟動服務(wù)中的資源時,是按照資源的順序的,而在數(shù)據(jù)庫之前必須要有存儲。

##現(xiàn)在DB服務(wù)是關(guān)閉的,我們將只需將DB服務(wù)打開,就可以自動調(diào)配其他的資源,包括資源的開啟,當(dāng)一個存儲有問題會自動跳到另一臺機子上等:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##已經(jīng)實現(xiàn)了存儲的自動掛載:

高可用與存儲的結(jié)合

##將DB服務(wù)轉(zhuǎn)交給節(jié)點2:

高可用與存儲的結(jié)合

##存儲和vip都轉(zhuǎn)移到了節(jié)點2:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##至此,我們就完成了數(shù)據(jù)庫的服務(wù)的高可用,就解決了數(shù)據(jù)庫的單點故障。

第四部分:圖形修改對應(yīng)進程:

##將DB服務(wù)關(guān)閉并且刪除,將gfs2資源刪除:

高可用與存儲的結(jié)合

第五部分:不用圖形的高可用集群(不用luci的高可用集群)pacemake。

##在rhcl7之后就沒有了luci,就不能借助圖形來管理集群了,下面就來介紹費圖形界面的高可用集群管理。

##首先將之前在rhcl6中做的都給刪除,包括將節(jié)點從集群中脫離并刪除:

高可用與存儲的結(jié)合

##還有cman,rgmanager

高可用與存儲的結(jié)合

##還有modclusterd

高可用與存儲的結(jié)合

##還有iscsi,關(guān)閉,啟動項也關(guān)閉:

高可用與存儲的結(jié)合

##在安裝scsi的機子上,檢查iscsi的情況:

高可用與存儲的結(jié)合

##將scsi關(guān)閉:

高可用與存儲的結(jié)合

##兩個節(jié)點安裝pacemake:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##若用新的虛擬機,需要安裝heartbeat、drbd、mysql-server、httpd

##安裝完pacemake后將會有一個控制心跳的配置文件目錄:

高可用與存儲的結(jié)合

##編輯配置文件:

#原始的例子內(nèi)容:

高可用與存儲的結(jié)合

##修改后的配置文件其實就修改了兩處,一個是將綁定的網(wǎng)絡(luò)地址改為集群的網(wǎng)絡(luò)地址,在最后一行增加服務(wù):

高可用與存儲的結(jié)合

............................................

高可用與存儲的結(jié)合

##上述修改的目的:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

#當(dāng)最后的ver設(shè)置為1的時候,插件打不開pacemake的守護進程,這里我們還是設(shè)置為0,表示可以打開pacemaker的守護進程,通過組件調(diào)動而不是腳本。

Plugin:插件

Daemons:是守護進程的意思,代表在后臺運行而沒有終端或者運行的shell與其結(jié)合的進程。

##可以到官網(wǎng)下載關(guān)于pacmake的官方文檔:

高可用與存儲的結(jié)合

##將修改后的配置文件復(fù)制到節(jié)點3.

高可用與存儲的結(jié)合

##開啟心跳服務(wù):

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##這里的報錯是因為stonish的原因,默認stonish是開啟的這樣verify時會報錯,并且也不能commit,所以在配置之前需要將stonish關(guān)閉:

高可用與存儲的結(jié)合

##然后需要安裝連個包,最好先安裝pssh在安裝crm,,因為第二個是第一個的依賴性,當(dāng)然也可以一起安裝,但是需要安裝兩遍:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##然后將兩個包拷貝給節(jié)點3,安裝:

高可用與存儲的結(jié)合

##然后就可以用crm服務(wù)了:

因為之前coroysnc的原因這里節(jié)點指直接加進去的,如果沒有加進去可以用edit加進去,也可以重啟coroysnc,這樣就加進去了。

高可用與存儲的結(jié)合

##然后切換到資源管理模塊:

高可用與存儲的結(jié)合

##將stonish關(guān)閉:

高可用與存儲的結(jié)合

##這樣檢測語法就不會有錯了:

高可用與存儲的結(jié)合

##不管在哪邊增加策略,兩邊都會同步的:

高可用與存儲的結(jié)合

##定義資源:

例子:

crm(live)configure# primitive webvip ocf:heartbeat:IPaddr params ip=172.16.12.100 op monitor interval=30s timeout=20s on-fail=restart

//定義一個主資源名稱為webvip,資源代理類別為ocf:heartbeat,資源代理為IPaddr。params:指定定義的參數(shù) ,op代表動作,monitor設(shè)置一個監(jiān)控,每30s檢測一次,超時時間為20s,一旦故障就重啟

#增加一個vip資源:

高可用與存儲的結(jié)合

##也可以用edit編輯配置文件:

高可用與存儲的結(jié)合

高可用與存儲的結(jié)合

##在0.251這臺機子上是可以ping通增加的資源的:

高可用與存儲的結(jié)合

##對參數(shù)的解釋:

crm_verify -LV  檢測配置信息    
crm_mon  監(jiān)控主機狀態(tài)

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI