歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

網絡硬盤實時備份

什麼是DRBD? DRBD 是由內核模塊和相關腳本而構成,用以構建高可用性的集群。其實現方式是通過 網絡 來鏡像整個設備。您可以把它看作是一種網絡 RAID。 drbd 的應用范圍是什麼?除此之外,創建高可用性集群還需要什麼? Drbd 負責接收數據,把數據寫到本地磁 什麼是DRBD?
  DRBD 是由內核模塊和相關腳本而構成,用以構建高可用性的集群。其實現方式是通過網絡來鏡像整個設備。您可以把它看作是一種網絡RAID。
drbd 的應用范圍是什麼?除此之外,創建高可用性集群還需要什麼?
  Drbd 負責接收數據,把數據寫到本地磁盤,然後發送給另一個主機。另一個主機再將數據存到自己的磁盤中。其他所需的組件有集群成員服
  務,如TurboHA 或心跳連接,以及一些能在塊設備上運行的應用程序。
例如:

什麼是DRBD?
  DRBD 是由內核模塊和相關腳本而構成,用以構建高可用性的集群。其實現方式是通過網絡來鏡像整個設備。您可以把它看作是一種網絡RAID。
drbd 的應用范圍是什麼?除此之外,創建高可用性集群還需要什麼?
  Drbd 負責接收數據,把數據寫到本地磁盤,然後發送給另一個主機。另一個主機再將數據存到自己的磁盤中。其他所需的組件有集群成員服
  務,如TurboHA 或心跳連接,以及一些能在塊設備上運行的應用程序。
例如:
o 裸I/O
o 文件系統及fsck
o 具有恢復能力的數據庫
它是如何工作的?
  每個設備(drbd 提供了不止一個設備)都有一個狀態,可能是‘主’狀態或‘輔助’狀態。在帶有主要設備的節點上,應用程序應能運行和
  訪問設備(/dev/nbX)。每次寫入都會發往本地低層設備和帶有‘輔助’狀態設備的節點中。次要設備只能簡單地把數據寫入它的低層塊設
  備上。讀取數據通常在本地進行。如果主要節點發生故障,心跳將會把輔助設備轉換到主狀態,並啟動其上的應用程序。(如果您將它和無
  日志FS 一起使用,則需要運行fsck)。
  如果發生故障的節點恢復工作,它就會成為新的輔助節點,而且必須使自己的內容與主節點的內容保持同步。當然,這些操作不會干擾到後
  台的服務。
drbd 同現在的HA 集群有什麼關系?
  大部分現行高可用性集群(如:惠普、康柏等等)使用的是共享存儲器,因此存儲器連接多個節點(用共享的SCSI 總線或光纖通道就可以
  做到)。Drbd 也可以作為一個共享的設備,但是它並不需要任何不常見的硬件。它在IP 網絡中運行,而且在價格上IP 網絡要比專用的存
  儲網絡經濟的多。目前,drbd 每次只允許對一個節點進行讀寫訪問,這對於通常的故障切換高可用性集群來講已經足夠用了。以後的版本
  將支持兩個節點進行讀寫存取。這很有用,比如對GFS 來講就是如此。兼容性Drbd 可以在ide、SCSI 分區和整個驅動器之上運行,但不能
  在回路模塊設備上運行。(如果您硬要這樣做,它就會發生死鎖)。Drbd 也不能在回送網絡設備中運行。(因為它同樣會發生死鎖:所有
  請求都會被發送設備占用,發送流程也會阻塞在sock_sendmsg()中。有時,接收線程正從網絡中提取數據塊,並試圖把它放在高速緩存器
  中;但系統卻要把一些數據塊從高速緩存器中取到磁盤中。這種情況往往會在接收器的環境下發生,因為所有的請求都已經被接收器塊占用
  了。

安裝
下載軟件
最新的穩定版本為0.6.11,您可從http://www.drbd.org/releases.html 下載它。
環鏡:redhat9.0 drbd.0.7.10.tar.gz
       配置:查看解壓的INSTALL文件。
    1.[wanwan@root]cd /usr/src/linux-2.4
        2.[wanwan@root]make mrproper
 3.[wanwan@root]cp configs/kernel-2.4.20-i586.config ./config
        4.[wanwan@root]make -s oldconfig_nonint ; make -s oldconfig_nonint
        5.[wanwan@root] vi Makefile 修改 -8customer 把 customer刪除
    6.[wanwan@root] make dep
        7.[wanwan@root]make include/linux/version.h
        解壓drbd-0.7.10
        8.[wanwan@root]cd /usr/src/drbd-0.7.10/drbd
        9.[wanwan@root]make clean all
        10.[wanwan@root]make;
        11.[wanwan@root]make install;
測試加載drbd 模塊
如果這些都已經創建和安裝妥當,您就可以測試加載模塊了。
$ /sbin/insmod drbd
如果一切正常,您不會看見任何ERROR(錯誤)信息,用Ismod 程序可以驗證模塊是否已被加載。
dev2-98:~/rpm/SPECS # lsmod
最後修改配置文件/etc/drbd.conf
參考如下:
     resource drbd0 {  //設備名
  protocol C;
 incon-degr-cmd "echo '!DRBD! pri on incon-degr' | wall ; sleep 60 ; halt -f";
  startup {
   degr-wfc-timeout 120; 
  }
 disk { 
  on-io-error   detach;
  }
 .net {
  
   }
  syncer {
   rate 10M;
   group 1;
   al-extents 257;
  }
 on Web_1{  //主機名
      device     /dev/drbd0;   //設備名
      disk       /dev/sda2;          //硬盤符
      address    192.168.3.195:7788;      //主機IP地址:端口
      meta-disk  internal;
  }

  on web_2 {                      //輔計算機
      device    /dev/drbd0;             //設備名
      disk      /dev/sda5;               //硬盤符
      address   192.168.2.250:7788;       //IP地址:端口
      meta-disk internal;
    } 
   
  另:增設為主鏡像 drdbsetup /dev/drbd0 primary --do-what-I-say;
   建立虛擬設備for i in `seq 0 15` ; do mknod -m 0660 /dev/drbd$i b 147 $i; done
   鏡像設備名:mount /dev/drbd0 /dev/sda2
   啟動drbd  /etc/init.d/drbd start/stop/reload/restart/
  後續的應用等續.

Copyright © Linux教程網 All Rights Reserved