XEN 存储库缺少选项 type=lvm (XCP)

XEN 存储库缺少选项 type=lvm (XCP)

有关此主题的多个在线文档讨论了使用选项 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 开箱即用。

相关内容