MFS高可用

來源:互聯網
上載者:User

標籤:mfs高可用

用途:
解決mfs master的單點問題,同樣可以作為其他需要高可用環境的標準配置方法

規劃:
使用drbd實現主備機的災容,Heartbeat做心跳監測,Pacemaker實現服務(資源)的切換及控制等

描述:
drbd雙主模式對網路和配置要求比較高,在此結構下不採用;
drbd需要清空一個分區,並且不能格式化
可單獨由heartbeat實現服務的切換及failover;
需要ha項目中的其他組件,如GLUE和ResourceAgent。

軟體:
DRBD:http://oss.linbit.com/drbd/
DRBD 8.3.9: drbd-8.3.9.tar.gz
HA:http://www.linux-ha.org/wiki/Downloads
Heartbeat 3.0.4: Heartbeat-3-0-STABLE-3.0.4.tar.bz2
Cluster Glue 1.0.7: glue-1.0.7.tar.bz2
Resource Agents 1.0.3: agents-1.0.3.tar.bz2
Pacemaker 1.0.5: Pacemaker-1.0.5.tar.bz2
mfs下載:http://www.moosefs.org/index.php/download.html
moosefs 1.6.20: mfs-1.6.20-2.tar.gz

環境:
mfsmaster:192.168.1.1
mfsbackup:192.168.1.2
VIP:192.168.1.10

安裝:
設定hosts:
# vi /etc/hosts
192.168.1.1    mfs.master
192.168.1.2    mfs.backup
DRBD:
# wgethttp://oss.linbit.com/drbd/8.3/drbd-8.3.9.tar.gz
# tar zxvf drbd-8.3.9.tar.gz
# cd drbd-8.3.9
# ./configure --prefix=/usr/local/drbd --with-km
# make && make install
# vi /usr/local/drbd/etc/drbd.d/global_common.conf
        syncer {
                # rate after al-extents use-rle cpu-mask verify-alg csums-alg
                rate 100M;
        }
# vi /usr/local/drbd/etc/drbd.d/mfs.res

resource mfs {
  device    /dev/drbd0;
  disk      /dev/lvm/mfsdata;
  meta-disk internal;
  on mfs.master {
    address 192.168.1.1:7789;
  }

  on mfs.backup {
    address 192.168.1.2:7789;
  }
}
# cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/init.d/
# insmod /lib/modules/2.6.18-8.el5/kernel/drivers/block/drbd.ko
# modprobe drbd
# chkconfig --add drbd
# chkconfig --level 35 drbd on
# service drbd start
# drbdadm create-md all

# mkfs.ext3 /dev/drbd0
# vi /etc/fstab
/dev/drbd0              /mfsmeta                    ext3    defaults,noatime,nodiratime        0 0
以上主備機同樣的配置,查看同步狀態:
# cat /proc/drbd
GIT-hash: 1c3b2f71137171c1236b497969734da43b5bec90 build by [email protected], 2010-12-20 19:19:37
 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:89190240 nr:613604 dw:89803844 dr:620461 al:45275 bm:5 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
在主機上執行:
# drbdsetup /dev/drbd0 primary -o
# mount /mfsmeta
至此drbd安裝完成,可以根據文檔,做一些測試。

MFS:
# wgethttp://pro.hit.gemius.pl/hitredir/id=0sWa0S8ft4sTAHF1bGAAEZPcP3ziyq7f9SdhoQf7oeT.c7/url=moosefs.org/tl_files/mfscode/mfs-1.6.20-2.tar.gz
# tar zxvf mfs-1.6.20-2.tar.gz
# cd mfs-1.6.20
# ./configure --prefix=/usr/local/mfs
# make
# make install
# vi /usr/local/mfs/etc/mfsmaster.cfg
 DATA_PATH = /mfsdata/metalog
# mkdir /mfsmeta/metalog
# chown nobody.nobody /mfsmeta/metalog
設定臨時hosts,測試mfs啟動:
# vi /etc/hosts
192.168.1.1    mfsmaster
# /usr/local/mfs/sbin/mfsmaster start
mfs master安裝完成,其他的chunkserver安裝和詳細配置,請參考文檔。

HA: 
配置:
# export PREFIX=/usr
# export LCRSODIR=$PREFIX/libexec/lcrso
# export CLUSTER_USER=hacluster
# export CLUSTER_GROUP=haclient

# getent group ${CLUSTER_GROUP} >/dev/null || groupadd -r ${CLUSTER_GROUP}
# getent passwd ${CLUSTER_USER} >/dev/null || useradd -r -g ${CLUSTER_GROUP} -d /var/lib/heartbeat/cores/hacluster -s /sbin/nologin -c "cluster user" ${CLUSTER_USER}

