我有一台装有 Ubuntu 15 Wily 的专用服务器,我想使用 LXC 进行游戏/学习。我的主要目标是在不停止容器的情况下对其进行快照和克隆,为此,我使用 BTRFS 文件系统格式化了一个分区。
root@lxc:/btrfs-partition/lxc-subvolume02# btrfs subvolume list /btrfs-partition/
ID 256 gen 10 top level 5 path ext2_saved
ID 260 gen 34 top level 5 path lxc-subvolume
ID 261 gen 745 top level 5 path lxc-subvolume02
ID 262 gen 740 top level 261 path lxc-subvolume02/www05btrfs/rootfs
ID 263 gen 740 top level 261 path lxc-subvolume02/www05btrfs/snaps/snap0/rootfs
这是分区布局,其中“/btrfs-partition”是挂载的 btrfs 文件文件夹
ID 262 gen 740 top level 261 path lxc-subvolume02/www05btrfs/rootfs
该容器已使用此命令创建:
lxc-create -B btrfs -n www05btrfs -t debian -- -r wheezy -a amd64
当我尝试拍摄快照时:
lxc-snapshot -n www05btrfs
我收到了这个错误:
lxc-snapshot: lxccontainer.c: do_lxcapi_clone: 2795 error: Original container (www05btrfs) is running
lxc-snapshot: lxccontainer.c: do_lxcapi_snapshot: 3113 clone of /btrfs-partition/lxc-subvolume02:www05btrfs failed
lxc-snapshot: lxc_snapshot.c: do_snapshot: 55 Error creating a snapshot
我认为我必须首先创建一个评论文件,所以我有:
echo "some comment bla bla bla" > snap-comment
lxc-snapshot -n www05btrfs -c snap-comment
但同样的错误:
lxc-snapshot: lxccontainer.c: do_lxcapi_clone: 2795 error: Original container (www05btrfs) is running
lxc-snapshot: lxccontainer.c: do_lxcapi_snapshot: 3113 clone of /btrfs-partition/lxc-subvolume02:www05btrfs failed
lxc-snapshot: lxc_snapshot.c: do_snapshot: 55 Error creating a snapshot
但如果我停止容器并创建评论,一切就正常:
root@lxc:/btrfs-partition/lxc-subvolume02# lxc-stop -n www05btrfs
root@lxc:/btrfs-partition/lxc-subvolume02# lxc-snapshot -n www05btrfs -c snap-comment
root@lxc:/btrfs-partition/lxc-subvolume02# lxc-start -n www05btrfs
root@lxc:/btrfs-partition/lxc-subvolume02# lxc-snapshot -n www05btrfs -L -C
snap0 (/btrfs-partition/lxc-subvolume02/www05btrfs/snaps) 2015:11:08 09:36:26
before installing apache2
那么,有人可以帮助我制定一个工作流程,以便使用 BTRFS fs 正确地对 LXC 容器进行快照吗?
我一直在读这个: https://www.stgraber.org/2013/12/27/lxc-1-0-container-storage/
但没有一个能像描述的那样工作。谢谢