问题标签 [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.

0 投票
10 回答
94905 浏览

docker - 为什么 docker 映像会占用我未使用的磁盘空间

我已经设置了 docker,并且使用了完全不同的块设备来存储 docker 的系统数据:

请注意,/disk/1使用的是完全不同的硬盘/dev/xvdi

问题是当我继续下载docker镜像并运行docker容器时,似乎另一个硬盘/dev/xvda1也用完了。

我可以通过删除一些 docker 图像来验证这个问题。在我删除了一些 docker 图像之后,/dev/xvda1现在有了更多的额外空间。

我错过了什么吗?

我的码头工人版本:

0 投票
0 回答
152 浏览

linux - Docker intermittently failing when building image

Does anybody know what might cause this?

This is running from Jenkins in AWS. The host is linux. The base is: FROM dockerfile/ubuntu

0 投票
1 回答
87 浏览

linux-kernel - 读取实际的物理块

我有 LBN->PBN 地图。LBN - 逻辑块号。PBN - 物理块号。

我可以从上面的地图中获取每个(LBN,PBN)条目。是否有任何 API 可用于使用此 PBN 从实际块设备读取数据。我目前正在使用 linux 内核代码 /drivers/md。

0 投票
1 回答
4982 浏览

centos - 如何告诉 Docker 为卷使用 dm/LVM 后端而不是 vfs

我最近(从一个 RedHat 人那里)听说“direct-LVM”(devicemapper)是推荐用于生产设置的存储后端,所以我想在 CentOS 7 VM 上尝试一下。(其中 loopback-LVM 似乎是默认设置)。

所以我创建了一个单独的数据磁盘和 VG,带有 2 个用于数据和元数据的 LV,将它们传递到 docker config 并启动 docker ...到目前为止一切顺利,看起来像这样:

但是今天当我启动一个生成几乎所有本地数据的容器时(因为我不需要为测试而持久化它,所以我没有在启动时将 Volumes 映射到任何地方),我注意到,Volume-Data 都被放入/var/lib/docker/vfs目录而不是我预期的 LVM 瘦池。

这实际上填满了我有意保持较小的 root-fs。

这是 Docker-Host 看到的磁盘布局:

如何让 Docker 将卷(在数据容器中隐式创建或显式创建)放入配置的存储后端?

或者这真的只用于(基本)图像并且我的期望完全错误?

0 投票
1 回答
999 浏览

docker - 使用 NFS 在主机之间共享 docker 映像

我正在 AWS 实例上构建一个中间层基础设施,其中包含 3 个主服务器(运行 zookeeper、mesos-master、marathon 和 haproxy)和 N 个从属服务器(运行 mesos-slave 和 docker)。

如果我在不同的奴隶上运行相同的容器马拉松下载每个奴隶相同的图像。我想共享一个 nfs 导出(例如在 master1 上)并将其安装在每个从属设备上,以便为图像提供唯一的存储。

我在 EC2 实例上使用 Ubuntu,因此默认使用的存储驱动程序是 device-mapper。我将奴隶设置为挂载 /var/lib/docker/devicemapper 和 /var/lib/docker/graph 但最终出现此错误:“陈旧的 NFS 文件句柄”

我想了解的是:

  • 有没有办法使用不同的存储驱动程序来做到这一点?
  • 无论如何,docker 守护进程是否正在查看此目录中的文件?
  • 我的方法是错误的还是可能导致“并发访问问题?
0 投票
1 回答
1710 浏览

docker - Is Docker slow when using device mapper on Fedora?

I am experimenting docker and I plan to dockerize my project's CI infratsructure. I am building dockerfiles on 3 different machines: Fedora, Ubuntu, and Boot2Docker (a virtiual machine under windows).

Docker builds on fedora are a lot slower than on the other 2 machines, especially the opration that creates a new image after a Step in the Dockerfile.

So my question is: Is device mapper a lot slower than AUFS or should I search for some other reason ? Should I expect better if I put in place a RHEL7 config ?

Config1: fedora 21 (3.18.3-201.fc21.x86_64)

Config2: Ubuntu 14.04.2 LTS

Config3: Boot2Docker (virtual linux machine running under Windows. docker default solution for Windows)

I read this article but it still did not help me to clear things out.

0 投票
1 回答
982 浏览

docker - Docker aufs 和 devicemapper 目录都存在

我正在尝试清理服务器上的一些空间,发现两者都/var/lib/docker/aufs存在/var/lib/docker/devicemapper

由于您似乎一次只能启用一个,所以我有点困惑。当我运行docker info时,看起来我启用了 devicemapper,而不是 aufs:

这是否意味着删除/var/lib/docker/devicemapper目录是安全的?

0 投票
0 回答
120 浏览

docker - Docker - 管理容器的大小

我的容器中需要超过 10G 的磁盘空间来运行应用程序。但是 10G 被设置为容器的默认最大大小。我正在运行 RHEL 7,所以 devicemapper 也是如此。我发现了这个:

docker -d --storage-opt dm.basesize=25G

在此之前,我所做的是:rm -rf /var/lib/docker删除所有 docker 镜像,然后systemctl stop docker.service.

我得到的是:

INFO[0000] +job serveapi(unix:///var/run/docker.sock)

INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)

INFO[0004] +job init_networkdriver()

INFO[0004] -job init_networkdriver() = OK (0)

INFO[0004] Loading containers: start.

INFO[0004] Loading containers: done.

INFO[0004] docker daemon: 1.5.0-dev fc0329b/1.5.0; execdriver: native-0.2; graphdriver: devicemapper

INFO[0004] +job acceptconnections()

INFO[0004] -job acceptconnections() = OK (0)

之后什么都没有发生。有人见过熟悉的东西吗?

0 投票
1 回答
364 浏览

linux - 构建 Docker 容器时出错

命令 docker build 失败并出现错误:

码头工人信息

我使用根服务器 OVH Kimsufi 和 Ubuntu 14.04.2(3.14.27-xxxx-grs-ipv6-64 #1 SMP Wed Dec 17 14:02:42 CET 2014 x86_64 x86_64 x86_64 GNU/Linux)。我在 GitHub ( https://github.com/docker/docker/issues/4036 )上阅读了这个错误的描述,但不明白如何摆脱它。

0 投票
0 回答
2888 浏览

android - 使用 veritysetup 在 Android 上获取 dm-verity 状态(已损坏或已验证)

我正在尝试使用 veritysetup 从 adb shell 获取 dm-verity 状态,但是我传递的所有设备都会导致:
# cryptsetup 1.3.1 processing "./veritysetup --debug --verbose status /dev/device-mapper"
# Running command status.
# Initialising device-mapper backend library.
# Detected kernel Linux 3.10.49-gd004f33-dirty aarch64.
# dm version OF [16384]
# dm versions OF [16384]
# Device-mapper backend running with UDEV support disabled.
/dev/mapper: opendir failed: No such file or directory
Device /dev/device-mapper not found
# Releasing device-mapper backend.
# crypt_status: 0
Command failed with code 22: Invalid argument

我正在尝试:/dev/dm-0, /dev/device-mapper, /system and /dev/block/mmcblk0p30- 所有结果都出现相同的错误。

命令行是:
$ veritysetup --debug --verbose status /dev/block/mmcblk0p30

我究竟做错了什么?