GLUE:
# wget -O cluster-glue.tar.bz2http://hg.linux-ha.org/glue/archive/tip.tar.bz2
# tar jxvf cluster-glue.tar.bz2
# cd Reusable-Cluster-Components-*
# ./autogen.sh && ./configure --prefix=$PREFIX  --with-daemon-user=${CLUSTER_USER} --with-daemon-group=${CLUSTER_GROUP}
# make
# make install

Resource Agent:
# wget -O resource-agents.tar.bz2http://hg.linux-ha.org/agents/archive/tip.tar.bz2
# tar jxvf resource-agents.tar.bz2
# cd Cluster-Resource-Agents-*
# ./autogen.sh && ./configure --prefix=$PREFIX
# make
# make install

Heartbeat:
# wget -O heartbeat.tar.bz2http://hg.linux-ha.org/dev/archive/tip.tar.bz2
# tar jxvf heartbeat.tar.bz2
# cd Heartbeat-*
# ./bootstrap && ./configure --prefix=$PREFIX
# make
# make install
# cp doc/ha.cf $PREFIX/etc/ha.d/
# cp doc/authkeys $PREFIX/etc/ha.d/
# chmod 0600 $PREFIX/etc/ha.d/authkeys
配置heartbeat:
# vi $PREFIX/etc/ha.d/ha.cf
debugfile /opt/logs/heartbeat/ha-debug
logfile /opt/logs/heartbeat/ha-log
logfacility     local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
ucast eth0 192.168.1.2
auto_failback on
ping 192.168.1.254
respawn hacluster /usr/lib64/heartbeat/ipfail
crm on
# service heartbeat start
具體配置說明請參考文檔。

Pacemaker:
# wget -O pacemaker.tar.bz2http://hg.clusterlabs.org/pacemaker/stable-1.0/archive/tip.tar.bz2
# tar jxvf pacemaker.tar.bz2
# cd Pacemaker-1-0-*
# ./autogen.sh && ./configure --prefix=$PREFIX --with-lcrso-dir=$LCRSODIR
# make
# make install
# ldconfig -v
# crm
crm(live)# configure node mfs.master
crm(live)# configure node mfs.backup
crm(live)# configure primitive mfsmaster_drbd ocf:linbit:drbd params drbd_resource="mfs" drbdconf="/usr/local/drbd/etc/drbd.conf" meta migration-threshold="10"
crm(live)# configure monitor mfsmaster_drbd 30s:20s
crm(live)# configure primitive mfsmaster_fs ocf:heartbeat:Filesystem params device="/dev/drbd0" directory="/mfsmeta" fstype="ext3"
crm(live)# configure primitive mfsmaster_vip ocf:heartbeat:IPaddr2 params ip="192.168.1.10" nic="eth0:0"
crm(live)# configure primitive mfsmaster lsb:mfsmaster
crm(live)# configure monitor mfsmaster 30s:30s
crm(live)# configure group mfsmaster_group mfsmaster_vip mfsmaster_fs mfsmaster
crm(live)# configure ms mfsmaster_drbd_ms mfsmaster_drbd meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"
crm(live)# configure colocation mfsmaster_colo inf: mfsmaster_group mfsmaster_drbd_ms:Master
crm(live)# configure order mfsmaster_order inf: mfsmaster_drbd_ms:promote mfsmaster_group:start
crm(live)# configure property $id="cib-bootstrap-options" expected-quorum-votes="2" stonith-enabled="false" no-quorum-policy="ignore" start-failure-is-fatal="false"
crm(live)# configure commit
crm(live)# quit

設定VIP為mfsmaster:
# vi /etc/hosts
192.168.1.10    mfsmaster
可以使用crm_mon查看資源狀態,如果正常應該是類似:
# crm_mon

 ============
Last updated: Sun Jan 23 14:01:53 2011
Stack: Heartbeat
Current DC: mfs.backup (985860ea-ae2b-4490-b7e9-19f902321358) - partition with quorum
Version: 1.0.10-b0266dd5ffa9c51377c68b1f29d6bc84367f51dd
2 Nodes configured, 2 expected votes
2 Resources configured.

============ 
Online: [ mfs.master mfs.backup ]

 Resource Group: mfsmaster_group
     mfsmaster_vip      (ocf::heartbeat:IPaddr2):       Started mfs.master
     mfsmaster_fs       (ocf::heartbeat:Filesystem):    Started mfs.master
     mfsmaster  (lsb:mfsmaster):        Started mfs.master
 Master/Slave Set: mfsmaster_drbd_ms
     Masters: [ mfs.master ]
     Slaves: [ mfs.backup ]

至此,mfs的高可用環境搭建完成,可以使用crm node stndby和crm node online進行資源測試。


MFS高可用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.