2023学年完整公开课版1dockerdevicemapper存储_第1页
2023学年完整公开课版1dockerdevicemapper存储_第2页
2023学年完整公开课版1dockerdevicemapper存储_第3页
2023学年完整公开课版1dockerdevicemapper存储_第4页
2023学年完整公开课版1dockerdevicemapper存储_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

11.dockerdevicemapper存储2知识目标了解devicemapper的两种模式01学习目标目录01devicemapper介绍02devicemapper的模式03部署过程4devicemapper介绍早期的Docker运行在Ubuntu和DebianLinux上并使用AUFS作为后端存储。Docker流行之后,越来越多的的公司希望在RedHatEnterpriseLinux这类企业级的操作系统上面运行Docker,但可惜的是RHEL的内核并不支持AUFS。这个时候红帽公司出手了,决定和Docker公司合作去开发一种基于DeviceMapper技术的后端存储,也就是现在的devicemapper。devicemapper驱动将每一个Docker镜像和容器存储在它自身的具有精简置备(thin-provisioned)、写时拷贝(copy-on-write)和快照功能(snapshotting)的虚拟设备上。由于DeviceMapper技术是在块(block)层面而非文件层面,所以DockerEngine的devicemapper存储驱动使用的是块设备来存储数据而非文件系统。5devicemapper的模式devicemapper是RHEL下DockerEngine的默认存储驱动,它有两种配置模式:loop-lvm和direct-lvm。loop-lvm是默认的模式,它使用OS层面离散的文件来构建精简池(thinpool)。该模式主要是设计出来让Docker能够简单的被”开箱即用(out-of-the-box)”而无需额外的配置。但如果是在生产环境的部署Docker,官方明文不推荐使用该模式。我们使用dockerinfo命令可以看到以下警告:WARNING:Usageofloopbackdevicesisstronglydiscouragedforproductionuse.Eitheruse`–storage-optdm.thinpooldev`oruse`–storage-optdm.no_warn_on_loop_devices=true`tosuppressthiswarning.6devicemapper的模式direct-lvm是Docker推荐的生产环境的推荐模式,他使用块设备来构建精简池来存放镜像和容器的数据。注:Linux内核在3.18以上才能支持overlayfs,但RHEL7.2的内核版本为3.10,所以原生并不支持。但是的确有人在RHEL7.2上成功应用了overlayfs驱动,个人猜测可能是手动在内核里面加载了overlay的模块。7部署过程Animbus6默认使用devicemapper作为docker的存储驱动,配置/etc/docker/daemon.json如下:#cat/etc/docker/daemon.json{"storage-driver":"devicemapper","storage-opts":["dm.thinpooldev=/dev/mapper/centos-docker"]}8部署过程其中,centos-docker表示centosvg中一个名为docker的thinpool类型的logicvolume。使用docker时,镜像和容器数据均存放在dockerthinpool中,被挂载到容器中的宿主机目录或者dockervolume的数据除外。在部署过程中,使用ansiblerole(/opt/animbus-deploy/playbooks/animbus/roles/docker)完成创建thinpoollv和安装docker的任务:#ansible-playbook-iinventory-e@globals.ymlbootstrap.yml9部署过程globals.yml文件中,以下配置和thinpoollv的创建相关:#catglobals.yml#########docker#########docker_storage_driver:"devicemapper"#lvg_name:"centos"#lv_name:"docker"#lv_size:"90g"10部署过程执行dockeransiblerole时,会从<lvg_name>中创建一个<lv_size>大小的thinpool类型的lv,lv命名为<lv_name>。lvg_name、lv_name和lv_size均可以配置,lv_size要求不小于50G。如果操作系统中vg的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论