CentOS環境DRBD的編譯安裝

DRBD安裝環境介紹

DRBD的安裝需要兩臺機器,後面都稱爲節點(node1和node2),node1和node2都是CentOS-6.2操作系統,所使用鏡像爲CentOS-6.2-x86_64-bin-DVD.iso,IP地址分別爲10.255.48.24和10.255.48.22,node1和node2各自有一個5G的硬盤sdb,安裝drbd版本是drbd-8.4.6,需要強調的是:兩個節點都要執行本文檔全部操作。
注: 上面的IP地址和硬盤sdb大小根據自身情況進行修改(這個是同步盤),注意兩個節點的硬盤大小要相同。

DRBD編譯安裝

安裝所需依賴:

yum -y install gcc flex

查看當前內核版本信息:

uname -r

打開CentOS-6.2-x86_64-bin-DVD.iso鏡像,選擇Packages

這裏寫圖片描述
查找並導出kernel-devel-2.6.32-220.el6.x86_64.rpm和
kernel-headers-2.6.32-220.el6.x86_64.rpm 分別上傳到兩個節點上
注:kernel-devel和kernel-headers要和uname -r 查詢出的版本一致!!!否則後期加載內核時會出現問題!!!
分別安裝kernel-devel和kernel-headers:

rpm -ivh kernel-devel-2.6.32-220.el6.x86_64.rpm
rpm -ivh kernel-headers-2.6.32-220.el6.x86_64.rpm

注意,/usr/src/kernels/下的內核版本應該與uname -r查詢結果是一致的。

安裝用戶空間工具:

cd /tmp
wget http://oss.linbit.com/drbd/8.4/drbd-8.4.6.tar.gz
tar xzf drbd-8.4.6.tar.gz
cd drbd-8.4.6
make KDIR=/usr/src/kernels/2.6.32-220.el6.x86_64/
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

安裝drbd模塊:

cd drbd
make clean
make KDIR=/usr/src/kernels/2.6.32-220.el6.x86_64/
cp drbd.ko /lib/modules/`uname -r`/kernel/lib/
depmod

注:usr/src/kernels/2.6.32-220.el6.x86_64/這個內核源碼樹路徑需要根據自己的系統修改。

DRBD配置

建立分區:
這個時候需要使用第二塊硬盤sdb,這個硬盤將來也作爲drbd同步的硬盤,兩個節點(node)都要分區。
注:主備節點的兩塊硬盤要大小相同。
準備爲 sdb 建立分區:

fdisk /dev/sdb      

這裏寫圖片描述
鍵入 n 表示要建立分區:
這裏寫圖片描述
鍵入 p 表示建立主要分區:
這裏寫圖片描述
鍵入 1 爲此主要分區代號:
這裏寫圖片描述
開始磁柱值,按下 enter 即可:
這裏寫圖片描述
結束磁柱值,按下 enter 即可:
這裏寫圖片描述
鍵入 w 表示確定執行剛纔設定:
這裏寫圖片描述
使剛纔的 partition table 變更生效:

partprobe

注:partprobe作用是在不重啓服務器的情況下識別創建的分區,Centos 默認下是沒有安裝這個命令的需要的話可以運行如下命令進行安裝。如果安裝不上重啓是同樣效果的。

yum install -y parted

建立分區完成後使用指令 fdisk -l 確定 partition talbe 狀態:

fdisk -l

這裏寫圖片描述
如圖是/dev/sdb部分,分區完成。
建立 /db 目錄:
新建的/db目錄就是drbd的同步工作目錄:

mkdir /db

建立drbd配置文件:

vi /usr/local/drbd/etc/drbd.conf

寫入:

include "drbd.d/global_common.conf";
include "drbd.d/*.res";

這裏寫圖片描述

vi /etc/drbd.conf

drbd每次啓動都要調用/etc/drbd.conf文件,以後再對drbd的參數配置也都寫入這裏。
寫入:

global{
        usage-count yes;
}
common{
        syncer{ rate 30M; }         #同步速率,同步的速率是bytes字節,而不是bits/s。根據經驗同步速率比較合理的是可用帶寬的30%,以網絡帶寬110MB/ s爲例,同步速率這樣就得出同步速率的推薦值爲33M。
}
handlers{
        split-brain "/usr/local/drbd/lib/drbd/notify-split-brain.sh root";

}
        resource r0{
                protocol C;     #採用協議C的寫模式
                net{
                cram-hmac-alg sha1;
                shared-secret "FooFunFactory";
                }
                on node1 {                      #主節點
                device /dev/drbd1;              #設備
                disk /dev/sdb1;                 #磁盤
                address 10.255.48.24:7789;      #IP和端口
                meta-disk internal;
                }
                on node2{                       #備節點
                device /dev/drbd1;
                disk /dev/sdb1;
                address 10.255.48.22:7789;
                meta-disk internal;
                }
}

然後添加資源文件:

vi /usr/local/drbd/etc/drbd.d/r0.res

寫入:

resource r0 {
  on node1 {
    device    /dev/drbd1;
    disk      /dev/sdb1;
    address   10.255.48.24:7789;
    meta-disk internal;
  }
  on node2 {
    device    /dev/drbd1;
    disk      /dev/sdb1;
    address   10.255.48.22:7789;
    meta-disk internal;
  }
}

在防火牆中打開7789端口:

vi /etc/sysconfig/iptables 

添加下面這一行在如圖的位置:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 7789 -j ACCEPT

這裏寫圖片描述
最後重啓防火牆使配置生效:

service iptables restart

設置hostname:
根據上面的resource配置文件,需要對10.255.48.24和10.255.48.22分別設置hostname爲node1和node2,設置方法如下:

vi /etc/sysconfig/network

修改HOSTNAME爲node1(備節點修改爲node2):
這裏寫圖片描述
這裏寫圖片描述
然後:

vi /etc/hosts

填加:

10.255.48.24 node1
10.255.48.22 node2

hostname node1使主機名生效(備節點爲hostname node2):

hostname node1  #另一個是hostname node2

設置resource:
加載drbd模塊:

modprobe drbd

確認drbd模塊是否載入:

lsmod|grep drbd

這裏寫圖片描述
在/dev/sdb1中放入1M大小的文件,否則在創建資源時可能會有問題:

dd if=/dev/zero of=/dev/sdb1 bs=1M count=100

創建brbd資源:

drbdadm create-md r0

啓動drbd:

service drbd start

這時先啓動的節點會等待另一個節點的啓動,因爲在配置文件中會有設置啓動等待對方時間的選項,我們沒有設置默認的值就是0,即永遠等待。
這裏寫圖片描述
輸入yes之後回車是單節點啓動,或者直至另一個節點也輸入啓動命令之後,兩個節點同時啓動成功。下面是查看節點狀態:

cat /proc/drbd

這裏寫圖片描述
注:當前兩個節點都是Secondary/Secondary狀態,即沒有主節點,如果要啓動熱備需要設置主節點,請看下一篇 DRBD使用及運維文檔,但是現在證明drbd已經啓動服務了,安裝drbd成功!

發佈了27 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章