巴蜀网

 找回密码
 免费注册

QQ登录

只需一步,快速开始

开启左侧
查看: 108|回复: 0
 鳄蜥 发表于: 2021-5-19 01:53:53|显示全部楼层|阅读模式

[2021年] 云计算核心技术Docker教程:Docker使用device mapper存储驱动程序

 [复制链接]
源自:TechWeb
原文标题:云计算核心技术Docker教程:Docker使用device mapper存储驱动程序

  Device Mapper是基于内核的框架,是Linux上许多高级卷管理技术的基础。Docker的devicemapper存储驱动程序利用此框架的精简配置和快照功能进行图像和容器管理。本文将Device Mapper存储驱动程序称为devicemapper,将内核框架称为Device Mapper。
  对于受devicemapper支持的系统,Linux内核中包含支持。但是,需要特定的配置才能将其与Docker一起使用。
  该devicemapper驱动程序使用专用于Docker的块设备,并在块级别而非文件级别运行。可以通过向Docker主机添加物理存储来扩展这些设备,并且它们的性能要好于在操作系统(OS)级别上使用文件系统。
  前提条件
  devicemapper 在Docker Engine上受支持-在CentOS,Fedora,Ubuntu或Debian上运行的社区。
  devicemapper需要安装lvm2和device-mapper-persistent-data软件包。
  更改存储驱动程序将使您已经创建的所有容器在本地系统上均不可访问。使用docker save保存的容器,并推动现有图像docker集线器或私人仓库,这样你就不会需要稍后重新创建。
  配置泊坞窗与devicemapper存储驱动程序
  在执行这些步骤之前,您必须首先满足所有 先决条件。
  配置loop-lvm测试模式
  此配置仅适用于测试。该loop-lvm模式利用一种“回送”机制,该机制可以读取和写入本地磁盘上的文件,就像它们是实际的物理磁盘或块设备一样。但是,添加回送机制以及与OS文件系统层的交互意味着IO操作可能很慢且占用大量资源。使用环回设备也会引入竞争条件。但是,设置loop-lvm模式可以帮助您在尝试启用direct-lvm模式所需的更复杂的设置之前,先找出一些基本问题(例如缺少用户空间软件包,内核驱动程序等)。loop-lvm因此,模式仅应在配置之前用于执行基本测试 direct-lvm。
  对于生产系统,请参阅为生产 配置直接lvm模式。
  1.停止Docker。
  $ sudo systemctl stop docker
  2.编辑/etc/docker/daemon.json。如果尚不存在,请创建它。假设文件为空,请添加以下内容。
  {
  storage-driver:devicemapper
  }
  在守护程序参考文档中查看每个存储驱动程序的所有存储选项
  如果daemon.json文件包含格式错误的JSON,则Docker无法启动。
  3.启动Docker。
  $ sudo systemctl start docker
  4.验证守护程序正在使用devicemapper存储驱动程序。使用 docker info命令并查找Storage Driver。
  $ docker info
  Containers:0
  Running:0
  Paused:0
  Stopped:0
  Images:0
  Server Version:17.03.1-ce
  Storage Driver:devicemapper
  Pool Name:docker-202:1-8413957-pool
  Pool Blocksize:65.54 kB
  Base Device Size:10.74 GB
  Backing Filesystem:xfs
  Data file:dev/loop0
  Metadata file:dev/loop1
  Data Space Used:11.8 MB
  Data Space Total:107.4 GB
  Data Space Available:7.44 GB
  Metadata Space Used:581.6 KB
  Metadata Space Total:2.147 GB
  Metadata Space Available:2.147 GB
  Thin Pool Minimum Free Space:10.74 GB
  Udev Sync Supported:true
  Deferred Removal Enabled:false
  Deferred Deletion Enabled:false
  Deferred Deleted Device Count:0
  Data loop file:var/lib/docker/devicemapper/data
  Metadata loop file:var/lib/docker/devicemapper/metadata
  Library Version:1.02.135-RHEL7(2016-11-16)
  <……
  该主机以loop-lvm模式运行,生产系统不支持该模式。这可以通过以下事实来表明:Data loop file 和Metadata loop file均位于下方的文件中/var/lib/docker/devicemapper。这些是环回安装的稀疏文件。对于生产系统,请参阅为生产 配置直接lvm模式。
『 巴蜀网 』提醒,在使用本论坛之前您必须仔细阅读并同意下列条款:
  1. 遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规,并遵守您在会员注册时已同意的《『 巴蜀网 』管理办法》;
  2. 严禁发表危害国家安全、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容;
  3. 本帖子由 鳄蜥 发表,享有版权和著作权(转帖除外),如需转载或引用本帖子中的图片和文字等内容时,必须事前征得 鳄蜥 的书面同意;
  4. 本帖子由 鳄蜥 发表,仅代表用户本人所为和观点,与『 巴蜀网 』的立场无关,鳄蜥 承担一切因您的行为而直接或间接导致的民事或刑事法律责任。
  5. 本帖子由 鳄蜥 发表,帖子内容(可能)转载自其它媒体,但并不代表『 巴蜀网 』赞同其观点和对其真实性负责。
  6. 本帖子由 鳄蜥 发表,如违规、或侵犯到任何版权问题,请立即举报,本论坛将及时删除并致歉。
  7. 『 巴蜀网 』管理员和版主有权不事先通知发帖者而删除其所发的帖子。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

© 2002-2024, 蜀ICP备12031014号, Powered by 5Panda
GMT+8, 2024-4-16 17:36, Processed in 0.171600 second(s), 9 queries, Gzip On, MemCache On
快速回复 返回顶部 返回列表