現在位置: 首頁 > CentOS, MySQL > 正文

架設 HA 高可用性:MySQL DRBD + Heartbeat – 用 dd 來建立虛擬硬碟

在前一篇寫到 架設 HA 高可用性:MySQL DRBD + Heartbeat – 兩台式架構 HA (Master/Slave),結果馬上就遇到一些特殊環境必須採用一些特殊的調整

 

在本文遇到的狀況是因為無法避免的因素無法切割一個 /dev/sdb1 的硬碟分割區出來,而在一開始安裝系統的時候又把所有的空間全部給了根目錄

 

如果要壓縮磁區在切新的磁區出來的話,又必須 umount,因為環境不允許這個狀況,絞盡腦汁只好改用 dd 來建立虛擬硬碟取代所需要的資源池磁區

 

**這個方法並不是很好的解決方案,因為使用 dd 所建立的虛擬硬碟會大大降低 I/O 效能,若非狀況特殊請使用實體硬碟磁區

 

由於 DRBD 所需要的磁區類型是 block device,所以不能單單僅使用 dd 來建立 image 掛載,還要使用 mknod 和 losetup 這兩個工具來建立

 

用 dd 來產生 block device

Step.1 建立一個 100GB 的虛擬硬碟

 

Step.2 使用 mknod 這個工具建立一個 block device

建立一個 /dev/drbd255 的設備,b 是 create block (buffered) special file,而 7 , 255 則代表設備號是有意義的,可以參考 devices.txt

 

Step.3 再使用 losetup 將建立好的 img 掛載到 /dev/drbd255

 

這樣就完成建立一個 block device 可以給 DRBD 使用!

 

但是還沒完成!這個動作在重開機的時候並不會替我們自動掛載上去,可能你會想說可以寫在 rc.local 啊!!

這是錯的!重溫一下 Linux 的開機流程分析 可以知道當你設定 DRBD 為開機啟動(chkconfig)的時候,你的 rc.local 根本還沒有掛載!因為 rc.local 是在所有開機程序結束後才執行的最後一個工作,所以乾脆就直接修改一下 DRBD 的 init service,讓他啟動服務的時候就一並掛載我們設定的 block device。

 

如果覺得麻煩可以直接下載改好的檔案 drbd

 

測試啟動服務,必須要自動掛載上 image,而停用反之。

文章連結: https://shazi.info/%e6%9e%b6%e8%a8%ad-ha-%e9%ab%98%e5%8f%af%e7%94%a8%e6%80%a7%ef%bc%9amysql-drbd-heartbeat-%e7%94%a8-dd-%e4%be%86%e5%bb%ba%e7%ab%8b%e8%99%9b%e6%93%ac%e7%a1%ac%e7%a2%9f/ | Mr. 沙先生

該文章由 shazi7804 於2016年08月02日發表在 CentOS, MySQL 分類下, 你可以發表回文,並在保留原文地址及作者的情况下引用到你的網站或部落格。
原文轉載請註明: 架設 HA 高可用性:MySQL DRBD + Heartbeat – 用 dd 來建立虛擬硬碟 | Mr. 沙先生
標籤: , , , ,

架設 HA 高可用性:MySQL DRBD + Heartbeat – 用 dd 來建立虛擬硬碟:給Mr.沙先生一點建議

發表回文