在集群中添加資源
先了解一下什麽是資源(resource)。舉例來說,我們通過某個IP訪問httpd服務,如果IP不通或者httpd沒有啟動我們都不能正常訪問web服務,所以這二者是一個整體,我們稱之為“服務組”。在集群中,組成服務組的一個個元素比如IP,httpd叫做“資源”。
一. 首先設置集群屬性
因為現在環境裏還沒有fence,所以必須要一些設置集群才可以正常工作。點擊"CLUSTER PROPERTIES"
設置"No Quorum Policy"為Ignore
取消Stonith Enabled:
點擊"Apply Changes"。
二. 添加第一個資源
1.添加第一個資源: VIP
vip稱之為虛擬IP或者浮動IP,總是運行在活躍節點上
Class/Provider選擇ocf:heartbeat
Type選擇IPaddr2
Resource ID 可以隨意取名,用於標記不同的資源名,這裏起名為vip
ip位置 填寫一個未使用的IP地址,後期訪問服務就通過這個IP
展開 "Optional Arguments"
cidr_netmask 處填寫24
點擊"Create Resource"
這樣vip資源就創建好了,稍等一會可看到如下界面:
從上圖可以看到vip當前正在運行,且運行在node1上。
在命令行中查看資源的運行狀況,在node1~node3任一節點上查看:
也可以看到看到vip是在node1上運行。此時node1上有兩個IP,一個是本地IP一個是VIP:
2.下面驗證資源切換
在node1~node3任一節點上執行pcs cluster standby node1,模擬node1宕機:
此時可以看到資源vip已經切換到了node2上,驗證node2上是否有兩個IP:
由此可以看到資源切換正常。
把node1再次激活:
[root@node1 ~]# pcs cluster unstandby node1
三. 添加第二個資源
1.安裝相關軟件包
在3個節點上分別安裝httpd,記住不要手動的啟動httpd服務:
[root@nodeX ~]# yum install httpd -y
已加載插件:product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
base | 4.1 kB 00:00:00
base1 | 4.1 kB 00:00:00
base2 | 4.1 kB 00:00:00
正在解決依賴關系
…
已安裝:
httpd.x86_64 0:2.4.6-31.el7
作為依賴被安裝:
apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7 httpd-tools.x86_64 0:2.4.6-31.el7 mailcap.noarch 0:2.1.41-2.el7
完畢!
[root@nodeX ~]#
為了明顯看到資源的切換,在三臺節點上index.html寫上不同的內容:
[root@node1 ~]#
[root@node1 ~]# echo node11111 > /var/www/html/index.html
[root@node1 ~]#
[root@node2 ~]# echo node2222222222 > /var/www/html/index.html
[root@node3 ~]# echo node33333 > /var/www/html/index.html
2.添加http資源
點擊"RESOURCE"-> add
Class/Provider 選擇systemd
Type 選擇httpd (如果裏面沒有httpd的話,刷新一下頁面重新添加)
資源名稱我這裏設置為"webserver"
點擊"Create Resource"
這樣就可以看到資源webserver已經創建完畢
3.解決一些問題
通過仔細查看,vip和webserver兩個資源並沒有運行在同一臺機器上:
下面這樣做(為什麽先不管,後面會講)
選中vip,點擊"Create Group"
輸入組名,名字用於區分不同的組,可以隨便寫,這裏寫group_1
點擊"Create Group"
反選vip,選中webserver,在後側Resource Group選擇group_1
點擊"Apply Changes"
此時就可以保證webserver會和vip在同一臺機器,意思就是vip遷移,webserver會緊隨遷移。
4.下面開始驗證
從下圖可以看到vip和webserver均運行在node2上:
所以客戶端訪問的時候,也是訪問到node2上的httpd:
現在把node2 執行standby操作:
[root@node1 ~]# pcs cluster standby node2
可以看到,vip和webserver均跑到了node1上了:
此時客戶端訪問到node1的httpd:
關註“老段工作室公眾號”,文章更新早知道,每天幾分鐘,輕輕松松的學習。
在集群中添加資源