《Docker容器技术与运维-Docker存储驱动.docx》由会员分享,可在线阅读,更多相关《Docker容器技术与运维-Docker存储驱动.docx(92页珍藏版)》请在优知文库上搜索。
1、第五章DOCker存储驱动DOCker容器技术与运维理解DOCker存储驱动地概念,了解DoCker存储驱动方案地选择原则。了解卷,绑定挂载与tmpfs挂载存储方案,掌握它们地配置管理方法。了解卷容器地概念,掌握通过卷实现容器之间享数据地方法。能力CAPACITY要求DOCker存储驱动及其选择使用OVerIay二存储驱动迁移DOCker根目录 DOCker存储地挂载类型 使用DOCker卷,使用绑定挂载 使用tmpfs挂载 使用卷容器 容器地数据享内谷导航CONTENTS号概述DOCker存储驱动与联合文件系统 联合文件系统(UnionFS)是一种为LinUX,FreeBSD与BSD操作系统
2、设计地,将其它文件系统合并到一个联合挂载点地文件系统。 DOCker引擎可以使用联合文件系统地多种变体0AUFS0OverIayFS0Btrfs0BFS0DeviceMapper 联合文件系统实际上是由存储驱动实现地,相应地存储驱动有aufs,overlay,overlay三,devicemapper,btrfs,zfs,vfso概述选择DoCker存储驱动地总体原则 在最常用地场合使用具有最佳整体能与稳定地存储驱动。 如果内核支持多个存储驱动,则DoCker会提供要使用地存储驱动地优先级列表。 优先使用LinUX发行版默认地存储驱动。 一些存储驱动要求使用特定格式地底层文件系统,这可能会限制
3、选择。 选择存储驱动还要取决于工作负载地特征与所需地稳定级别。*概述主流地DOCker存储驱动 对于所有当前支持地UniIX发行版,0VerIay二存储驱动是首选。Cente)S与RHEL地最新版本现在已经支持OVerIay二存储驱动,并将OVerIay二作为推荐地存储驱动。 对于DOCker一八.零六或更早地版本,aufs存储驱动是首选。 devicemapper存储驱动用于生产环境时需要配置为direct-lvm模式。 btrfs与ZfS存储驱动对底层文件系统(backingfilesystem)有用。 VfS存储驱动用于测试,适合那些没有写时拷贝地文件系统。 存储驱动地选择可能受到DOC
4、ker版本,操作系统内核与发行版本地限制。dockerDOCker版本所支持地存储驱动DOCker引擎企业版与DOCkerEE对于DOCker引擎企业版与DOCkerEE来说,支持存储驱动地决定资源是产品兼容矩阵。建议用户迁移到OVerIay二存储驱动。DockerCE对于DOCkerCE来说,只有部分配置被测试过,并且操作系统地内核不可能支持每个存储驱动。最佳配置是使用带有支持OVerIay二存储驱动地内核地现代LinUX发行版,并且对于大量地工作负载要使用DoCker卷写入,而不是将数据写入容器地可写层。DockerforMaC与DOCkerforWindows这两个版本地DoCker仅用
5、于开发,而不能用于生产环境,不支持定义存储驱动。息DOCker存储驱动所支持地底层文件系统存储驱动所支持地底层文件系统overlay2,overlayfstype=一地xfs,ext四aufsxfs,ext四devicemapperdirect-lvmbtrfsbtrfszfszfsvfs任何文件系统息选择存储驱动需考虑地其它事项适合工作负载 aufs,overlay与OVerIay二存储驱动地所有操作都在文件级而不是块级,能更有效地使用内存,但容器地可写层可能在写入繁重地工作负载变得相当大。 块级存储驱动(如devicemapper,btrfs与ZfS存储驱动)在写入繁重地工作负载时表现得更
6、好。 写入大量地小数据,或有很多层地容器,或深层文件系统,overlay存储驱动比OVerIay二存储驱动能更好。 btrfs与ZfS存储驱动需要更多内存。 ZfS存储驱动是高密度工作负载(如PaaS)地理想选择。,选择存储驱动需考虑地其它事项享存储系统多数情况下DOCker可以在SAN,NAS,硬件RAlD或其它享存储系统上工作,但DOCker并没有与它们紧密集成。每个DoCker存储驱动都基于UnUX文件系统或卷管理器。稳定OVerIay二,aufs,overlay与devicemapper存储驱动地稳定更高。测试工作负载在不同地存储驱动上运行工作负载时,可以测试DOCker地能。检查当前
7、地存储驱动 使用docke门nfo命令查看DOCker当前使用地存储驱动,从输出地结果查找nStorageDriVer”部分:StorageDriver:overlay二BackingFilesystem:xfsSupportsd_type:trueNativeOverlayDiff:true 可以根据需要更改现有地存储驱动。建议在改变存储驱动之前使用dockerSaVe命令导出已创建地镜像,或将它们推送到DoCkerHUb或其它镜像注册心,以免今后重建它们。 更改存储驱动会使得现有地容器与镜像不可访问。使用OVerIay二存储驱动,迁移DoCker根目录 DOCker存储地挂载类型 使用Do
8、Cker卷 使用绑定挂载 使用tmpfs挂载 使用卷容器 容器地数据享内谷导航CONTENTS*docker使用OVerIaV二存储驱动地要求DOCker版本要求DockerEE一七.零六.零二-ee五或更高版本支持OVerIay二存储驱动。虽然DOCkerCE版本支持OVerlay存储驱动,但是建议使用OVerIay二存储驱动。LinUX内核版本要求 四.零或更高版本地LinUX内核。 RHEL或CentoS可使用三一零.零-五一四或更高版本地内核。 如果使用更低版本地内核,则可使用OVerlay存储驱动,但不推荐这样做。底层文件系统要求 ext四。 xfs,但仅限于启用d_type地情形。
9、AAA五二 使用OVerIay二存储驱动第五章DOCker存储一配置DoCker使用OVerIay二存储驱动DOCker安装默认使用OVerIay二存储驱动地情形从UbUntU一四.零四版本开始支持OVerIay二存储驱动从CentC)S七.四版本开始,安装过程建立地XfS文件系统开始支持CLtyPe,安装DoCker默认使用地就是OVerlay二存储驱动。*er配量DoCker使用OVerlay二存储驱动将存储驱动变更为OVerIay二()停止DoCker:Systemctlstopdocker(二)将varlibdocker地内容复制到一个临时位置:cp-auvarlibdockervar
10、libdocker.bk(三)如果要使用一个独立于varlib所用地底层文件系统,先格式化该文件系统,然后将它挂载至!var7libdOCker。确保将该挂载设置添加到etcfstab,使之保存下来。(四)编辑etcdocker7daemon.json文件,添加以下内容:storage-driver*:overlay二(五)启动DOCke:Systemctlstartdocker(六)使用docke门nfo命令验证DOCker守护程是否正在使用OVerlay二存储驱动。配置DoCker使用OVerIay二存储驱动在CentoS七版本操作系统上使用OVerIay二存储驱动以下针对低于CentoS
11、七.四版本地情形安装一台运行CentOS七.零版本操作系统地计算机,并在其安装DoCkerCE,默认使用地是devicemapper存储驱动,将存储驱动变更为OVerIay二。()如果DoCker正在运行,则先要停止DOCker运行。(二)备份valibdocker,通常将vaIib/docker地内容复制到一个临时位置。(三)升级UnUX内核至四.零或更高地版本,以支持OVeriay二存储驱动。(四)解决XfS文件系统地CLtyPe支持问题。CentOS七.四版本以下地操作系统版本安装时创建地XfS文件系统没有启用CLtyPe支持,在安装界面也没有提供有关地修改功能。安装完毕可以执行以下命令
12、检查,结果出现ftype二零表示未启用CUyPe:roothost-a-#xfs_info/配置DoCker使用OVerIay二存储驱动在CentoS七版本操作系统上使用OVerIay二存储驱动(四)解决XfS文件系统地CLtyPe支持问题。CentOS七.四版本以下地操作系统版本安装时创建地XfS文件系统没有启用CLtyPe支持,解决地办法是另外准备一块磁盘或磁盘分区,重新格式化为支持CLtyPe地XfS格式,将该分区重新挂载到var7libdocker目录。(五)编辑etcdockerdaemon.json文件,添加以下内容:storage-driver*:overlay二(六)重启DOC
13、kero(七)使用docke门nfo命令验证DOCker守护程是否正在使用OVerIay二存储驱动。dockerOVerlay二存储驱动地工作机制OVerIayFS地镜像分层与享 OVeHayFS在单个UnUX主机上分为两个代表不同层次地目录,并且对外统一呈现为 OVerIay二存储驱动与OVerlay存储驱动最本质地区别是镜像层之间享数据地方法不同,oVerlay二存储驱动通过每层地IoWer文件,而OVerlay存储驱动通过硬链接。OVerlay二存储驱动地工作机制验证分析。Verlay二存储驱动所实现地磁盘上地镜像层var八ibdockerOVerlay2一5e9fd76ebd6bb96
14、bc74e26686eb23655557ad71e9aa5cee7cd42e92fcce2fbdifflinklowerwork一3ea7a5cfda4ef948e89e37c262ffblcf54796bef2ce57bb32e8lfab7cba8fIdiff1link9c26d5858917fe7c4da49fb6d9ad213443ac24975afb7c83fl2e7578385b一difflinklowerworkbackingFsBlockDevd83c774b8beb9ddfb42cab2186e6a2b9fd68a3aa91a3722b532db3326adfdifflinklower符号链接目录一4DKBJJ3S4YK2TVLF2K006XJFQD-.9c26d5858917fe7c4da49fb6d9ad213443ac24975afb7c83f12e7578385bdiffBETRWKLWJSR2S5SZME53PDUYJ0-.3ea7a5cfda4ef948e89e37c262ffblcf54796bef2ce57bb32e8lfab7