更改 docker root 未被 mesosphere dcos 注册
Changing docker root is not registerd by mesosphere dcos
通过将 "graph": "/dcos/docker/"
添加到 /etc/docker/daemon.json
,我将所有 Mesosphere DCOS 代理节点的 docker 根目录更改为更大磁盘下的 运行 而不是根(/)卷。
通过 docker info
,我看到了 Docker Root Dir:/var/lib/docker/
的变化
至 Docker Root Dir:/dcos/docker/
。
然后据我所见,更改对 Docker 有效,因为所有卷和所有容器都是在 /dcos/docker
的目录中创建的。但问题是Mesosphere DCOS似乎并没有注意到这样的变化。从 GUI 或 CLI 启动容器时,它无法启动需要大于根 (/) 大小的持久卷的容器,即使 docker 根卷大得多。
/dev/mapper/centos-root 150G 4.3G 146G 3% /
/dev/sda1 881G 3.8G 832G 1% /dcos/docker
但是只要我启动一个只需要比根磁盘更小的容器,它就会工作并将它放在 /dcos/docker 下。
有没有办法让 Mesosphere DCOS 重新计算可用于持久存储的免费 space?或者让代理节点注意到 docker root 目录不再位于 root(/) 卷下?
在 gui 中,当要求查看调试 "Recent Resource Offers" table 时,我可以看到节点提供了 1T 的存储空间,但任务请求 0 字节和磁盘参数上的红色 X .但是在根大于请求大小的其他代理节点上,它是一个绿色的复选标记。
通过将磁盘的安装位置从 /dcos/docker
更改为 /var
并将 docker root 的位置更改回 /var/lib/docker
使其工作。这修复了 root 被 docker 容器填充的问题,并允许我在 dcos 中分配更大的 presentient 卷。
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 12G 39G 24% /
devtmpfs 148G 0 148G 0% /dev
tmpfs 148G 0 148G 0% /dev/shm
tmpfs 148G 250M 148G 1% /run
tmpfs 148G 0 148G 0% /sys/fs/cgroup
/dev/sda2 1014M 184M 831M 19% /boot
/dev/mapper/centos-lvol1 2.0T 39M 2.0T 1% /dcos/volume0
/dev/mapper/centos-lvol0 4.0T 17G 4.0T 1% /var
/dev/mapper/centos-lvol2 1.8T 33M 1.8T 1% /dcos/volume1
overlay 4.0T 17G 4.0T 1% /var/lib/docker/overlay/095f55a30c322914b0d4b82ac90a884fd5a1b1f937ce94654bf961e59644f720/merged
shm 64M 0 64M 0% /var/lib/docker/containers/e73e8277e9ce4270afd38038ecc2116e3a12e415783a611a74a7900f6241fe3a/shm
overlay 4.0T 17G 4.0T 1% /var/lib/docker/overlay/19c8656cf344a3dce3cbce73040961af551d38bb4f63843dd173d075c72ba58b/merged
shm 64M 0 64M 0% /var/lib/docker/containers/ccfcd9707003e55d229884ac283b977df634ae9d5c8b5f04517dba94c255fa5d/shm
overlay 4.0T 17G 4.0T 1% /var/lib/docker/overlay/886b3e427b2c2d8ff2854e015bd91617253c069fdf9537a882dac10584720924/merged
shm 64M 0 64M 0% /var/lib/docker/containers/654b4a4bd9aaa13720fbe3be81f48228d35932a45f5af56789c9fdd4b974294b/shm
tmpfs 30G 0 30G 0% /run/user/0
通过将 "graph": "/dcos/docker/"
添加到 /etc/docker/daemon.json
,我将所有 Mesosphere DCOS 代理节点的 docker 根目录更改为更大磁盘下的 运行 而不是根(/)卷。
通过 docker info
,我看到了 Docker Root Dir:/var/lib/docker/
的变化
至 Docker Root Dir:/dcos/docker/
。
然后据我所见,更改对 Docker 有效,因为所有卷和所有容器都是在 /dcos/docker
的目录中创建的。但问题是Mesosphere DCOS似乎并没有注意到这样的变化。从 GUI 或 CLI 启动容器时,它无法启动需要大于根 (/) 大小的持久卷的容器,即使 docker 根卷大得多。
/dev/mapper/centos-root 150G 4.3G 146G 3% /
/dev/sda1 881G 3.8G 832G 1% /dcos/docker
但是只要我启动一个只需要比根磁盘更小的容器,它就会工作并将它放在 /dcos/docker 下。
有没有办法让 Mesosphere DCOS 重新计算可用于持久存储的免费 space?或者让代理节点注意到 docker root 目录不再位于 root(/) 卷下?
在 gui 中,当要求查看调试 "Recent Resource Offers" table 时,我可以看到节点提供了 1T 的存储空间,但任务请求 0 字节和磁盘参数上的红色 X .但是在根大于请求大小的其他代理节点上,它是一个绿色的复选标记。
通过将磁盘的安装位置从 /dcos/docker
更改为 /var
并将 docker root 的位置更改回 /var/lib/docker
使其工作。这修复了 root 被 docker 容器填充的问题,并允许我在 dcos 中分配更大的 presentient 卷。
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 12G 39G 24% /
devtmpfs 148G 0 148G 0% /dev
tmpfs 148G 0 148G 0% /dev/shm
tmpfs 148G 250M 148G 1% /run
tmpfs 148G 0 148G 0% /sys/fs/cgroup
/dev/sda2 1014M 184M 831M 19% /boot
/dev/mapper/centos-lvol1 2.0T 39M 2.0T 1% /dcos/volume0
/dev/mapper/centos-lvol0 4.0T 17G 4.0T 1% /var
/dev/mapper/centos-lvol2 1.8T 33M 1.8T 1% /dcos/volume1
overlay 4.0T 17G 4.0T 1% /var/lib/docker/overlay/095f55a30c322914b0d4b82ac90a884fd5a1b1f937ce94654bf961e59644f720/merged
shm 64M 0 64M 0% /var/lib/docker/containers/e73e8277e9ce4270afd38038ecc2116e3a12e415783a611a74a7900f6241fe3a/shm
overlay 4.0T 17G 4.0T 1% /var/lib/docker/overlay/19c8656cf344a3dce3cbce73040961af551d38bb4f63843dd173d075c72ba58b/merged
shm 64M 0 64M 0% /var/lib/docker/containers/ccfcd9707003e55d229884ac283b977df634ae9d5c8b5f04517dba94c255fa5d/shm
overlay 4.0T 17G 4.0T 1% /var/lib/docker/overlay/886b3e427b2c2d8ff2854e015bd91617253c069fdf9537a882dac10584720924/merged
shm 64M 0 64M 0% /var/lib/docker/containers/654b4a4bd9aaa13720fbe3be81f48228d35932a45f5af56789c9fdd4b974294b/shm
tmpfs 30G 0 30G 0% /run/user/0