lxc 错误:保存容器的配置文件失败

lxc 错误:保存容器的配置文件失败

我最近将我的 lxd 升级到 2.20-0ubuntu4~16.04.1~ppa,但现在我无法启动我导入的容器。

我可以使用 lxd import NAME 成功导入容器,并且可以执行 lxc config show NAME 并显示配置。

但是当我去启动它时,它说:

lxc start web01

error: saving config file for the container failed
Try `lxc info --show-log web01` for more info**

lxc info --show-log web01

Name: web01
Remote: unix://
Architecture: x86_64
Created: 2017/11/18 20:34 UTC
Status: Stopped
Type: persistent
Profiles: v41

日志:

如果我在调试中运行(lxc start --debug web01),那么在调试结束时我会得到以下内容,但似乎没有帮助:

DBUG[11-18|20:41:28] Got operation from LXD
DBUG[11-18|20:41:28]
    {
            "id": "8c760a1d-f1d4-418b-a7bc-fce2cb19e878",
            "class": "task",
            "created_at": "2017-11-18T20:41:28.572544339Z",
            "updated_at": "2017-11-18T20:41:28.572544339Z",
            "status": "Running",
            "status_code": 103,
            "resources": {
                    "containers": [
                            "/1.0/containers/web01"
                    ]
            },
            "metadata": null,
            "may_cancel": false,
            "err": ""
    }
DBUG[11-18|20:41:28] Sending request to LXD                   etag=     method=GET url=http://unix.socket/1.0/operations/8c760a1d-f1d4-418b-a7bc-fce2cb19e878
DBUG[11-18|20:41:28] Got response struct from LXD
DBUG[11-18|20:41:28]
    {
            "id": "8c760a1d-f1d4-418b-a7bc-fce2cb19e878",
            "class": "task",
            "created_at": "2017-11-18T20:41:28.572544339Z",
            "updated_at": "2017-11-18T20:41:28.572544339Z",
            "status": "Running",
            "status_code": 103,
            "resources": {
                    "containers": [
                            "/1.0/containers/web01"
                    ]
            },
            "metadata": null,
            "may_cancel": false,
            "err": ""
    }
error: saving config file for the container failed
Try `lxc info --show-log web01` for more info

有人能帮忙说明为什么它无法保存其配置吗?

答案1

好的,所以对于任何获得信息的人来说,这可能是因为在 2.20 的 ppa 中,我被提供了 snap 版本,并安装了它。然而,在 snap 版本中,它将目录更改为 /var/snap,例如 /var/snap/lxd/common/lxd/storage-pool/ 是新的 /var/lib/lxd/storage-pool

如果您不像我一样对池和容器进行符号链接,那么这可能没问题。因此,/var/lib/lxd/containers 在 snap 中中断,因为它试图指向 /var/snap/lxd/common/lxd/storage-pools/default/containers。

此后,我将 lxd 反向移植到 16.04,然后将符号链接更改为没有 snap 时的状态,但我认为它们在 snap 中也能同样好用。有关反向移植到 16.04 的信息:apt install -t xenial-backports lxd lxd-client

相关内容