挂载 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 infodocker system df 显示使用的空间不同。已经问了几个问题,但到目前为止还没有答案。 forums.docker.com/t/…forums.docker.com/t/questions-about-the-docker-storage-usage/… 您是否尝试将其挂载到另一个目录?输出表明/mnt/test 可能正忙。 【参考方案1】:

卸载 docker 并没有真正的帮助,因为 purgeautoremove 只会删除已安装的包,而不是镜像、容器、卷和配置文件。

要删除那些你必须删除包含在etcvar/libbinvar/run中的一堆目录

    清理环境

尝试运行docker system prune -a 以删除未使用的容器、图像等 使用docker volume rm volumeID 删除卷 再次创建卷docker volume create docker-docker--pool_tdata

    杀死进程

运行 lsof +D /mnt/testcat ../docker/../tasks 这应该会显示活动任务的 PID。

使用kill -9 PID 终止任务

【讨论】:

以上是关于挂载 docker 逻辑卷的主要内容,如果未能解决你的问题,请参考以下文章

linux——扩展逻辑卷和缩小逻辑卷

centos7创建并挂载逻辑卷

proxmox 使用

Linux系统的逻辑卷管理

Docker扩展.md

阿里云 ECS 逻辑卷挂载数据盘