歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Centos 6.0系統drbd+heartbeat+nfs實現高可用文件存儲

本文centos6.0系統:

使用drbd鏡像技術實現後台兩台服務器數據同步,使用heartbeat實現自動切換,開啟nfs提供文件服務

node1:192.168.182.132

node2:192.168.182.128

vip:192.168.182.200

1、配置hosts,安裝drbd、heartbeat、nfs

1>、node1、node2:

vim hosts

192.168.182.132    node1

192.168.182.128    node2

2>、drbd:

yum -y install gcc kernel-devel kernel-headers flex libnet

tar zxvf drbd-8.4.3.tar.gz

cd drbd-8.4.3

./configure --prefix=/usr/local/drbd --with-km

make KDIR=/usr/src/kernels/2.6.32-71.el6.i686/

make install

mkdir -p /usr/local/drbd/var/run/drbd

cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d

chkconfig --add drbd

chkconfig drbd on

cd drbd

cp drbd.ko /lib/modules/`uname -r`/kernel/lib/

depmod

modprobe drbd

cd /usr/local/drbd/etc/drbd.d

mv global_common.conf global_common.conf.bak

vim global_common.conf

global    {

  usage-count    yes;  #是否參加DRBD使用者統計,默認yes

  }

  common    {

  net    {

     protocol    C;  #使用drbd的第三種同步協議,表示收到遠程主機的寫入確認後,則認為寫入完成.

  }

  }

vim r0.res

resource    r0    {

      on node1    {   #每個主機的說明以on開頭,後面是hostname

      device    /dev/drbd1;   #drbd設備名

      disk    /dev/sdb1;  #/dev/drbd1使用的磁盤分區是/dev/sdb1。

      address    192.168.182.132:7789;    #設置DRBD的監聽端口,用於與另一台主機通信。

      meta-disk    internal;

  }

      on node2    {

      device    /dev/drbd1;

      disk    /dev/sdb1;

      address    192.168.182.128:7789;

      meta-disk    internal;

  }

3>、 啟動DRBD

drbdadm create-md r0

/etc/init.d/drbd start

node1:執行

drbdsetup /dev/drbd1 primary --o

mkfs.ext4 /dev/drbd1

我們將其掛載到/root/data

目前為止:drbd安裝完畢,已經同步,更詳請見:

http://lansgg.blog.51cto.com/5675165/1194252

4>、在node1、node2上配置nfs(一樣操作)

yum install nfs rpcbind -y

vim /ect/exports

/root/data    *(rw,no_root_squash,async)

/etc/init.d.nfs restart

2、現在開始安裝heartbeat及配置

yum install heartbeat -y

cp /usr/share/doc/heartbeat-3.0.4/authkeys ha.cf haresources /etc/ha.d/

1、node1配置ha.cf

logfile    /var/log/ha-log

logfacility    local0

keepalive 2

deadtime 30

warntime 10

initdead 120

udpport    694

ucast eth0 192.168.182.128

auto_failback off

node node1

node node2

ping 192.168.182.2

respawn root /usr/lib/heartbeat/ipfail

++++++++++++++++++++++++++++++++

node2的ha.cf和上面一樣,只是ucast eth0 192.168.182.132(對方IP)

配置/etc/ha.d/authkeys

auth 2

#1 crc

2 sha1 heartbeat

#3 md5 Hello!

node2同上

配置/etc/ha.d/haresources

node1 IPaddr::192.168.182.200/24/eth0 drbddisk::r0 Filesystem::/dev/drbd1::/root/data::ext4 nfs

node2同上

cp /usr/local/drbd/etc/ha.d/resource.d/drbddisk /etc/ha.d/resource.d/

node2同上

4、啟動heartbeat

/etc/init.d/heartbeat start

現在為止:你會發現node1上網卡

將node1上heartbeat關閉:你會發現node2

drbd自動升級primary

vip自動漂移

mount 自動掛載

Ps:同樣,你啟動node1的heartbeat,關閉node2的,你會發現,node1的nfs,drbd,vip都進行了相應的操作;

5、測試:

在客戶端進行掛載,並且也掛載到當前的/root/data

繼續測試:

1、當你在客戶端寫入文件時,進行node間的切換嘗試;

看此時寫數據有影響不,發現DRBD+Heartbeat正常切換還是需要些時間的;

2、正常狀態下關機Primary機,然後看數據有無問題,觀察DRBD的status;然後等主機啟動後,再觀察變化,然後再關機secondary,然後再啟動,觀察DRBD變化及Heartbeat起作用了沒。

出處:http://lansgg.blog.51cto.com/5675165/1205281

Copyright © Linux教程網 All Rights Reserved