在Linux上配置DRBD部署

2021-09-07 11:40:05 字數 4944 閱讀 5610

drbd 工作原理

drbd是一種塊裝置,能夠被用於高可用(ha)之中.它相似於乙個網路raid-1功能.當你將資料寫入本地 檔案系統時,資料還將會被傳送到網路中還有一台主機上.以同樣的形式記錄在乙個檔案系統中。

本地(主節點)與遠端主機(備節點)的資料能夠保證實時同步.當本地系統出現問題時,遠端主機上還會 保留有乙份同樣的資料,能夠繼續使用.在高可用(ha)中使用drbd功能,能夠取代使用乙個共享盤陣.

由於資料同一時候存在於本地主機和遠端主機上,切換時,遠端主機僅僅要使用它上面的那份備份資料,

就能夠繼續進行服務了。

兩台機器的環境例如以下:

hostname:srv5.localdomain

192.168.8.5

hostname:srv6.localdomain

192.168.8.6

準備環境

在兩台機器上各新加一塊磁碟

fdisk -l 列出全部的磁碟和分割槽的情況

在實驗中能夠看到新加的磁碟還沒有分割槽

disk /dev/sdb: 1073 mb, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

units = cylinders of 16065 * 512 = 8225280 bytes

對新加的磁碟分割槽

[root@srv5 ~]#fdisk /dev/sdb

command (m for help): n

command action

e   extended

p   primary partition (1-4)

epartition number (1-4): 1

first cylinder (1-130, default 1):

using default value 1

last cylinder or +size or +sizem or +sizek (1-130, default 130):

using default value 130

command (m for help): n

command action

l   logical (5 or over)

p   primary partition (1-4)

lfirst cylinder (1-130, default 1):

using default value 1

last cylinder or +size or +sizem or +sizek (1-130, default 130):

using default value 130

command (m for help): w

the partition table has been altered!

calling ioctl() to re-read partition table.

syncing disks.

載入磁碟資訊

partprobe /dev/sdb

cat /proc/partions

安裝和配置drbd

1。兩台機器上分別安裝drbd

yum -y install kmod-drbd83 drbd83

檢查是否成功安裝

[root@srv5 yum.repos.d]# modprobe -l | grep -i drbd

/lib/modules/2.6.18-53.el5/weak-updates/drbd83/drbd.ko

安裝完畢後再/sbin 資料夾下有drbd的命令檔案。 在/etc/init.d/資料夾下有drbd啟動指令碼

[root@srv5 yum.repos.d]# ls /sbin/drbd*

/sbin/drbdadm  /sbin/drbdmeta  /sbin/drbdsetup

2,配置drbd

2.1,在兩台機器的hosts檔案裡加入例如以下的內容:

192.168.8.5 srv5.localdomain

192.168.8.6 srv6.localdomain

2.2,drbd執行的時候要讀取/etc/drbd.conf檔案,

將檔案的內容儲存為例如以下內容:

include "drbd.d/global_common.conf";

include "drbd.d/*.res";

改動global_common.conf檔案內容例如以下:

global 

common

disk

net

syncer

}

建立乙個xserver.res檔案內容例如以下:

resource xserver    

on srv6.localdomain

}

2.3,如果上面的配置是在92.168.8.5上做的。拷貝上面配置好的3個檔案到92.168.8.6上

scp /etc/drbd.conf 192.168.8.6:/etc/drbd.conf

scp /etc/drbd.d/* 192.168.8.6:/etc/drbd.d/

3,在兩台機器上建立drbd元資料資訊:

[root@srv5 ~]# drbdadm create-md all

writing meta data...

initializing activity log

not initialized bitmap

new drbd meta data block successfully created.

4。啟動服務。

4.1,在主節點92.168.8.5上

service drbd start

在備份節點92.168.8.6上

service drbd start

在兩台機器上用以下的命令drbd-overview或者cat /proc/drbd檢視,發現都是secondary 備份狀態

[root@srv5 ~]# drbd-overview

0:xserver  connected secondary/secondary inconsistent/inconsistent c r-----

[root@srv6 ~]# cat /proc/drbd

version: 8.3.15 (api:88/proto:86-97)

git-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by [email protected], 2013-03-27 16:04:08

0: cs:connected ro:secondary/secondary ds:inconsistent/inconsistent c r-----

ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:1044092

4.2,在主節點92.168.8.5上執行以下的命令讓其成為主節點

drbdadm -- --overwrite-data-of-peer primary all

然後再看狀態:

[root@srv5 ~]# drbd-overview

0:xserver  syncsource primary/secondary uptodate/inconsistent c r---n-

[**********===>......] sync'ed: 70.6% (310268/1044092)k

[root@srv5 ~]# drbd-overview

0:xserver  syncsource primary/secondary uptodate/inconsistent c r---n-

[***************=>...] sync'ed: 89.1% (117372/1044092)k

[root@srv5 ~]# drbd-overview

0:xserver  connected primary/secondary uptodate/uptodate c r-----

4.3,將/dev/drbd0格式化並掛載

在主節點192.168.8.5上執行以下的命令

mkfs.ext3 /dev/drbd0

mkdir /xserver-storage

mount /dev/drbd0 /xserver-storage

4.4,測試同步

在主節點192.168.8.5上執行以下的命令

cd /xserver-storage

echo "a file created in server5" > testfile

在備份節點192.168.8.6上執行以下的命令

mkdir /xserver-storage

mount /dev/drbd0 /xserver-storage

#mount 會出錯,由於mount僅僅能在primary一端使用

在主節點192.168.8.5上執行以下的命令變成備份節點

umount /xserver-storage

drbdadm secondary all

在備份節點192.168.8.6上執行以下的命令變為主節點,能夠看到192.168.8.5同步過來的內容

drbdadm primary all

mount /dev/drbd0 /xserver-storage

less /xserver-storage/testfile

能夠檢視到檔案的內容為"a file created in server5"

在192.168.8.6新建乙個檔案

echo "a file created in server6" > testfile2

再將192.168.8.5變為主節點後mount能夠看到testfile2的內容也同步了。

運維 在Linux上部署DRBD

drbd是一種塊裝置,可以被用於高可用 ha 之中。它類似於乙個網路raid 1功能。當你將資料寫入本地檔案系統時,資料還將會被傳送到網路中另一台主機上。以相同的形式記錄在乙個檔案系統中。本地 主節點 與遠端主機 備節點 的資料可以保證實時同步。本地系統出現故障時,遠端主機上還會保留有乙份相同的資料...

Logstash在Linux上安裝部署

logstash 簡介 logstash 是乙個實時資料收集引擎,可收集各型別資料並對其進行分析,過濾和歸納。按照自己條件分析過濾出符合資料匯入到視覺化介面。它可以實現多樣化的資料來源資料全量或增量傳輸,資料標準格式處理,資料格式化輸出等的功能,常用於日誌處理。工作流程分為三個階段 1 input資...

Redis在linux上的部署

yum install gcc c tcl進入到redis安裝目錄 執行make 編譯redis 注意 redis6以上版本make編譯可能報錯,需要公升級gcc版本 第一步 sudo yum install centos release scl 第二步 sudo yum install devto...