我从LXD storage specs看到LVM可以用作后备存储。我之前设法让LVM与LXC合作。这非常 令人愉悦,因为它允许配额式控制磁盘消耗。
如何使用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
然而,在应用配置文件并启动容器后,它 似乎正在使用文件后备存储:
me@my-box:~# 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
我做错了什么?
答案 0 :(得分:0)
如果对他人有用,我会回答我自己的问题。
根据lxc-users邮件的权威答案,列表:
" storage.lvm_vg_name不是每容器配置设置,它是' s 整个守护进程。
使用' lxc config set storage.lvm_vg_name myvolgroup'进行设置, 然后lxd将使用卷组作为每个新图像的存储空间 之后创建的容器。"
作为一个非常粗略的总结,我使用vgcreate创建一个卷组,然后lvcreate在该组中创建一个卷。紧随其后的是lxc config set storage.lvm_vg_name
和lxc config set storage.lvm_thinpool_name
。
似乎有效。然而LXD目前对我的口味感觉有点太不成熟,我现在要使用普通的LXC。我期待在几个月内再次尝试LXD。