2015-10-09 32 views
1

我从LXD storage specs可以看出,LVM可以用作备份存储。我以前设法让LVM与LXC合作。这是非常令人愉快的,因为它允许配额式控制磁盘消耗。带LVM备份存储的LXD实现磁盘配额

如何通过LXD实现这一目标?

据我所知,storage.lvm_vg_name必须指向我的卷 组。我已经通过创建配置文件来设置容器,并且将该配置文件应用于容器。整个轮廓配置 看起来是这样的:

name: my-profile-name 
config: 
    raw.lxc: | 
    storage.lvm_vg_name = lxc-volume-group 
    lxc.start.auto = 1 
    lxc.arch = amd64 
    lxc.network.type = veth 
    lxc.network.link = lxcbr0 
    lxc.network.flags = up 
    lxc.network.hwaddr = 00:16:3e:xx:xx:xx 
    lxc.cgroup.cpu.shares = 1 
    lxc.cgroup.memory.limit_in_bytes = 76895572 
    security.privileged: "false" 
devices: {} 

卷组应提供和工作,根据 pvdisplay将在主机箱:

--- Physical volume --- 
    PV Name    /dev/sdc5 
    VG Name    lxc-volume-group 
    PV Size    21.87 GiB/not usable 3.97 MiB 
    Allocatable   yes 
    PE Size    4.00 MiB 
    Total PE    5599 
    Free PE    901 
    Allocated PE   4698 
    PV UUID    what-ever 

但是应用配置文件并启动容器后,它 似乎使用文件后备存储:

[email protected]:~# ls /var/lib/lxd/containers/container-name/rootfs/ 
bin boot dev etc home lib lib64 lost+found media mnt opt 
proc root run sbin srv sys tmp usr var 

上午什么我做错了?

回答

1

请注意,我们还提供一个带LXD的python脚本来为您执行初始VG配置。

至于磁盘配额,我们有一个新的规范,我们很快就会实现,并且可以让您为任何附加到支持它的容器的存储设置磁盘配额。

尽管我们仍然支持LVM,但是我们现在主要关注和偏好存储后端,因为它允许此类更改实时发生,并且在跨网络移动容器和快照时也更好。

新的存储配额功能将在zfs,LVM和btrfs上受支持,但只会针对zfs和btrfs进行实时应用,LVM将需要重新启动容器。

0

我会回答我自己的问题,以防其他人使用。

据有关LXC-users邮件的权威的答案,列表:

“的storage.lvm_vg_name不是每个容器的配置设置,它是 整个守护

你。使用'lxc config set storage.lvm_vg_name myvolgroup'进行设置,并且 然后lxd将使用该卷组作为每个新图像和之后创建的容器的存储。“

作为一个非常粗略的总结,我使用vgcreate创建卷组,然后lvcreate在该组中创建一个卷。紧接着是lxc config set storage.lvm_vg_namelxc config set storage.lvm_thinpool_name

它似乎工作。然而,LXD目前对我的口味感觉有点过于不成熟,现在我要使用普通的LXC。我期待在几个月内再次尝试LXD。