有关此主题的多个在线文档讨论了使用选项 type= 创建 SR左室厚度但尝试这些:
# xe sr-create type=lvm device-config:device=/dev/server/sr_guest1
name-label=sr1
The SR could not be connected because the driver was not recognised.
driver: lvm
看来我不能,制表符补全尝试告诉我这些是我可以使用的:
root@server:~# xe sr-probe type=[TAB]
dummy ext file iso nfs
确实左室厚度不在其中。我搜索了几个小时试图找到类似的问题,但没有任何帮助。
版本:
root@server:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.1 LTS"
root@server:~# dpkg --list | egrep 'xen|xapi|xcp'
ii libxen-4.1 4.1.2-2ubuntu2.4
ii libxenstore3.0 4.1.2-2ubuntu2.4
ii python-xenapi 1.3.2-5ubuntu0.1
ii xen-hypervisor-4.1-amd64 4.1.2-2ubuntu2.4
ii xen-utils-4.1 4.1.2-2ubuntu2.4
ii xen-utils-common 4.1.2-1ubuntu1
ii xenstore-utils 4.1.2-2ubuntu2.4
ii apt-xapian-index 0.44ubuntu5
ii libxapian22 1.2.8-1
ii python-xapian 1.2.8-1
ii xcp-eliloader 0.1-4
ii xcp-fe 0.5.2-3
ii xcp-guest-templates 0.1-3
ii xcp-networkd 1.3.2-5ubuntu0.1
ii xcp-squeezed 1.3.2-5ubuntu0.1
ii xcp-storage-managers 0.1.1-2ubuntu1
ii xcp-v6d 1.3.2-5ubuntu0.1
ii xcp-vncterm 0.1-2
ii xcp-xapi 1.3.2-5ubuntu0.1
ii xcp-xe 1.3.2-5ubuntu0.1
有谁愿意给我解释一下原因吗?显而易见:我从初始安装开始就使用 LVM。我想将虚拟机安装在它们自己的逻辑卷上,而不是映像上,所以我认为我确实需要这个选项。
那么,有没有办法添加LVM支持呢?
更新:
或许这可能是一个线索,不知道。是不是我没有citrix...
答案1
使用type=lvhd
而不是type=lvm
.我认为这就是您正在寻找的东西。据我所知,这是较新版本的 xenserver 中的默认设置。
答案2
显然,驱动程序 python 脚本不包含在 xcp-xapi 的库存版本中。我已经找到了一种方法来让 lvm 驱动程序可供选择。这就是我所做的:
我下载了xcp-xapi源代码。我查找了 LVM* 驱动程序并将其复制到正在运行的主机,并设置了一个符号链接,如下所示:
cp /usr/local/src/xcp-storage-managers-0.1.1/drivers/LVMSR.py /usr/lib/xcp/sm/
cd /usr/lib/xcp/sm/
ln -s LVMSR.py LVMSR
重新启动后
/etc/init.d/xcp-xapi restart
我可以用 Tab 键完成驱动程序(这是一个开始)
root@server:~# xe sr-list type=
dummy ext file iso lvm nfs
然后我排除万难找到了 2 GB:
lvcreate --size 2G --name sr_test server
Logical volume "sr_test" created
进而
root@server:~# xe sr-create type=lvm \
device-config:device=/dev/server/sr_test name-label=srt
这给了我
Error code: SR_BACKEND_FAILURE_53
Error parameters: , Logical Volume unmount/deactivate error [opterr=errno is 3],
所以还没有到那里。
稍微搜索一下就会发现这个非常有趣的帖子对我来说,显然 Kronos debian 人员是故意这样做的(但没有提及他们没有包含 LVM,因为它没有经过足够的测试......)
所以我最终这样做了:
root@server:/usr/lib/xcp/sm# locate lvutil.pyc
/usr/lib/xcp/sm/lvutil.pyc
编辑此文件,在第 302 行您应该看到:
cmd = [CMD_VGCHANGE, "-an", "--master", vgname]
从该行删除 master 选项。在第 344 行,设置激活VG还有另外一个。
cmd = [CMD_VGCHANGE, "-a" + val, "--master", path]
此 ubuntu 版本中的 vgchange 不支持此选项。原因在提到的链接中。做了:
cmd = [CMD_VGCHANGE, "-an", vgname]
和
cmd = [CMD_VGCHANGE, "-a" + val, path]
对于两条线。突然间这就起作用了(自从我获得 UUID 以来第一眼看到):
root@server:~# xe sr-create type=lvm \
device-config:device=/dev/server/sr_test name-label=srt
1b916212-bb83-f958-2c76-fa1f9829e6af
我确实在日志中得到了这个:
[20130124T13:42:47.877Z|debug|server|102|scan one D:ba6210351c61|xapi]
SR 1b916212-bb83-f958-2c76-fa1f9829e6af (srt) is not shared or is being
plugged to a slave - not handling metadata VDIs at this point.
由于这不是共享的,也不是从属的,我认为我没问题,但我不喜欢它说它不处理元数据,尽管它说“此时”,我将其解释为现在不需要。欢迎输入。
答案3
嗯,我只会使用 XCP 裸机 iso 安装作为 Dom0。 ubuntu 的整个操作系统安装太过分了。只是我的观点。不是答案,而是观察结果,裸机可以通过 LVM 开箱即用。