DRBD 作為 XEN VM 的塊設備 (Centos 5.3)

DRBD 作為 XEN VM 的塊設備 (Centos 5.3)

我在兩個伺服器節點之間設定了 drbd 資源 - 在兩個伺服器節點之間進行同步測試時一切正常。 (我想使用drbd、xen和heartbeat建立HA叢集)

但是,當我嘗試建立使用 Centos 作為來賓作業系統的 XEN VM 時,我進入了安裝分割畫面,但當我選擇分割區類型時,下一個畫面會顯示以下錯誤:

“發生錯誤 - 未找到可用於建立新檔案系統的有效設備。請檢查您的硬體以找出導致此問題的原因。”

這是第一次嘗試創建這樣的設置,搜尋谷歌並沒有多大幫助...

我的 DRBD 和 XEN 設定檔......

DRBD(只是相關的部分)

在 xennode0 { 裝置 /dev/drbd0;磁碟/dev/sda5;地址XXXX:7788;內部靈活元磁碟; }

在 xennode1 { 裝置 /dev/drbd0;磁碟/dev/sda5;地址XXXX:7788;內部元磁碟; }

XEN

kernel = "/boot/xeninstall/vmlinuz" ramdisk = "/boot/xeninstall/initrd.img" extra = "text" name = "VM" maxmem = 3000 記憶體= 3000 vcpu = 4 on_poweroff = "銷毀啟動" on_crash = "重新啟動" vfb = [ ] disk = [ "phy:/dev/drbd0,sda1,w", "tap:aio:/srv/xen/xenswap.img,sda2,w" ] vif = [ "mac =00:16:3e:11:67:ae,bridge=xenbr0" ] root = "/dev/sda1 ro"

先致謝!

答案1

好吧,既然我把頭髮拉出來解決了這個問題,那麼讓我回答我的問題並省去其他人拉頭髮的麻煩:)

解決方案:

經過一番嘗試、大量谷歌搜尋和重新分區等之後……我找到了一個非常有魅力的設定。

可能有一種更快的方法來做到這一點,但我不會讓這個答案過於複雜化

我使用這樣的分割區進行了標準安裝(我有一個 500g 硬碟):

/boot 100mb 
/swap 4gb 
/     40gb 

磁碟空間的餘額將保留為未分割空間。

然後,我按照以下步驟建立了一個名為 /dev/sda4 的主分割區:

~: fdisk /dev/sda
~: (fdisk shell) p4   (for primary partition # 4)
~: (fdisk shell) t    (hit t and enter to edit the partition type)
~: (fdisk shell) 08e  (Linux LVM)

重新啟動伺服器以使新分割區生效。

現在透過以下方式建立邏輯磁碟區:

~: pvcreate /dev/sda4
~: vgcreate xenvg -s 4M /dev/sda4    # (xenvg is the name of my virtual group, you can rename it)
~: lvcreate -L400G -n xenroot xenvg  # (xenroot is going to be my drbd  resource and root partition for my DomU)
~: lvcreate -L4G  -n xenswap xenvg   # (xenswap is my swap file for my DomU)

現在您已經有了正確的分割區,您可以繼續使用以下設定檔指令 (drbd.conf) 安裝 DRBD

此處僅顯示 2 個重要指令...

{
device  /dev/drbd0;
disk    /dev/xenvg/xenroot;
}

您的 XEN VM 設定檔需要如下所示(同樣,這只是重要的一個)

{
disk = [ "drbd:xenvm,xvda,w","phy:xenvg/xenswap,xvdb,w" ]
}

我希望這對那裡的人有幫助...

答案2

所以這裡有兩點很重要:

  1. 對於 DomU 將看到的設備,最好使用整個磁碟而不是分割區
  2. 在 DomU 中使用標準設備名稱 (xvd*)

我在最新的 SLES SP3 核心補丁中偶然發現了後者:到目前為止,我在 DomU 中使用「sda」作為裝置名稱。

現在,我的半虛擬化 DomU 在應用核心修補程式期間掛起。補丁過程的追蹤顯示,有東西正在嘗試存取 sda,就好像它是實體磁碟一樣。將 sda 更改為 xvda 後,我不再有任何問題。

CentOS 4 作為半虛擬化 DomU,使用「sda」也相當棘手。我必須說服系統不要為該設備使用 scsi 驅動程序,而是使用 xenblock 驅動程式。基本上是同樣的問題。

相關內容