centos – 如何告诉Docker将dm / LVM后端用于卷而不是vfs

前端之家收集整理的这篇文章主要介绍了centos – 如何告诉Docker将dm / LVM后端用于卷而不是vfs前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近听到(来自RedHat的人),“direct-LVM”(devicemapper)是生产设置的推荐存储后端,所以我想在CentOS 7 VM上尝试一下. (其中loopback-LVM似乎是默认值).

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

  1. # ps auxwf
  2. ...
  3. /usr/bin/docker -d --selinux-enabled -H unix://var/run/docker.sock \
  4. --log-level=warn --storage-opt dm.fs=xfs \
  5. --storage-opt dm.datadev=/dev/vg_data/docker-data \
  6. --storage-opt dm.Metadatadev=/dev/vg_data/docker-Meta \
  7. --storage-opt dm.basesize=30G --bip=172.17.42.1/24 \
  8.  
  9. # docker info
  10. Containers: 8
  11. Images: 145
  12. Storage Driver: devicemapper
  13. Pool Name: docker-253:0-34485692-pool
  14. Pool Blocksize: 65.54 kB
  15. Backing Filesystem: xfs
  16. Data file: /dev/vg_data/docker-data
  17. Metadata file: /dev/vg_data/docker-Meta
  18. Data Space Used: 4.498 GB
  19. Data Space Total: 34.36 GB
  20. Data Space Available: 29.86 GB
  21. Metadata Space Used: 6.402 MB
  22. Metadata Space Total: 104.9 MB
  23. Metadata Space Available: 98.46 MB
  24. ...
  25. ...

但今天当我启动一个生成大量本地数据的容器时(因为我不需要坚持进行测试,我没有在启动时将其映射到任何地方),我注意到,Volume-Data全部被放入/ var / lib / docker / vfs目录而不是我期望的LVM精简池.

事实上,这填补了我根本意图保持小的根源.

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

  1. # lsblk
  2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  3. sda 8:0 0 10G 0 disk
  4. +-sda1 8:1 0 500M 0 part /boot
  5. +-sda2 8:2 0 9.5G 0 part
  6. +-centos_system-root 253:0 0 8.5G 0 lvm /
  7. +-centos_system-swap 253:1 0 1G 0 lvm [SWAP]
  8. sdb 8:16 0 50G 0 disk
  9. +-vg_data-docker--data 253:2 0 32G 0 lvm
  10. | +-docker-253:0-34485692-pool 253:4 0 32G 0 dm
  11. | +-docker-253:0-34485692-... 253:5 0 30G 0 dm
  12. | +-docker-253:0-34485692-... 253:6 0 30G 0 dm
  13. +-vg_data-docker--Meta 253:3 0 100M 0 lvm
  14. +-docker-253:0-34485692-pool 253:4 0 32G 0 dm
  15. +-docker-253:0-34485692-... 253:5 0 30G 0 dm
  16. +-docker-253:0-34485692-... 253:6 0 30G 0 dm

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

或者这真的只会用于(基础)图像,我的期望是完全错误的吗?

您需要指定一个像“-g / docker”这样的挂载点.

猜你在找的CentOS相关文章