MFS高可用(pacemaker+corosync+vmfence+mfsmaster+iscsi)


待完善…

實驗環境

主機(IP) 服務
server1(172.25.11.1) mfsmaster corosync+pacemaker
server2(172.25.11.2) chunk server
server3(172.25.11.3) chunk server
server4(172.25.11.4) mfsmaster corosync+pacemaker
真機(172.25.11.250) client

pacemaker+corosync實現高可用

server1與server4主機mfs master的部署

  • 下面以server1的安裝爲例,server4的安裝同理。
  • 下載並安裝。
[root@server1 ~]# ls
moosefs-cgi-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-cgiserv-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-chunkserver-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-cli-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-client-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-metalogger-3.0.103-1.rhsystemd.x86_64.rpm

[root@server1 ~]# yum install moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm   moosefs-cli-3.0.103-1.rhsystemd.x86_64.rpm  moosefs-cgiserv-3.0.103-1.rhsystemd.x86_64.rpm   moosefs-cgi-3.0.103-1.rhsystemd.x86_64.rpm -y

在這裏插入圖片描述

在這裏插入圖片描述

  • server1添加解析
[root@server1 ~]# vim /etc/hosts
172.25.11.1     server1  mfsmaster
  • 開啓服務,查看端口
[root@server1 mfs]# systemctl start moosefs-master
[root@server1 mfs]# netstat -antlp
[root@server1 mfs]# systemctl start moosefs-cgiserv
[root@server1 mfs]# netstat -antlp

在這裏插入圖片描述

在這裏插入圖片描述

  • 瀏覽器中訪問查看:http://172.25.11.1:9425/mfs.cgi
    在這裏插入圖片描述

server1與server4配置高可用的yum源

  • 以server1爲例,server4的搭建同理
[root@server1 system]# vim /etc/yum.repos.d/rhel7.repo

[rhel7.3]
name=rhel7.3
gpgcheck=0
baseurl=http://172.25.11.250/rhel7.3

[HighAvailability]
name=HighAvailability
gpgcheck=0
baseurl=http://172.25.11.250/rhel7.3/addons/HighAvailability

[ResilientStorage]
name=ResilientStorage
gpgcheck=0
baseurl=http://172.25.11.250/rhel7.3/addons/ResilientStorage

在這裏插入圖片描述

server1和server4安裝pacemaker+corosync

  • server1:
[root@server1 system]# yum install pacemaker corosync -y
  • server4:
[root@server4 ~]# yum install pacemaker corosync -y

因爲要實現高可用,所以server1與server4之間需要免密

[root@server1 system]# ssh-keygen
[root@server1 system]# ssh-copy-id server4
[root@server1 system]# ssh server4
[root@server1 system]# ssh-copy-id server1
[root@server1 ~]# ssh server1

在server1和server4上安裝資源管理工具並且開啓相應服務

  • server1與server4同理,這裏以server1爲例。
[root@server1 ~]# yum install pcs -y
[root@server1 ~]# systemctl start pcsd
[root@server1 ~]# systemctl enable pcsd
[root@server1 ~]# id hacluster
uid=189(hacluster) gid=189(haclient) groups=189(haclient)
[root@server1 ~]# passwd hacluster

在server1上創建mfs集羣並且啓動

  • 創建集羣
[root@server1 ~]# pcs cluster auth server1 server4
Username: hacluster
Password: 
server4: Authorized
server1: Authorized

在這裏插入圖片描述

  • 爲集羣命名
[root@server1 ~]# pcs cluster setup --name mycluster server1 server4

在這裏插入圖片描述

  • 開啓集羣
[root@server1 ~]# pcs cluster start --all
server1: Starting Cluster...
server4: Starting Cluster...

查看集羣狀態

[root@server1 ~]# corosync-cfgtool -s
[root@server1 ~]# pcs status corosync

在這裏插入圖片描述

檢查並解決報錯

[root@server1 ~]# crm_verify -L -V
[root@server1 ~]# pcs property set stonith-enabled=false
[root@server1 ~]# crm_verify -L -V

在這裏插入圖片描述

創建集羣資源及添加VIP

  • 在server1上:
[root@server1 ~]# pcs resource create --help
[root@server1 ~]# pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.11.100 cidr_netmask=32  op monitor interval=30s
[root@server1 ~]# pcs resource show
[root@server1 ~]# pcs status

在這裏插入圖片描述

  • 在server4上查看vip:
[root@server4 ~]# crm_mon

在這裏插入圖片描述

測試

  • 查看vip此時在server1上:
    在這裏插入圖片描述
  • 將cluster集羣中的server1關掉,此時vip漂移到server4上。
[root@server1 ~]# pcs cluster stop server1

在這裏插入圖片描述
在這裏插入圖片描述

  • 查看監控信息顯示此時在線的也只有server4:
[root@server4 ~]# crm_mon

在這裏插入圖片描述

  • 再次開啓集羣中的server1,發現vip還是在server4上,但是監控信息查看時server1和server4都是在線的。
[root@server1 ~]# pcs cluster start server1
server1: Starting Cluster...

[root@server4 ~]# crm_mon 
[root@server4 ~]# ip a

在這裏插入圖片描述
在這裏插入圖片描述
綜上,高可用部署成功!

[root@server1 ~]# pcs resource standards 
[root@server1 ~]# pcs resource providers 
[root@server1 ~]# pcs resource agents ocf:heartbeat

在這裏插入圖片描述

在這裏插入圖片描述

存儲(數據共享)

注意:在客戶端如果在數據恢復時進行了相應的掛載,df是查看不到的,用mount命令查看,如果有掛載需要先卸載。(/mnt/mfsmeta)
關閉server1和server4的master服務及其server2和server3的chunkserver服務爲iscsi的實驗環境做準備。

server2(chunk server)

  • 添加一塊20G的虛擬硬盤/dev/vdb。
  • 安裝服務端的targetcli。
[root@server2 ~]# yum install targetcli -y
[root@server2 ~]# systemctl start target
  • 共享/dev/vdb1。
[root@server2 ~]# targetcli
/backstores/block> create storage1 /dev/vdb
/iscsi> create iqn.2019-08.org.westos:target1
/iscsi/iqn.20...et1/tpg1/luns> create /backstores/block/storage1
/iscsi/iqn.20...et1/tpg1/acls> create iqn.2019-08.org.westos:client

在這裏插入圖片描述

server1&server4(mfsmaster)

  • sevrer1與server4的操作步驟相同,這裏以server1爲例。
  • 安裝客戶端軟件。
[root@server1 ~]# yum install iscsi-* -y
  • 修改連接的密碼。
[root@server1 ~]# vim /etc/iscsi/initiatorname.iscsi 
[root@server1 ~]# cat /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.2019-08.org.westos:client
  • 客戶端發現共享的磁盤並使用,劃分一塊/dev/sda1,並格式化成ext4的格式。
[root@server1 ~]# iscsiadm -m discovery -t st -p 172.25.11.2
[root@server1 ~]# iscsiadm -m node -l
[root@server1 ~]# fdisk -l
[root@server1 ~]# fdisk /dev/sda
[root@server1 ~]# mkfs.ext4 /dev/sda1
[root@server4 ~]# cat /proc/partitions 

在這裏插入圖片描述

在這裏插入圖片描述

  • 掛載格式化後的
  • 創建一個存儲資源。
    IPAddr2 資源代理 傳參 就是一個腳本 每個30s對資源做一個監控
[root@server1 mfs]# pcs resource create mfsdata Filesystem device=/dev/sda1 directory=/var/lib/mfs fstype=ext4 op monitor interval=60s
[root@server1 mfs]# crm_mon 

此時vip資源和存儲資源並不在一臺mfsmaster服務器上。
在這裏插入圖片描述

  • 創建一個服務資源。
[root@server1 mfs]# pcs resource create mfsmaster systemd:moosefs-master op monitor interval=60s
[root@server1 mfs]# pcs resource group add mfsgroup vip mfsdata mfsmaster

在這裏插入圖片描述

4個節點做解析,寫入vip

[root@server1 ~]# vim /etc/hosts
172.25.11.100   mfsmaster
[root@server2 ~]# systemctl start moosefs-chunkserver
[root@server3 ~]# systemctl start moosefs-chunkserver

真機

掛載

[root@foundation11 ~]# mfsmount 
[root@foundation11 ~]# df

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章