濮阳杆衣贸易有限公司

主頁 > 知識庫 > linux DRBD編譯安裝與配置方法

linux DRBD編譯安裝與配置方法

熱門標簽:潮州地圖標注 山東企業(yè)電銷機器人價格 依蘭縣地圖標注app 公司400電話辦理價格 安陽百應電銷機器人加盟 百度地圖標注開鎖電話 pageadm實現(xiàn)地圖標注 琿春市地圖標注app 百度中國地圖標注中心

DRBD介紹

DRBD是一個用軟件實現(xiàn)的、無共享的、服務器之間鏡像塊設備內容的存儲復制解決方案。 DRBD Logo數(shù)據(jù)鏡像:實時、透明、同步(所有服務器都成功后返回)、異步(本地服務器成功后返回)。DBRD的核心功能通過Linux的內核實現(xiàn),最接近系統(tǒng)的IO棧,但它不能神奇地添加上層的功能比如檢測到EXT3文件系統(tǒng)的崩潰。DBRD的位置處于文件系統(tǒng)以下,比文件系統(tǒng)更加靠近操作系統(tǒng)內核及IO棧。

DRBD編譯安裝

安裝所需依賴: 

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

開始安裝drbd,下載地址:http://oss.linbit.com/drbd/

安裝用戶空間工具:

cd /tmp
wget http://oss.linbit.com/drbd/8.4/drbd-8.4.1.tar.gz
tar xzf drbd-8.4.1.tar.gz
cd drbd-8.4.1
./configure --prefix=/usr/local/drbd --with-km
make KDIR=/usr/src/kernels/2.6.18-274.18.1.el5-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

安裝drbd模塊:

cd drbd 
make clean 
make KDIR=/usr/src/kernels/2.6.18-274.18.1.el5-i686/ 
cp drbd.ko /lib/modules/`uname -r`/kernel/lib/ 
depmod

注:usr/src/kernels/2.6.18-274.18.1.el5-i686/這個內核源碼樹路徑需要根據(jù)自己的系統(tǒng)修改。

DRBD配置

建立分區(qū)

假如現(xiàn)在有第二塊硬盤hdb,兩個node都要分區(qū)。

#fdisk /dev/hdb                                                      //準備為 hdb 建立分區(qū)
 The number of cylinders for this disk is set to 20805.
 There is nothing wrong with that, but this is larger than 1024,
 and could in certain setups cause problems with:
 1) software that runs at boot time (e.g., old versions of LILO)
 2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
 Command (m for help): n                                              //鍵入 n 表示要建立分區(qū)
 Command action
    e   extended
    p   primary partition (1-4)
 p                                                                    //鍵入 p 表示建立主要分區(qū)
 Partition number (1-4): 1                                            //鍵入 1 為此主要分區(qū)代號
 First cylinder (1-20805, default 1):                                 //開始磁柱值,按下 enter 即可
 Using default value 1
 Last cylinder or +size or +sizeM or +sizeK (1-20805, default 20805): //結束磁柱值,按下 enter 即可
 Using default value 20805
 Command (m for help): w                                              //鍵入 w 表示確定執(zhí)行剛才設定
 The partition table has been altered!
 Calling ioctl() to re-read partition table.
 Syncing disks.
 [root@node1 yum.repos.d]# partprobe                                  //使剛才的 partition table 變更生效

建立分區(qū)完成后使用指令 fdisk -l 確定 partition talbe 狀態(tài)

#fdisk -l
 Disk /dev/hda: 21.4 GB, 21474754560 bytes
 255 heads, 63 sectors/track, 2610 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot      Start         End      Blocks   Id  System
 /dev/hda1   *           1          13      104391   83  Linux
 /dev/hda2              14        2610    20860402+  8e  Linux LVM
 Disk /dev/hdb: 10.7 GB, 10737377280 bytes
 16 heads, 63 sectors/track, 20805 cylinders
 Units = cylinders of 1008 * 512 = 516096 bytes
    Device Boot      Start         End      Blocks   Id  System
 /dev/hdb1               1       20805    10485688+  83  Linux

建立分區(qū)完成后請建立 /db 目錄。 (Node1 及 Node2 都必須建立)

#mkdir /db

建立Drbd配置文件

主要定義兩塊global和resource。

vi /usr/local/drbd/etc/drbd.conf
寫入:

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

vi /usr/local/drbd/etc/drbd.d/global_common.conf
寫入
global {
  usage-count yes;
}
common {
  net {
    protocol C;
  }
}

