CentOS 6 DRBD安裝

摘要:CentOS 6 DRBD安裝

一、前言簡述

    DRBD是一個使用軟體實現伺服器之間鏡像設備內容的儲存複製解決方案,類似於RAID-1功能,因此可用於高

可用性(High Availability)之中。

    DRBD利用網路來傳輸兩台伺服器的共用資料區達到資料同步。當我們將數據資料寫入Node1的Backup Files時,

數據資料將會被傳輸到Node2上,以相同形式記錄。Primary Node與Secondary Node的數據資料可保證即時同步。

當Primary Node故障時,Secondary Node尚保留一份相同的數據資料,而可繼續使用。

    DRBD共有兩部分組成:內核模組和使用者空間的管理工具,其中內核模組代碼已經整合進Linux Kernel 2.6.33

以後的版本中。因此,若Kernel版本高於此版本的話,僅需安裝管理工具即可。否則,則需同時安裝內核模組和管理

工具,並且此兩部分的版本編號必須保持對應。

 

二、Server配置

 Node1(Primary Node)Node2(Secondary Node)
Hostnamenode1.centos6.twnode2.centos6.tw
SystemCentOS 6.2 release 6.2 (Final)CentOS 6.2 release 6.2 (Final)
H.D.D./dev/sda 20GB(System)/dev/sda 20GB(System)
/dev/sdb 10GB(Backup Files)/dev/sdb 10GB(Backup Files)
NetworkEnt.:192.168.75.136/24Ent.:192.168.75.137/24
Int.:192.168.62.136/24Int.:192.168.62.137/24

 

三、前置作業(Node1和Node2)

 A. Firewall and SElinux

     為確認安裝及測試過程順利,因此先行關閉此兩部分。

  a. vim /etc/selinux/config:因變更SELinux設定後需重新開機,因此先行設定。

  b. service iptables stop

 B. host

  a. vim /etc/hosts:為避免因DNS問題導致無法解析FQDN,因此直接寫入hosts內

 C. 建立分割區於/dev/sdb

  a. fdisk /dev/sdb

  b. partprobe:使剛才的partition table變更生效

  c. fdisk -l:確定partition table狀態

  d. mkdir /backup:建立資料夾backup

 

四、安裝(Node1和Node2)

 A. 相關套件安裝

  a. yum -y install gcc kernel-devel kernel-headers flex

 B. 安裝DRBD

  a. wget http://oss.linbit.com/drbd/8.4/drbd-8.4.2.tar.gz

  b. tar zxvf drbd-8.4.2.tar.gz

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

  d. make KDIR=/usr/src/kernels/2.6.32-279.11.1.el6.x86_64/

      註:KDIR=指定系統kernel源碼路徑,因實際情況更改設定

  e. make install

 C. 其他相關設定

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

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

  c. chkconfig --add drbd

  d. chkconfig drbd on

 D. 安裝DRBD模組

  a. cd drbd

  b. make clean

  c. make KDIR=/usr/src/kernels/2.6.32-279.11.1.el6.x86_64/

      註:KDIR=指定系統kernel源碼路徑,因實際情況更改設定

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

  e. depmod

 

五、設定(Node1和Node2)

 A. 設定檔配置

  a. vim /usr/local/drbd/etc/drbd.conf

      註:設定『fence-peer』,若安裝heartbeat才需要設定。

 B. 權限調整(非必要,需安裝heartbeat)

  a. chgrp haclient /sbin/drbdsetup

  b. chmod o-x /sbin/drbdsetup

  c. chmod u+s /sbin/drbdsetup

  d. chgrp haclient /sbin/drbdmeta

  e. chmod o-x /sbin/drbdmeta

  f. chmod u+s /sbin/drbdmeta

 C. 載入DRBD模組及建立resource

  a. modprobe drbd:載入DRBD模組

  b. lsmod | grep drbd:確認DRBD模組是否載入

  c. dd if=/dev/zero of=/dev/sdb1 bs=1M count=100:塞入一些資料到/dev/sdb1,

     否則有時create-md時會出現錯誤。

  d. drbdadm create-md ha:建立drbd resource ha

  e. service drbd start

  f. chkconfig drbd on

 

 D. DRBD狀態(service drbd status or cat /proc/drbd)

  a. Inconsistent/Inconsistent:ds出現Inconsistent表示兩台node資料尚未同步。

  b. SyncTarget:cs出現SyncTarget表示正在同步中,可看到目前同步時的進度

  c. Secondary/Unknown:若node1服務啟動而node2尚未啟動的話,則ro會出現Secondary/Unknown

  d. Secondary/Secondary:表示尚未設定Primary Node。

 

六、完成

 A. Primary Node(Node1設定)

     設定Primary Node,預設使用Node1作為Primary Node

  a. drbdadm -- --overwrite-data-of-peer primary ha

  b. service drbd status

     Node1設定完後,在狀態ro可看到Primary/Secondary,而Node2則為Secondary/Primary。

 

 B. 格式化(Node1設定)

  a. mkfs.ext4 /dev/drbd0

 C. 掛載(Node1設定)

  a. mount /dev/drbd0 /backup

 

七、測試

 A. Primary Node:先放些資料至/backup

 B. Secondary Node

  a. drbdadm down ha

     因Secondary Node在DRBD仍啟動的狀態下是無法掛載資料夾『backup』的,所以必須先停止才能掛載。

  b. mount -t ext4 /dev/sdb1 /backup

  c. ls /backup

     此時就可以看到資料已同步過來了

 C. 手動切換

     我們可以手動將Node1設定為Secondary Node,而將Node2設定為Primary Node

  a. umount /dev/drbd0(Node1設定):先在Node1卸載drbd0

  b. drbdadm secondary ha(Node1設定):再設定為Secondary

  c. drbdadm primary ha(Node2設定):設定之前,記得先將umount /dev/sdb1並drbdadm up ha。

     設定完後可查看一下狀態,確認目前Node2確實為Primary Node

  d. mount -t ext4 /dev/drbd0 /backup(Node2設定)

     記得要掛載資料夾上去喔,不然Node1和Node2都沒有掛載資料夾就好玩了。

 D. 監控狀態

  a. watch -n 1 service drbd status:若欲即時查看DRBD狀態,可以下此指令,每1秒更新一次

 

八、參考來源

http://www.drbd.org/users-guide/

http://www.drbd.org/docs/install/

http://www.centos.bz/2012/02/drbd-compile-install-deploy/

http://blog.csdn.net/greensurfer/article/details/7606951

http://hi.baidu.com/_you_yan/item/d2d92e10f12784a4feded599

http://lhf214318.blog.51cto.com/4361118/838133

http://www.wenzizone.com/tag/drbd

http://www.cnblogs.com/feisky/archive/2011/12/25/2310346.html

http://www.slideshare.net/dbabc/dbabcnet-heartbeat-drbdmy-sql

http://pkgs.org/centos-6-rhel-6/elrepo-i386/kmod-drbd84-8.4.1-2.el6.elrepo.i686.rpm.html

http://www1.site90.com/?post=334

http://www.anjing.me/1130.html

https://app.shopback.com/RBANl9P3Ysb