Ubuntu 16.04.1 中 LXD 实例的 Cinder 卷

Ubuntu 16.04.1 中 LXD 实例的 Cinder 卷

据我所知,nova-compute-lxd 实例的卷已列入 16.04 的路线图中。是否可以在 16.04.1 中将 cinder 卷提供给 lxd 实例?

答案1

对于 OpenStack Mitaka(16.04 版中发布),无法将任何类型的 Cinder 卷与使用 Nova LXD 驱动程序创建的实例一起使用。

对于 OpenStack Newton,可以使用 Cinder iSCSI 卷进行持久块存储,但也存在一些限制 - 具体来说,只有 ext4 文件系统类型才能在非特权容器中使用,并且只能在启用内核支持时使用

echo Y | sudo tee /sys/module/ext4/parameters/userns_mounts

您可以通过 Ubuntu Cloud Archive 在 Ubuntu 16.04 上使用 OpenStack Newton:

sudo add-apt-repository cloud-archive:newton

未来的 OpenStack 版本也应该支持 Ceph - 这项工作目前正在进行中,尚未实现。

答案2

在经历了 nova-compute-lxd 安装的艰难之后,我自己找到了答案。答案是 16.04.1 Mitaka 版本不支持它。

在附加卷时,我在 driver.py 模块中收到错误,该错误指出不支持的功能。Master 似乎有支持,但距离生产似乎还很远。

In driver.py one can read
   def attach_volume(self, context, connection_info, instance, mountpoint,
                      disk_bus=None, device_type=None, encryption=None):
        """Attach block device to a nova instance.
        Attaching a block device to a container requires a couple of steps.
        First os_brick connects the cinder volume to the host. Next,
        the block device is added to the containers profile. Next, the
        apparmor profile for the container is updated to allow mounting
        'ext4' block devices. Finally, the profile is saved.
        The block device must be formatted as ext4 in order to mount
        the block device inside the container.
        See `nova.virt.driver.ComputeDriver.attach_volume' for
        more information/

我想知道什么时候可以使用 LXD 存储,因为目前这可以看作是一个重大限制......

相关内容