Xen
在 lvm 分區上掛載一個分區
我有一個 xen dom0 伺服器(名為 virtserver),它包含一個來賓機器,我們稱之為“virtguest”。
之前的virtguest曾經是一台物理機,整個舊磁碟(有幾個分區)現在位於virtserver上的一個lvm卷上(不是我做的)。如何從 virtserver 在 virtguest 上訪問(掛載)sda1?
理論上它應該位於 /dev/vgvirt/virtguest-disk/sda1 但顯然這不起作用。
現在,virtguest 將整個 /dev/vgvirt/virtguest-disk 獲取為 /dev/sda,然後在啟動後將分區安裝在該磁碟上作為 /dev/sda1、dev/sda2 等,但現在我需要提取關於來自“外部”的 sda1。
所以,我要做的是執行塊附加:
root@virtserver:# xm block-attach 0 phy:/dev/vgvirt/virtguest-disk xvda w root@virtserver:# mount /dev/xvda1 /mnt
或者如果 xen > 4.1 則使用 xl 而不是 xm
我會使用kpartx
添加磁碟映射:
kpartx -a /dev/vgvirt/virtguest-disk
看看能不能找到vg。
vgscan
然後 vgchange 並掛載(例如在 /mnt 下)
vgchange -a y yourVGname mount /dev/yourVGname/yourLV /mnt
如果您在嘗試執行此操作的機器上執行 LVM,並且 VG:s 的名稱相同,那麼您可能會遇到問題。
這是一個很好的方法:http ://wiki.xen.org/wiki/Access_a_LVM-based_DomU_disk_outside_of_the_domU
或者您可以考慮使用guestfish。