挂载 docker 逻辑卷
Posted
技术标签:
【中文标题】挂载 docker 逻辑卷【英文标题】:Mount docker logical volume 【发布时间】:2020-06-05 23:00:00 【问题描述】:我正在尝试访问 docker 以前使用的逻辑卷。这是各种命令的结果:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:2 0 80G 0 disk
├─nvme0n1p1 259:3 0 80G 0 part /
└─nvme0n1p128 259:4 0 1M 0 part
nvme1n1 259:0 0 80G 0 disk
└─nvme1n1p1 259:1 0 80G 0 part
├─docker-docker--pool_tdata 253:1 0 79G 0 lvm
│ └─docker-docker--pool 253:2 0 79G 0 lvm
└─docker-docker--pool_tmeta 253:0 0 84M 0 lvm
└─docker-docker--pool 253:2 0 79G 0 lvm
fdisk
Disk /dev/nvme1n1: 85.9 GB, 85899345920 bytes, 167772160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00029c01
Device Boot Start End Blocks Id System
/dev/nvme1n1p1 2048 167772159 83885056 8e Linux LVM
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Disk /dev/nvme0n1: 85.9 GB, 85899345920 bytes, 167772160 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 358A5F86-3BCA-4FB2-8C00-722B915A71AB
# Start End Size Type Name
1 4096 167772126 80G Linux filesyste Linux
128 2048 4095 1M Bios boot BIOS Boot Partition
左显示
--- Logical volume ---
LV Name docker-pool
VG Name docker
LV UUID piD2Wx-aDjf-CkpN-b4s4-YXWE-6ERm-GWTcOz
LV Write Access read/write
LV Creation host, time ip-172-31-39-159, 2020-02-16 09:18:57 +0000
LV Pool metadata docker-pool_tmeta
LV Pool data docker-pool_tdata
LV Status available
# open 0
LV Size 79.03 GiB
Allocated pool data 80.07%
Allocated metadata 31.58%
Current LE 20232
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2
但是当我尝试挂载卷 docker-docker--pool_tdata
时,我收到以下错误:
mount /dev/mapper/docker-docker--pool_tdata /mnt/test
mount: /dev/mapper/docker-docker--pool_tdata is already mounted or /mnt/test busy
我也尝试过重启机器,卸载 docker 并使用lsof
查看该卷上是否打开了文件
您知道如何安装该卷吗? 谢谢
【问题讨论】:
这看起来像是来自旧版本 Docker 的 LVM 设备映射器树。即使您可以挂载该卷,那里的图像和容器内容也不会以易于提取的方式存储。 这样做的目的只是试图了解为什么docker info
和docker system df
显示使用的空间不同。已经问了几个问题,但到目前为止还没有答案。 forums.docker.com/t/…forums.docker.com/t/questions-about-the-docker-storage-usage/…
您是否尝试将其挂载到另一个目录?输出表明/mnt/test
可能正忙。
【参考方案1】:
卸载 docker 并没有真正的帮助,因为 purge
和 autoremove
只会删除已安装的包,而不是镜像、容器、卷和配置文件。
要删除那些你必须删除包含在etc
、var/lib
、bin
和var/run
中的一堆目录
-
清理环境
尝试运行docker system prune -a
以删除未使用的容器、图像等
使用docker volume rm volumeID
删除卷
再次创建卷docker volume create docker-docker--pool_tdata
-
杀死进程
运行 lsof +D /mnt/test
或 cat ../docker/../tasks
这应该会显示活动任务的 PID。
使用kill -9 PID
终止任务
【讨论】:
以上是关于挂载 docker 逻辑卷的主要内容,如果未能解决你的问题,请参考以下文章