`
m635674608
  • 浏览: 5042300 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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 /home
mkfs.xfs /dev/centos/home
mount /home
 

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

servicedockerstop
rm -rf /var/lib/docker
servicedockerstart
 

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

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

servicedockerstop
rm -rf /var/lib/docker
 

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

DEVS=/dev/sdb
VG=docker
 

配置devicemapper驱动:

[root@localhost ~]# docker-storage-setup
INFO: Volumegroupbackingrootfilesystemcouldnot bedetermined
INFO: 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 info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
ServerVersion: 1.10.3
StorageDriver: 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.2
LoggingDriver: json-file
Plugins:
 Volume: local
 Network: bridgenull host
KernelVersion: 3.10.0-327.22.2.el7.x86_64
OperatingSystem: CentOSLinux 7 (Core)
OSType: linux
Architecture: x86_64
NumberofDockerHooks: 2
CPUs: 2
TotalMemory: 1.782 GiB
Name: localhost.localdomain
ID: AY7O:H2RJ:33J5:62FY:GHZE:AGFH:F42E:AH3J:WY7N:JXQK:LHBS:BDKY
WARNING: bridge-nf-call-iptablesis disabled
WARNING: bridge-nf-call-ip6tablesis disabled
Registries: 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

 

参考

分享到:
评论

相关推荐

    centos修改docker网络配置方法分享

    在使用CentOS操作系统部署和管理Docker容器时,合理配置网络是确保容器能够正常通信和访问的关键步骤。本文将详细说明如何在CentOS系统中修改Docker的网络配置,解决网络冲突的问题,并介绍相关的知识点。 首先,在...

    CentOS7.6-Offline-nvidia-docker2.tgz

    3. 更新Docker配置:在`/etc/docker/daemon.json`中添加以下配置: ```json { "registry-mirrors": [], "insecure-registries": [], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file...

    CentOS 7.x docker使用overlay2存储方式

    编辑/etc/docker/daemon.json添加以下内容: { storage-driver: overlay2, storage-opts: [ overlay2.override_kernel_check=true ] } 安装依赖: yum install yum-plugin-ovl -y 否则会报以下错误: May 05...

    centos7中kubeadm方式搭建k8s集群(crio+calico)(k8s v1.21.0)所需文件.zip

    在本教程中,我们将深入探讨如何使用`kubeadm`在CentOS 7上构建一个基于Kubernetes(k8s)v1.21.0的集群,并结合cri-o容器运行时和Calico网络策略。`kubeadm`是官方推荐的Kubernetes集群初始化工具,它简化了集群的...

    docker使用手册

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ``` **1.4 创建缓存** 为提高下载速度,可创建一个缓存: ```bash sudo yum makecache fast ``` **1.5 安装...

    k8s学习(三)虚拟机centos7 docker 仓库harbor 1.8.2 http 部署

    1、安装docker-compose curl -L ...2、 Harbor安装与配置 1.部署 wget https://storage.googleapis.com/harbor-releases/rel

    实现跨宿主机多docker容器间数据共享

    为了搭建GlusterFS集群,首先需要在三台CentOS 7的机器上完成以下步骤: 1. **配置主机名解析**: - 在每台机器上的`/etc/hosts`文件中添加其他两台机器的IP地址和别名,例如: ```bash 10.110.13.32 swarm-...

    Docker搭建大数据平台CDH

    本文档将指导您使用 Docker 搭建大数据平台 CDH,包括安装 Docker、导入镜像、启动容器、配置 HDFS 节点等步骤。 安装 Docker 在开始之前,需要先安装 Docker。在 CentOS 系统中,可以使用以下命令来安装 Docker:...

    在CentOS上安装kubernetes详细指南

    baseurl=http://cbs.centos.org/repos/virt7-docker-common-release/x86_64/os/ gpgcheck=0 ``` 2. **安装所需软件**: ```bash yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd ...

    CentOS7.4安装部署DCOS集群

    ##### 7、配置 Docker 启动方式 配置 Docker 使用 overlayFS 存储驱动: ```bash mkdir -p /etc/systemd/system/docker.service.d tee /etc/systemd/system/docker.service.d/override.conf [Service] ExecStart= ...

    Docker容器管理工具Flocker.zip

    CentOS 7Ubuntu 14.04Ubuntu 15.04 (Command Line only)OS X (Command Line only)支持的云平台:AWSRackspace支持的存储后端:AWS EBSRackspace Cloud Block StorageAnything that supports the OpenStack Cinder ...

    Kubernetes Management Design Patterns: With Docker, CoreOS Linux, and Other

    CoreOS Linux is used in the majority of the chapters and other platforms discussed are CentOS with OpenShift, Debian 8 (jessie) on AWS, and Debian 7 for Google Container Engine. CoreOS is the main ...

    群晖中docker开启ssh (2).pdf

    群晖NAS(Network Attached Storage)系统支持Docker,使得用户可以在其上部署各种基于Docker的应用,包括Linux服务器环境。本文将详细讨论如何在群晖的Docker容器中开启SSH服务。 首先,群晖用户已经知道如何安装...

    CentOS7安装harbor

    # wget --continue https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-online-installer-v1.8.1.tgz 下载下来之后解压缩,目录下会有harbor.conf,就是Harbor的配置文件了 二、配置Harbor ...

    k8s集群部署文档说明

    在开始k8s集群部署之前,需要首先搭建环境,包括安装Centos7虚拟机、配置yum源等步骤。用户可以从 Centos 官方网站(centos.org/download/)下载 Centos7 虚拟机镜像,并按照指导安装虚拟机。 2. 安装 Docker ...

    fastdfs-docker:fastdfs nginx docker高山中心

    FastDFS码头工人 用法: docker build -t quentinyy/fastdfs-... docker run -dti --network=host --name storage0 -e TRACKER_SERVER=192.168.1.127:22122 -e PORT=23000 -e NGINX_PORT=8080 -v /var/fdfs/storag

Global site tag (gtag.js) - Google Analytics