打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CentOS 7配置Docker Storage

背景

CentOS 7已经集成了Docker Engine, 并且提供了docker-storage-setup服务来帮助配置docker服务的devicemapper存储驱动,如果该驱动自动配置失败,则docker服务的存储驱动会降级为lvm-loop驱动。由于loop设备的缓存问题,lvm-loop模式不适合生产环境。

CentOS 7的安装程序默认使用lvm模式管理磁盘,如果仅有一块磁盘,安装程序会在该物理卷(pv)上创建centos卷组(vg), 并同时使用所有空间创建home和root逻辑卷(lv)。

服务docker-storage-setup默认会尝试使用root文件系统所属的vg, 即centos vg,但是由于该vg上已经没有剩余空间,从而导致devicemapper驱动配置失败。

减小home lvm的大小创建docker lvm

CentOS 7默认安装程序创建的home lv空间一般比较大,先减小其大小:

lvresize -L -50G /dev/centos/home 

重新创建并挂载home文件系统

umount /homemkfs.xfs /dev/centos/homemount /home 

使用docker-storage-setup配置devicemapper驱动, 执行:

servicedockerstoprm -rf /var/lib/dockerservicedockerstart 

添加新的存储设备创建docker lvm

停止docker服务,并清除已有的docker storage:

servicedockerstoprm -rf /var/lib/docker 

编辑/etc/sysconfig/docker-storage-setup:

DEVS=/dev/sdbVG=docker 

配置devicemapper驱动:

[root@localhost ~]# docker-storage-setupINFO: Volumegroupbackingrootfilesystemcouldnot bedeterminedINFO: Device /dev/sdbis alreadypartitionedand is partofvolumegroupdocker  Roundingupsizeto fullphysicalextent 12.00 MiB  Logicalvolume "docker-poolmeta" created.  Logicalvolume "docker-pool" created.  WARNING: Convertinglogicalvolumedocker/docker-pooland docker/docker-poolmetato pool's dataand metadatavolumes.  THIS WILLDESTROYCONTENTOFLOGICALVOLUME (filesystemetc.)  Converteddocker/docker-poolto thinpool.  Logicalvolume "docker-pool" changed. 

重启docker服务:

servicedockerstart 

确认配置生效: a) vg信息:

[root@localhost ~]# vgdisplay  --- Volumegroup ---  VGName              docker  SystemID  Format                lvm2  MetadataAreas        1  MetadataSequenceNo  6  VGAccess            read/write  VGStatus            resizable  MAXLV                0  CurLV                1  OpenLV              0  MaxPV                0  CurPV                1  ActPV                1  VGSize              10.00 GiB  PESize              4.00 MiB  TotalPE              2559  AllocPE / Size      1028 / 4.02 GiB  Free  PE / Size      1531 / 5.98 GiB  VGUUID              v1eiA1-P7CS-pUx9-D0uS-eVwZ-41pA-SKdlef 

b) docker info:

[root@localhost ~]# docker infoContainers: 0 Running: 0 Paused: 0 Stopped: 0Images: 0ServerVersion: 1.10.3StorageDriver: devicemapper PoolName: docker-docker--pool PoolBlocksize: 524.3 kB BaseDeviceSize: 10.74 GB BackingFilesystem: xfs Datafile: Metadatafile: DataSpaceUsed: 20.45 MB DataSpaceTotal: 4.287 GB DataSpaceAvailable: 4.266 GB MetadataSpaceUsed: 40.96 kB MetadataSpaceTotal: 12.58 MB MetadataSpaceAvailable: 12.54 MB UdevSyncSupported: true DeferredRemovalEnabled: true DeferredDeletionEnabled: true DeferredDeletedDeviceCount: 0 LibraryVersion: 1.02.107-RHEL7 (2016-06-09)ExecutionDriver: native-0.2LoggingDriver: json-filePlugins: Volume: local Network: bridgenull hostKernelVersion: 3.10.0-327.22.2.el7.x86_64OperatingSystem: CentOSLinux 7 (Core)OSType: linuxArchitecture: x86_64NumberofDockerHooks: 2CPUs: 2TotalMemory: 1.782 GiBName: localhost.localdomainID: AY7O:H2RJ:33J5:62FY:GHZE:AGFH:F42E:AH3J:WY7N:JXQK:LHBS:BDKYWARNING: bridge-nf-call-iptablesis disabledWARNING: bridge-nf-call-ip6tablesis disabledRegistries: docker.io (secure) 

3) Docker Storage配置选项,查看/etc/sysconfig/docker-storage:

DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper --storage-opt dm.fs=xfs --storage-opt dm.thinpooldev=/dev/mapper/centos-docker--pool --storage-opt dm.use_deferred_removal=true --storage-opt dm.use_deferred_deletion=true "http://www.tuicool.com/articles/UFJFRzN 

参考

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Linux分区命令与格式化实战案例
在QingCloud上部署弹性扩容的OwnCloud
linux系统下创建lvm挂载到指定目录
CentOS系统中动态调整LVM分区大小
LVM的创建与管理
Linux 磁盘管理,挂载分区管理,磁盘分区扩容缩容管理,详细教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服