linux DRBD編譯安裝與配置方法

DRBD介紹
DRBD是一個(gè)用軟件實(shí)現(xiàn)的、無共享的、服務(wù)器之間鏡像塊設(shè)備內(nèi)容的存儲(chǔ)復(fù)制解決方案。 DRBD Logo數(shù)據(jù)鏡像:實(shí)時(shí)、透明、同步(所有服務(wù)器都成功后返回)、異步(本地服務(wù)器成功后返回)。DBRD的核心功能通過Linux的內(nèi)核實(shí)現(xiàn),最接近系統(tǒng)的IO棧,但它不能神奇地添加上層的功能比如檢測(cè)到EXT3文件系統(tǒng)的崩潰。DBRD的位置處于文件系統(tǒng)以下,比文件系統(tǒng)更加靠近操作系統(tǒng)內(nèi)核及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/這個(gè)內(nèi)核源碼樹路徑需要根據(jù)自己的系統(tǒng)修改。
DRBD配置
建立分區(qū)
假如現(xiàn)在有第二塊硬盤hdb,兩個(gè)node都要分區(qū)。
#fdisk /dev/hdb //準(zhǔn)備為 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ū)代號(hào) First cylinder (1-20805, default 1): //開始磁柱值,按下 enter 即可 Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-20805, default 20805): //結(jié)束磁柱值,按下 enter 即可 Using default value 20805 Command (m for help): w //鍵入 w 表示確定執(zhí)行剛才設(shè)定 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ū)完成后請(qǐng)建立 /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; }
設(shè)置Hostname
根據(jù)上面的resource配置文件,需要對(duì)192.168.1.101和192.168.1.103分別設(shè)置hostname為node1和node2,設(shè)置方法如下:
vi /etc/sysconfig/network 修改HOSTNAME為node1
vi /etc/hosts 寫入 192.168.1.101 node1 192.168.1.103 node2
使node1 hostnmae臨時(shí)生效
hostname node1
node2機(jī)器設(shè)置類似。
設(shè)置Resource
以下操作需要在node1和node2操作。
#modprobe drbd //載入 drbd 模塊 #lsmod|grep drbd //確認(rèn) drbd 模塊是否載入 drbd 228528 0 #dd if=/dev/zero of=/dev/hdb1 bs=1M count=100 //把一些資料塞到 hdb 內(nèi) (否則 create-md 時(shí)有可能會(huì)出現(xiàn)錯(cuò)誤) #drbdadm create-md r0 //建立 drbd resource #drbdadm up r0 //啟動(dòng) resource r0
查看node1和node2的狀態(tài)應(yīng)該類似下面的:
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)啟動(dòng)服務(wù),但還沒有設(shè)置同步(即需要設(shè)置Primary Node)
設(shè)置Primary Node
以下操作僅在node1執(zhí)行。
設(shè)置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,即設(shè)置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即會(huì)立刻把數(shù)據(jù)同步到備機(jī)192.168.1.103的/dev/hdb1分區(qū)上。
Drbd同步測(cè)試
當(dāng)在備機(jī)node2啟動(dòng)drbd時(shí),它是無法掛載/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ù)。
手動(dòng)切換主備機(jī)
我們可以把node1改變?yōu)閭錂C(jī),而node2改變?yōu)橹鳈C(jī)。
在node1上操作:
umount /dev/drbd1 drbdadm secondary r0
在node2上操作:
drbdadm primary r0
此時(shí)應(yīng)該已經(jīng)切換成功。
相關(guān)文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對(duì)于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細(xì)信息? 3招輕松查看CPU型號(hào)、核心數(shù)和溫度
在日常運(yùn)維工作中,獲取 CPU 信息是系統(tǒng)運(yùn)維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級(jí)還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨(dú)樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡化,優(yōu)化,現(xiàn)代化,實(shí)用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機(jī)U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個(gè)win11裝機(jī)u盤,詳細(xì)如下2025-02-17Rsnapshot怎么用? 基于Rsync的強(qiáng)大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠(yuǎn)程文件,接下來詳細(xì)介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時(shí)、每天、每周和每月的本地備份,以及如何進(jìn)2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關(guān)的調(diào)用次數(shù),讓內(nèi)核在運(yùn)行時(shí)表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領(lǐng)創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預(yù)覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進(jìn),進(jìn)一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領(lǐng)域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細(xì)安裝指南2025-01-16