问题标签 [device-mapper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - Docker:设备映射器文件系统损坏
我在 Redhat 2.6.32 上使用带有设备映射器的 docker。Docker 版本是 1.5.0。
当 docker 使用分配给 docker 的所有数据空间(Data Space Used 值达到 Data Space Total,默认为 107G)时,设备映射器文件系统损坏,除非我删除所有 docker 文件并重新启动 docker 服务,否则我无法恢复,这意味着我失去了所有的码头集装箱。在这种情况下,我得到的错误是:
Error response from daemon: Cannot start container mycontainer: Error getting container a40b5c50d48b60df21cebf69b2a266b4d75f8f3e50361fdec1d35f746f1d0d7e from driver devicemapper: Error mounting '/dev/mapper/docker-8:1-2768900-a40b5c50d48b60df21cebf69b2a266b4d75f8f3e50361fdec1d35f746f1d0d7e' on '/DATA/docker/devicemapper/mnt/a40b5c50d48b60df21cebf69b2a266b4d75f8f3e50361fdec1d35f746f1d0d7e':无效的论点
我知道我们可以通过使用其他写时复制文件系统(btrfs 和 zfs 工作正常)来克服这个问题,但我对为什么我们会使用设备映射器得到这种奇怪的行为感兴趣。
[编辑] 机器上的内核版本是
docker - 如何禁用 docker Thinpooldev 上的写屏障?
如果启用了写屏障,我的服务器的磁盘性能非常低。由于它有一个带电池的磁盘控制器用于缓存,因此可以安全地将“nobarrier”选项添加到 /etc/fstab。这在性能上产生了巨大的差异。我想对 docker 也一样,但我使用的是设备映射器而不是常规分区。将 docker 与设备映射器一起使用时,如何禁用 docker 中的写屏障?
docker - 使用 DeviceMapper 设置磁盘配额
我已将存储插件更改为DeviceMapper
. Docker info
给出以下输出。
首先,我不知道如何设置每个容器的配额。docker run
我应该在命令中使用 flgas吗?
docker - [loop0] 进程是做什么用的?
我在带有 devicemapper 的 CentOS 7 机器上的 docker 容器中运行 apache(在专用卷组上,而不是在环回文件上)。
几次请求后,系统负载急剧增加,甚至高达 20。由于 cpu 负载相当低,我使用iotop -a跟踪 I/O 活动,发现当容器运行时,进程 [loop0] 做了很多事情从磁盘读取。
我用谷歌搜索了一下,但我仍然无法弄清楚 [loop0] 的用途。有人可以给我一个线索吗?在 docker 容器内运行的进程会导致 [loop0] 发疯吗?
ubuntu - 在 Ubuntu 上创建卷组以支持 docker 的非环回 devicemapper 驱动程序?
有很多材料指出了将环回设备与 devicemapper 驱动程序一起使用的危险。这个问题似乎包含了远离环回设备所需的大部分信息。
我的问题是如何/dev/my-vg
在 Ubuntu 中创建卷组?或者环回设备周围是否有其他不涉及创建卷组的路径?
docker - OpenShift 3 - 构建“由于磁盘空间不足而无法启动”
尝试在 OpenShift 中执行构建时,它立即失败,并在事件查看器中显示错误“由于磁盘空间不足而无法启动” 。
我似乎无法弄清楚为什么当一切看起来都很好时,OpenShift 会认为我的磁盘空间不足。以下是有关服务器的一些详细信息。
# 码头工人 -v
# 码头信息
# df -h
# dmsetup 状态
# dmsetup 表
#pvscan
# lvscan
# cat /etc/sysconfig/docker-storage
# 山
编辑以添加以下附加详细信息。
仍然有这个问题。看起来问题实际上可能存在于 Kubernetes 中,但我不确定。
我运行了以下 GO 程序,基于 Kubernetes 用于确定是否有足够的磁盘空间。
然后我通过以下方式运行它
并收到以下结果,似乎也没有显示任何磁盘空间问题。
我想知道我是否应该将此作为错误报告提交给 Kubernetes?
运行 /
在 /dev 上运行
在 /dev/shm 上运行
在 /run 上运行
在 /sys/fs/cgroup 上运行
在 /usr 上运行
在 /opt 上运行
在 /tmp 上运行
在 /boot 上运行
在 /var 上运行
在 /home 上运行
在 /dockerregistry 上运行
在 /opt/cbc/nfs 上运行
在 /var/lib/origin/openshift.local.volumes/pods/19fb86f1-d9b1-11e5-bb64-005056969894/volumes/kubernetes.io~secret/builder-dockercfg-bsamf-push 上运行
在 /var/lib/origin/openshift.local.volumes/pods/19fb86f1-d9b1-11e5-bb64-005056969894/volumes/kubernetes.io~secret/omited6-source 上运行
在 /var/lib/origin/openshift.local.volumes/pods/19fb86f1-d9b1-11e5-bb64-005056969894/volumes/kubernetes.io~secret/builder-token-b7asp6 上运行
# lvs
caching - 通过 NFS 公开 /var/lib/docker 以服务于内存有限的主机的影响
通过 NFS 导出 /var/lib/docker 有什么影响?这个想法是将 docker 图像存储在服务器中并将其导出到内存有限的主机来存储和运行容器。这对于避免让每个主机下载并存储它自己的 docker 镜像库很有用。主机可以使用 FS-Cache 来限制网络上的数据传输。
linux - 停止 docker 容器后,之前运行的容器无法启动
我有一个正在运行的容器,但是在停止容器并再次启动它之后,它给了我错误:
我的内核版本、发行版、docker 信息和 docker 版本:
在 docker inspect 我发现这个输出:
docker - 清理docker环境:devicemapper
我有一个带有 2 个容器(Jenkins 和 Nexus,都有自己的命名卷)的 docker 环境。我每天都有一个删除未使用的容器和图像的 cron 作业。这工作正常。但问题出在我的设备映射器内部:
我可以在我的 docker 文件夹中的每个文件夹: 卷(大,但在我的情况下这是正常的):
容器:
图片:
设备映射器:
/var/lib/docker/devicemapper/mnt
是 7.3G
/var/lib/docker/devicemapper/devicemapper
是 8.1G
码头工人信息:
这个空间是什么,我可以在不破坏东西的情况下清理它吗?
java - Docker /var/lib/docker/devicemapper/devicemapper 使用 2.7GB
我是codiva online ide的开发人员。每次用户运行 java 程序时,我们都会启动一个新容器。我们使用 devicemapper 存储驱动程序,因为这是我们能够设置容器大小上限的唯一方法。
使用几个月后,我们看到磁盘使用量在增加,/var/lib/docker/devicemapper/devicemapper 大约需要 2.7GB。
我已经删除了所有未运行的 docker 容器和任何悬空的卷,不幸的是,/var/lib/docker/devicemapper/devicemapper 的磁盘使用量仍然显示为 2.7GB。
回收这个空间的最佳方法是什么?我们不需要任何持久化存储,我们可以删除所有数据,因为任何需要存储的数据,我们直接挂载主机目录,这些文件在 docker 之外进行管理。
没有运行甚至停止的容器。码头工人信息结果在这里。
没有悬空或孤立的卷。
唯一的图像是 java:8
我已经按照https://lebkowski.name/docker-volumes/的说明进行操作,但它仍在使用不必要的额外空间。
Edit1:我添加了docker images -a
. 这显示了大量未命名的图像。大小看起来很可疑,因为所有这些图像的总和高达 4.5GB,但我的整体/var/lib/docker
只有 2.7GB 左右。
在尝试其中之一时,我得到了错误。$ sudo docker rmi 5d7cc49c4372 来自守护进程的错误响应:冲突:无法删除 5d7cc49c4372(无法强制)-图像具有依赖的子图像错误:无法删除图像:[5d7cc49c4372]
在阅读它时,似乎唯一需要的图像 java:8 取决于这些子图像。
这意味着,无法删除未标记的图像,我认为按照设计使用的总大小仍应为 ~670MB,因为 docker 仅存储依赖图像的差异。
请让我知道如何减少 devicemapper 的磁盘使用量。