什麼drbd ?
drbd (分布式複製塊裝置) 時一款基於linux 的開源軟體,由核心模組和管理工具組成的,通過網路的塊裝置來進行資料的同步。當資料寫入本地的drbd 檔案系統上時,同時會通過網路傳送到另一台server 上,並且以相同的方式將資料寫入。確保本地與遠端的server都可以實時同步到資料。
一般在高可用解決方案中會使用到drbd ,代替商業儲存裝置,因為資料儲存在本地和遠端server 上,需要本地資料壞或者切換時,遠端的主機使用它備份的資料可以繼續提供服務。
drbd 複製協議的型別:
協議a: 非同步複製。 本地資料寫完成功後立即返回,資料放在buffer 中,如果伺服器掉電資料可能丟失
協議b: 記憶體同步(半同步)複製 。 本地資料寫成功將資料傳送到遠端伺服器,傳送到對端後立即返回。如果雙機掉電資料可能丟失。
協議c: 同步複製。 本地和遠端資料寫成功後確認返回。 如果磁碟同時損壞資料可能丟失。
drbd 使用方式:
主備模式: 兩台儲存伺服器。1主1備,主故障備頂替主工作,只有一台提供服務,另一台作為backup
主主模式: 兩台儲存伺服器同時提供服務, 共同分擔壓力,當一台故障,服務新能會下降,但是服務不會中斷。
搭建基礎的drbd 實現資源資料同步功能
環境準備的前提:
前期這些操作在兩台server 上都需要操作。
1. 兩台server (ubuntu 14.04),雙方網路可以互通
testvm: 10.150.114.97/20
test-1: 10.150.112.30/20
2. 給兩台server 準備分割槽 (我這裡是給準備乙個5 g 大小的分割槽)
我這裡給虛機都新增了一塊disk 。並且將disk 分了乙個主分割槽,將空間都分配給主分割槽
fdisk /dev/sdb (建立新分割槽。輸入「n" 新建分割槽,輸入」p「 建立主分割槽,甚於預設回車,會建立乙個主分割槽將磁碟空間都給主分割槽配置,輸入」w「 儲存配置)
3. 通過網路源安裝drbd ,也可以自己原始碼安裝。 (這裡是網路源安裝)
apt-get install -y --force-yes drbd8-utils
4. 配置drbd 配置檔案
/etc/drbd.conf是主配置檔案,主要用來把全域性配置檔案和各資源配置檔案(所有以.res結尾的檔案)包含進來的;
而其它模組配置檔案在/etc/drbd.d/下,包括/etc/drbd.d/global_common.conf全域性配置檔案,下面將會配置的資源配置檔案也會放到這裡。(test.res 是自己建立的)
配置全域性配置檔案
/etc/drbd.d/global_common.conf
global
common
options
disk
net
}配置drbd 資源
每個資源通常定義在乙個單獨的位於/etc/drbd.d目錄中的以.res結尾的檔案中
/etc/drbd.d/test.res
resource test
on test-1
}兩台server 要使用一樣的global_common.conf 和test.res 檔案
5.啟動drbd
drbdadm create-md all
如果有以下報錯
解決: 給sdb 注入一些資料
啟動服務
檢查啟動狀態
在test-1 上操作
將test-1 設定為主裝置
檢查虛擬的drbd 裝置已存在
將drbd掛載任意目錄上,並在目錄下建立檔案測試
將主節點設定解掛載,並且設定為從節點
登陸testvm從節點,將從節點公升級為主節點,掛載drbd 裝置
建立掛載點,掛載裝置,發現之前在test-1 主節點建立檔案還是存在的。
在虛機中安裝CentOS
最近看到.net core 1發布的內容,也想嘗試著在lunix上跑一圈。linux這方面的知識一直都沒怎麼接觸過,只在工作中見同事操作過,看到滿螢幕的命令列,感覺非常的高大上,趁著現在趕緊學習下。雖然入門比較晚,但開始了,總不會太晚。1 建立新的虛擬機器 2.選擇典型安裝 分配空間大小,預設20g...
虛機實現雙網絡卡
1 手動建立乙個新的port,並attach到虛機上 2 更改虛機兩個port的屬性 neutron port update no security groups no allowed address pairs port security enbaled false 有的是只更改security ...
HA heartbeat在虛擬機器中的實現及其問題
高ha部署 1.vmware 12.5.0 2.linux centos6.3 x86 3.heartbeat 3.0.4 4.nginx 1.6.2 5.主機a eth0 192.168.157.137 6.備機b eth0 192.168.157.138 7.主機a心跳線 eth1 192.16...