corosync+pacemaker+iscsi實現mfs的高可用

Mfs分佈式存儲的搭建以及部署這篇博客,下面我們將利用corosync+pacemaker+iscsi+mfs實現一個高可用集羣文件系統。
實驗環境:rhel6.5
實驗主機:
server1 mfsmaster 172.25.70.1
server4 mfsmaster 172.25.70.4
server2 mfschunker 172.25.70.2
server4 mfschunker 172.25.70.4
server5 scsi 172.25.70.5
foundation70 mfsclient 172.25.25.70 (真機)
注意:mfsmaster和mfschunker以及mfsclient的安裝詳見Mfs分佈式存儲的搭建以及部署這篇博客,下面我們只需要在安裝mfsmaster在server4上即可。

[root@server4 ~]# yum install moosefs-cgi-3.0.97-1.rhsysv.x86_64.rpm moosefs-cgiserv-3.0.97-1.rhsysv.x86_64.rpm moosefs-master-3.0.97-1.rhsysv.x86_64.rpm -y

1、corosync和pacemaker的安裝
配置yum源,由於我們是rhel6.5的系統,所以只需要在域名源重添加HighAvailability的配置即可

[HighAvailability]
name=HighAvailability
baseurl=http://172.25.70.250/rhel6.5/HighAvailability
gpgcheck=0

server1和server4上安裝pacemaker、corosync

[root@server4 ~]# yum install pacemaker corosync

修改corosync的配置文件

[root@server1 ~]# vim /etc/corosync/corosync.conf
totem {
        version: 2
        secauth: off
        threads: 0
        interface {
                ringnumber: 0
                bindnetaddr: 172.25.70.0   #該實驗環境的ip域
                mcastaddr: 226.94.1.1      #多播地址
                mcastport: 5405
                ttl: 1
        }
}

service {
        name: pacemaker                    #corosync支持pacemaker服務
        ver: 0                             corosync與pacemaker一起啓動
}

將修改好的corosync的配置文件直接scp到server4的/etc/corosync上

[root@server1 corosync]# scp corosync.conf server4:/etc/corosync/

啓動server1和server4上的corosync服務

[root@server1 corosync]# /etc/init.d/corosync start
[root@server4 corosync]# /etc/init.d/corosync start

2、server1和server4安裝插件crmsh來進行pacemaker資源管理
所需rpm包:

crmsh-1.2.6-0.rc2.2.1.x86_64.rpm  pssh-2.3.1-2.1.x86_64.rpm(該rpm包爲crmsh的依賴包)
yum install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm  pssh-2.3.1-2.1.x86_64.rpm  -y

利用crm_mon來查看server1和server4的狀態
這裏寫圖片描述
利用crm命令可以進入交互界面
這裏寫圖片描述
關閉fence stonith功能:

crm(live)# configure 
crm(live)configure# property stonith-enabled=false
crm(live)configure# commit

添加vip

crm(live)# configure
crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.70.100 cidr_netmask=24 op monitor interval=30s
crm(live)configure# commit    

給實驗真機添加本地解析

[root@foundation70 Desktop]# vim /etc/hosts
172.25.70.100 mfsmaster

3、server1和server4上創建高可用mfsd啓動模版

[root@server1 ~]# vim /etc/init.d/moosefs-master

這裏寫圖片描述

[root@server1 ~]# /etc/init.d/moosefs-master restart
[root@server1 ~]# scp /etc/init.d/moosefs-master  server4:/etc/init.d/moosefs-master    #將該配置文件複製一份到server4上
[root@server4 ~]# /etc/init.d/moosefs-master  restart   

4.在server5上安裝scsi、在server1和server4上安裝iscsi

在server5上添加一塊虛擬硬盤
這裏寫圖片描述
爲新添加的硬盤進行分區

[root@server5 ~] fdisk /dev/vdb

server5安裝scsi

[root@server5 ~]# yum install scsi-target-utils.x86_64 -y

server1和server4安裝iscsi

yum install iscsi-initiator-utils.x86_64 -y

server5修改scsi的配置文件來關聯scsi的客戶端

[root@server5 ~]# vim /etc/tgt/targets.conf

<target iqn.2018-09.com.example:server.target4>
    backing-store /dev/vdb                #添加的虛擬硬盤名
    initiator-address 172.25.70.1         #iscsi所在的主機的ip
    initiator-address 172.25.70.4
</target>
[root@server5 ~]# /etc/init.d/tgtd start

檢測,成功添加

[root@server5 ~]# tgt-admin -s

這裏寫圖片描述

5、server1和server4上的iscsi發現和登錄server5上的設備

[root@server1 ~]# iscsiadm -m discovery -t st -p 172.25.70.5

這裏寫圖片描述

[root@server1 ~]# iscsiadm -m node -l

這裏寫圖片描述
server1上多了一塊磁盤分區用fdisk -l查看
這裏寫圖片描述
爲該磁盤分進行格式化,並將他掛載在/var/lib/mfs下

[root@server1 ~]# mkfs.ext4 /dev/sda1
[root@server1 mnt]# mount /dev/sda1 /var/lib/mfs/
[root@server1 mnt]# cd /var/lib/mfs/
[root@server1 mfs]# chown mfs:mfs . -R
[root@server1 mfs]# /etc/init.d/moosefs-master restart
[root@server1 mfs]# /etc/init.d/moosefs-cgiserv  restart
##給server4也做相同的操作

此時可以在網頁上通過9425端口訪問到mfs的內容
這裏寫圖片描述

6、對pacemaker進行策略設置
設置存儲

[root@server1 mfs]# crm
crm(live)# configure 
crm(live)configure# primitive mfsdata ocf:heartbeat:Filesystem params device=/dev/sda1 directory=/var/lib/mfs fstype=ext4 op monitor interval=1min                #設置存儲
crm(live)configure# primitive mfsmaster lsb:moosefs-master op monitor interval=1min                #設置服務
crm(live)configure# group mfsgroup vip mfsdata mfsmaster   #將vip、存儲、服務都添加到資源組裏
crm(live)configure# commit

在server4上用crm_mon命令查看
這裏寫圖片描述
將server1設置爲standby,各類資源就啓動在server4上

[root@server1 ~]# crm node standby

這裏寫圖片描述
7、mfsclient上掛載
入前面所述,真機上已經安裝mfsclient

[root@foundation70 ~]# mfsmount    #執行mfsmount,成功掛載
mfsmaster accepted connection with parameters: read-write,restricted_ip,admin ; root mapped to root:root
[root@foundation70 ~]# cd /mnt/mfs    
[root@foundation70 mfs]# ls    #有之前建立的數據目錄,讀者可以自行建立
dir1  dir2
[root@foundation70 mfs]# cd dir1/
[root@foundation70 mfs]# dd if=/dev/zero of=bigfile bs=1M count=1024  

8、測試高可用

[root@foundation70 dir1]# cp /etc/passwd .

當前vip在server4上
這裏寫圖片描述
令server4的pacemaker和corosync停掉

[root@server4 ~]# /etc/init.d/corosync stop

mfsclient還能正常操作

[root@foundation70 dir1]# ls   #文件還存在
passwd
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章