vi /usr/local/drbd/etc/drbd.d/r0.res
寫入
resource r0 {
  on node1 {
    device    /dev/drbd1;
    disk      /dev/hdb1;
    address   192.168.1.101:7789;
    meta-disk internal;
  }
  on node2 {
    device    /dev/drbd1;
    disk      /dev/hdb1;
    address   192.168.1.103:7789;
    meta-disk internal;
  }

設置Hostname

根據(jù)上面的resource配置文件,需要對192.168.1.101和192.168.1.103分別設置hostname為node1和node2,設置方法如下:

vi /etc/sysconfig/network
修改HOSTNAME為node1
vi /etc/hosts
寫入
192.168.1.101 node1
192.168.1.103 node2

使node1 hostnmae臨時生效

hostname node1

node2機器設置類似。

設置Resource

以下操作需要在node1和node2操作。

#modprobe drbd                                    //載入 drbd 模塊
#lsmod|grep drbd                                  //確認 drbd 模塊是否載入
 drbd                  228528  0
 #dd if=/dev/zero of=/dev/hdb1 bs=1M count=100     //把一些資料塞到 hdb 內 (否則 create-md 時有可能會出現(xiàn)錯誤)
 #drbdadm create-md r0                             //建立 drbd resource
 #drbdadm up r0                                  //啟動 resource r0

查看node1和node2的狀態(tài)應該類似下面的:

cat /proc/drbd
version: 8.4.1 (api:1/proto:86-100)
GIT-hash: 91b4c048c1a0e06777b5f65d312b38d47abaea80 build by root@localhost.localdomain, 2012-02-12 06:05:36
 m:res  cs         ro                   ds                         p  mounted  fstype
 0:r0   Connected  Secondary/Secondary  Inconsistent/Inconsistent  C

表明現(xiàn)在已經(jīng)啟動服務,但還沒有設置同步(即需要設置Primary Node)

設置Primary Node

以下操作僅在node1執(zhí)行。

設置node1為primary node:


drbdadm primary --force r0

drbdadm primary --force r0

再次查看node1的狀態(tài):

#cat /proc/drbd
version: 8.4.1 (api:1/proto:86-100)
GIT-hash: 91b4c048c1a0e06777b5f65d312b38d47abaea80 build by root@localhost.localdomain, 2012-02-12 06:47:37
 
 1: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
    ns:52892 nr:0 dw:0 dr:52892 al:0 bm:10 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

我們看到狀態(tài)已經(jīng)變成Primary/Secondary,即設置primary node成功。

創(chuàng)建DRBD文件系統(tǒng)

以下操作僅在node1執(zhí)行。

上面已經(jīng)完成了/dev/drbd1的初始化,現(xiàn)在來把/dev/drbd1格式化成ext3格式的文件系統(tǒng)。

#mkfs.ext3 /dev/drbd1

然后將/dev/drbd1掛載到之前創(chuàng)建的/db目錄。

#mount /dev/drbd1 /db

現(xiàn)在你只要把數(shù)據(jù)寫入/db目錄,drbd即會立刻把數(shù)據(jù)同步到備機192.168.1.103的/dev/hdb1分區(qū)上。

Drbd同步測試

當在備機node2啟動drbd時,它是無法掛載/dev/hdb1分區(qū)的,我們可以嘗試寫些數(shù)據(jù)到node1的目錄/db上,然后停止node2的drbd。

drbdadm down r0

之后就可以把node2的/dev/hdb1掛載到目錄/db

mount -t ext3 /dev/hdb1 /db

我們就可以查看node2的/db目錄是否有node1的數(shù)據(jù)。

手動切換主備機

我們可以把node1改變?yōu)閭錂C,而node2改變?yōu)橹鳈C。

在node1上操作:

umount /dev/drbd1
drbdadm secondary r0

在node2上操作:

drbdadm primary r0

此時應該已經(jīng)切換成功。

標簽:公主嶺 晉中 三明 呼和浩特 連云港 林芝 常德 香港

巨人網(wǎng)絡通訊聲明:本文標題《linux DRBD編譯安裝與配置方法》,本文關鍵詞  linux,DRBD,編譯,安裝,與,配置,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux DRBD編譯安裝與配置方法》相關的同類信息!
  • 本頁收集關于linux DRBD編譯安裝與配置方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    左云县| 公主岭市| 九龙城区| 乐陵市| 金溪县| 唐河县| 宿松县| 台北县| 水城县| 清新县| 长丰县| 西乌珠穆沁旗| 沾化县| 汪清县| 福鼎市| 吴堡县| 沙湾县| 邵阳县| 平乐县| 油尖旺区| 桦甸市| 龙井市| 荣成市| 仙桃市| 宜宾市| 修武县| 余江县| 邵阳市| 嵊州市| 洛阳市| 黄浦区| 武邑县| 阿拉善右旗| 东乌珠穆沁旗| 长海县| 叙永县| 大安市| 新兴县| 罗江县| 泾阳县| 玛纳斯县|