首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >直接-LVM在重新启动后停止工作。

直接-LVM在重新启动后停止工作。
EN

Stack Overflow用户
提问于 2016-10-20 18:34:50
回答 2查看 4.6K关注 0票数 5

为了在生产中运行Docker,我遵循https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/#configure-direct-lvm-mode-for-production中的步骤

一切似乎都很顺利。但如果我因为某种原因重新启动,一切都会一团糟。即使我删除了/var/lib/docker中的所有内容,运行了lvremove, vgremove and pvremove,它仍然表示Error starting daemon: error initializing graphdriver: devmapper: Unable to take ownership of thin-pool (docker-thinpool) that already has used data blocks并拒绝启动。

我知道必须有一些文档来展示如何使直接-lvm设置对重新启动持久。在重新启动后,某些内容会自动还原设置。我找不到任何东西。

那么如何实现我的直接lvm设置的持久性呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-21 21:03:45

幸运的是,Docker社区的一些人理解这个问题,并与他们分享了他们的解决方案。解决方案是:https://github.com/projectatomic/docker-storage-setup

代码语言:javascript
复制
apt install -y thin-provisioning-tools
mkdir /usr/lib/docker-storage-setup
mkdir /etc/sysconfig
git clone https://github.com/projectatomic/docker-storage-setup.git     /opt/docker-storage-setup
cp /opt/docker-storage-setup/docker-storage-setup.sh /usr/bin/docker-storage-setup
cp /opt/docker-storage-setup/docker-storage-setup.service /lib/systemd/system/docker-storage-setup.service
cp /opt/docker-storage-setup/libdss.sh /usr/lib/docker-storage-setup
VG=docker DATA_SIZE=95%FREE STORAGE_DRIVER=devicemapper /opt/docker-storage-setup/docker-storage-setup.sh

systemctl enable docker-storage-setup
lvrename docker/thinpool docker/docker-pool

并且/lib/ systemd /system/docker.service中的systemd服务文件中的相关部分需要更新为--storage-opt=dm.thinpooldev=/dev/mapper/docker-docker--pool

票数 4
EN

Stack Overflow用户

发布于 2016-12-08 22:04:04

错误报告中,埃里克·帕里斯说:

如果您使用的是设备映射器(而不是回送) /var/lib/docker包含元数据,通知停靠器设备映射器存储区域的内容。如果删除/var/lib/docker,则元数据将丢失。Docker随后能够检测到瘦池中有数据,但是docker无法使用该信息。唯一的解决方案是删除瘦池并重新创建它,这样/var/lib/docker中的瘦池和元数据都将为空。

由于你提到的文档的措辞,我遇到了同样的问题。有一个步骤rm -rf /var/lib/docker.bk,直到那时我才删除了原始文件,导致了失败。

使用pvremove -ff /dev/sda2 (我的lvm驱动器)和重新创建、删除lvm分区中的签名,它对我起了作用。

我认为用你的设置,它应该是持久的。

对于我来说,另一个错误发生了,在重新启动lsblk没有显示我的lvm卷之后,也没有显示ls /dev/mapper。我正在使用Ubuntu,提交消息说它的默认设置没有(完全?)支持瘦配置。在sudo apt-get install thin-provisioning-tools之后,命令sudo vgchange -ay docker以及重新启动都为我工作。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40162022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档