我试图在(3.0内核)上设置ocfs2。我在主机上分享一个VG的LV。HostOS是Ubuntu (也在3.0内核上)。
我可以在两个KVM之间的卷上共享ocfs2分区,但是我不能在hostOS和VM之间共享这个分区。
我只能在hostOS上挂载分区,但是一旦我尝试将分区挂载到一个KVM上,我就会得到:
(o2hb-A72309E287,1395,1):o2hb_check_last_timestamp:576 ERROR: Another node is heartbeating on device (dm-4): expected(2:0xb88208e59655bc4f, 0x4f2d4275), ondisk(0:0x0, 0x0)
[22085.518632] ocfs2: Unmounting device (252,4) on (node 2)在syslog。
VM文件中将卷定义为:
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/datastore/test'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>存储池定义为:
<pool type="logical">
<name>datastore</name>
<target>
<path>/dev/datastore</path>
</target>
</pool>我用以下方法为这个LV上的分区创建了设备节点:
kpartx -av /dev/datastore/test它创建了/dev/mapper/datastore-test1 1,然后我尝试挂载它。
在KVM和hostOS之间共享一个hostOS卷主要是不可能的,还是我做错了什么?
发布于 2012-02-20 08:12:03
如果有人遇到同样的问题,我会回答我自己的问题:
我的ocfs2和VM配置都没问题。问题是,我在/dev/vda (在VM中)中立即生成了一个ocfs2卷。
问题是,VM看到一个带有ocfs2分区的物理分区,而hostOS看到一个带有ocfs2分区的LVM卷。
解决方案是在VM中的/dev/vda中创建一个pv,然后在此基础上生成一个VG和一个LV。然后将LV格式化为ocfs2。
这个嵌套的VG可以在hostOS中看到,并且可以挂载。
所以VG的布局是:
vg:datastore
--lv:test
--vg:vmtest
--lv:vmvolume在hostOS和VM上,卷可以挂载为/dev/vmtest/VM卷
https://serverfault.com/questions/356842
复制相似问题