一、 什麼是DRBD
DRBD的全稱為:Distributed Replicated Block Device (DRBD)分布式塊裝置複製,DRBD是由核心模組和相關指令碼而構成,用以構建高可用性的叢集。其實現方式是通過網路來鏡像整個裝置。它允許使用者在遠程機器上建立一個本地塊裝置的即時鏡像。與心跳串連結合使用,也可以把它看作是一種網路RAID。
二、DRBD是如何工作的
Drbd 負責接收資料,把資料寫到本地磁碟,然後發送給另一個主機。另一個主機再將資料存到自己的磁碟中。目前,drbd 每次只允許對一個節點進行讀寫訪問,這對於通常的故障切換高可用性設定組群來講已經足夠用了。以後的版本將支援兩個節點進行讀寫存取。
三、 drbd與現在的HA叢集的關係
一個drbd系統由兩個以上節點構成,與HA叢集類似,也有主用節點和備用節點之分,在帶有主要裝置的節點上,應用程式和作業系統可以運行和訪問drbd裝置(/dev/nbX)。
在主節點寫入的資料通過drbd裝置儲存到主節點的磁碟裝置中,同時,這個資料也會自動發送到備用節點相應的drbd裝置,最終寫入備用節點的磁碟裝置中,在備用節點上,drbd只是將資料從drbd裝置寫入到備用節點的磁碟裝置中。
大部分現行高可用性設定組群都會使用共用儲存,而Drbd也可以作為一個共用存放裝置,使用drbd不需要任何硬體的投資。因為它在IP網路中運行,所以,利用drbd作為共用存放裝置,要節約很多成本,因為在價格上IP網路要比專用的儲存網路經濟的多。
四、 DRBD實現原理圖
DRBD是linux的核心的儲存層中的一個分布式儲存系統,可用使用DRBD在兩台linux伺服器之間共用塊裝置,共用檔案系統和資料。類似於一個網路RAID1的功能,如圖1所示:
圖1
五、DRDB的安裝
從官方網站下載源碼包來編譯或直接使用yum源來安裝,這裡以CentOS為例說明安裝過程,其它系統類別似。
[root@drbd1 ~]# uname -a
Linux drbd1 2.6.18-194.11.1.el5 #1 SMP Tue Aug 10 19:09:06 EDT 2010 i686 i686 i386 GNU/Linux
通過yum安裝DRBD服務:
[root@drbd1 ~]# yum -y install kmod-drbd83 drbd83
檢查DRBD是否安裝成功:
[root@drbd1 ~]# lsmod | grep -i drbd
drbd 228528 3
[root@drbd1 ~]# modprobe -l | grep -i drbd
/lib/modules/2.6.18-194.11.1.el5/weak-updates/drbd83/drbd.ko
安裝成功之後/sbin目錄下面有drbdadm,drbdmeta,drbdsetup命令,以及/etc/init.d/drbd啟動指令碼。