天天看點

DRBD+HEARTBEAT+NFS

DRBD+HEARTBEAT+NFS

DRBD?技術是指設計用于高可用性(HA)叢集的塊裝置。 它會鏡像指定網絡内整個塊裝置。DRBD可以了解為基于RAID-1的網絡。在上圖中,兩個橙色框表示兩個伺服器組成一個HA群集。 框包含通常的Linux?核心的檔案系統,緩沖區高速緩存,磁盤排程,磁盤驅動程式,TCP / IP協定棧和網卡(NIC)驅動。 黑色箭頭标明明了這些元件之間的資料流。橙色箭頭顯示的資料流,DRBD技術作為一個高度可用性的服務,從HA叢集的活動節點鏡像備用節點HA叢集的資料。

http://www.drbd.org/
DRBD+HEARTBEAT+NFS
node1 的ip 位址:
DRBD+HEARTBEAT+NFS
DRBD+HEARTBEAT+NFS
DRBD+HEARTBEAT+NFS
DRBD+HEARTBEAT+NFS

修改host檔案

[root@node1 mnt]# vim /etc/hosts

DRBD+HEARTBEAT+NFS

修改主機名

DRBD+HEARTBEAT+NFS

檢視主機名

DRBD+HEARTBEAT+NFS

時間同步:

hwclock -s

磁盤分區:

DRBD+HEARTBEAT+NFS

重新加載分區表

[root@node1 ~]# partprobe /dev/sdb

NFS

yum install nfs

建立共享目錄:

mkdir /mnt/nfs (為了安全可以适當修改權限)

[root@node1 ~]# vim /etc/exports

DRBD+HEARTBEAT+NFS

導出:

DRBD+HEARTBEAT+NFS

service portmap start(可以寫到heartbeat管理的資源裡面)

HEARTBEAT

[root@node1 ~]# vim /etc/ha.d/ha.cf

DRBD+HEARTBEAT+NFS

[root@node1 ~]# vim /etc/ha.d/authkeys

#auth 1

#1 crc

#2 sha1 HI!

#3 md5 Hello!

這裡随便寫
DRBD+HEARTBEAT+NFS

[root@node1 ~]# vim /etc/ha.d/haresources

#node-name resource1 resource2 ... resourceN(如果有些服務發現無法啟動,如果配置無誤,你可能需要将其控制腳本拷到ha.d/resource.d下)

44 node1.a.com 192.168.2.38/27/eth0/192.168.2.63 drbddisk::r0 filesystem::/dev/drbd0::/mnt/nfs::ext3 nfs

DRBD+HEARTBEAT+NFS

還有一點要注意的是,寫在這裡的服務不要在兩邊同時啟動,因為它是由heartbeat控制的

DRBD

(Distibuted Replicated Block Device)分布式可複制塊裝置

安裝

yum localinstall drbd83-8.3.8-1.el5.centos.i386.rpm -y --nogpgcheck

如果drbd沒有内置到核心中(版本低于2.6.33),可能需要下面這個rpm包kernelmodules

yum localinstall kmod-drbd83-8.3.8-1.el5.centos.i686.rpm -y --nogpgcheck

我的linux核心版本:

DRBD+HEARTBEAT+NFS

主配置檔案:可以在指令行模式下輸入如下指令讀取,當然你也可以直接copy到/etc/下

DRBD+HEARTBEAT+NFS

全局配置檔案

[root@node1 ~]# vim /etc/drbd.d/global_common.conf

global {

usage-count no;

#使用統計

}

common {

protocol C;

#c協定,确認遠端主機的寫入之後,表示寫入完成

startup {

wfc-timeout 120;

degr-wfc-timeout 120;

disk {

on-io-error detach;

fencing resource-only;

net {

#通信加密算法

cram-hmac-alg "sha1";

shared-secret "nfs";

syncer {

rate 100M;

#資料同步速率

資源:你可以寫到global_common.conf、drdb.conf裡面,也可以建立一個檔案

[root@node1 ~]# vim /etc/drbd.d/r0.res

resource r0 {

on node1.a.com {

device /dev/drbd0;

#drbd磁盤

disk /dev/sdb3;

#磁盤成員

address 192.168.2.39:7789;

#偵聽IP(ode1)、端口

meta-disk internal;

#meta data資訊存放的方式,内部存儲

on node2.a.com {

address 192.168.2.40:7789;

################################################################

以上步驟在兩個節點都要做一遍,除了主機名、 ip 不同外其他配置相同

建立供DRBD記錄資訊的資料塊

drbdadm create-md r0

啟動:

root@node1 ~]# service drbd start

Starting DRBD resources: [

r0

Found valid meta data in the expected location, 1011703808 bytes into /dev/sdb3.

d(r0) s(r0) n(r0) ]..........

隻啟動一台無法啟動

***************************************************************

DRBD's startup script waits for the peer node(s) to appear.

- In case this node was already a degraded cluster before the

reboot the timeout is 120 seconds. [degr-wfc-timeout]

- If the peer was available before the reboot the timeout will

expire after 120 seconds. [wfc-timeout]

(These values are for resource 'r0'; 0 sec -> wait forever)

To abort waiting enter 'yes' [30]

兩邊需要同時啟動,120s 逾時

初始化,确定主、從關系(隻在一端做就可以了,預設都是secondery)

drbdadm -- --overwrite-data-of-peer primary r0

動态觀察磁盤同步狀态

wtch -n 1 ‘cat /proc/drbd’

檢視主從狀态

DRBD+HEARTBEAT+NFS
DRBD+HEARTBEAT+NFS
DRBD+HEARTBEAT+NFS

格式化:

mkfs -t ext3 -L drbd /dev/drbd0

建立挂載點:

mkdir /mnt/nfs

mount /dev/drbd0 /mnt/nfs

可以建立幾個檔案,然後更改主從關系(drbdadm primary r0)

在另一端再挂載一下,測試一下是否正常。

####################################################################### 測試: 模拟節點二出現故障:

/usr/lib/haertbaet/hb_takeover

可以看到出現node2:vip eth0:0

DRBD+HEARTBEAT+NFS

node2:

DRBD+HEARTBEAT+NFS

節點1自動挂載成功:

DRBD+HEARTBEAT+NFS

node2的挂載狀态

DRBD+HEARTBEAT+NFS

節點1上nfs啟動正常:

DRBD+HEARTBEAT+NFS

nfs程序:

DRBD+HEARTBEAT+NFS

節點2上nfs處于關閉狀态:

DRBD+HEARTBEAT+NFS

nfs啟動過程曾出現錯誤,程序無法結束,殺掉後重新開機正常

DRBD+HEARTBEAT+NFS
模拟節點一出現故障:
DRBD+HEARTBEAT+NFS
DRBD+HEARTBEAT+NFS
DRBD+HEARTBEAT+NFS

nfs用戶端:

挂載:

建立挂載點:mkdir /nfs

#mount vip:dir 挂載點

[root@client ~]#mount 192.168.2.38:/mnt/nfs /nfs

臨時挂載,可以寫到/etc/fstab裡

DRBD+HEARTBEAT+NFS

以下分别為client、node1、node2建立的檔案,正常狀态下,節點狀态切換不影響使用,不需要重新挂載

DRBD+HEARTBEAT+NFS
DRBD+HEARTBEAT+NFS

分别在主機target、client編輯檔案client:

DRBD+HEARTBEAT+NFS
上一篇: ftps

繼續閱讀