为什么要更改 data,metadata呢?我们运行环境中涉及大量数据操作,数据增长有时候很快,由于之前规划不足,所以磁盘很快达到瓶颈需要进行重新部署。
这就需要调整原来的一些docker配置。

操作系统环境采样

[root@fp-web-130 storage]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)
[root@fp-web-130 storage]# uname -r3.10.0-327.el7.x86_64
[root@fp-web-130 storage]# docker versionClient: Version: 18.03.0-ce API version: 1.37 Go version: go1.9.4 Git commit: 0520e24 Built: Wed Mar 21 23:09:15 2018 OS/Arch: linux/amd64 Experimental: false Orchestrator: swarm
Server: Engine: Version: 18.03.0-ce API version: 1.37 (minimum version 1.12) Go version: go1.9.4 Git commit: 0520e24 Built: Wed Mar 21 23:13:03 2018 OS/Arch: linux/amd64 Experimental: false

在更改之前,docker info 查看下,当前docker的存储情况。

此时,data的目录大小是:107G,Metadata的目录大小是:2.147G

docker info一下 修改之前

 [root@fp-web-130 storage]# docker info
Containers: 22 Running: 0 Paused: 0 Stopped: 22Images: 47Server Version: 18.03.0-ceStorage Driver: devicemapper Pool Name: docker-8:21-2457601-pool Pool Blocksize: 65.54kB Base Device Size: 10.74GB Backing Filesystem: xfs Udev Sync Supported: true Data file: /dev/loop0 Metadata file: /dev/loop1 Data loop file: /mnt/docker/storage/devicemapper/devicemapper/data Metadata loop file: /mnt/docker/storage/devicemapper/devicemapper/metadata Data Space Used: 3.333GB Data Space Total: 107.4GB //默认大小 Data Space Available: 102GB Metadata Space Used: 4.874MB Metadata Space Total: 2.147GB //默认2G Metadata Space Available: 2.143GB Thin Pool Minimum Free Space: 10.74GB Deferred Removal Enabled: true Deferred Deletion Enabled: true Deferred Deleted Device Count: 0 Library Version: 1.02.107-RHEL7 (2015-10-14)Logging Driver: json-fileCgroup Driver: cgroupfsPlugins: Volume: local Network: bridge host macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslogSwarm: inactiveRuntimes: runcDefault Runtime: runcInit Binary: docker-initcontainerd version: cfd04396dc68220d1cecbe686a6cc3aa5ce3667crunc version: 4fc53a81fb7c994640722ac585fa9ca548971871init version: 949e6faSecurity Options: seccomp Profile: defaultKernel Version: 3.10.0-327.el7.x86_64Operating System: CentOS Linux 7 (Core)OSType: linuxArchitecture: x86_64CPUs: 8Total Memory: 15.66GiBName: fp-web-130ID: ETLX:HANE:UUNX:KHX4:2ZXU:DVQN:UIOU:ZDAP:SLZG:3RYD:VPPM:O6GFDocker Root Dir: /mnt/docker/storageDebug Mode (client): falseDebug Mode (server): falseRegistry: https://index.docker.io/v1/Labels:Experimental: falseInsecure Registries: 127.0.0.0/8Live Restore Enabled: false
WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.WARNING: bridge-nf-call-iptables is disabledWARNING: bridge-nf-call-ip6tables is disabled

关键要执行的命令如下:

dd if=/dev/zero of=data bs=1G count=0 seek=500dd if=/dev/zero of=metadata bs=1G count=0 seek=10
参数说明:
If:in xxx from xxxOf:out xxxbs:block size 块大小Count:seek:创建的数量数据大小计算 data = bs * seek

这里是写的一个shell脚本

#!/bin/bash
DATA_SIZE=$1METADATA_SIZE=$2
if [ "$DATA_SIZE" = "" ]; then DATA_SIZE=1000fi
if [ "$METADATA_SIZE" = "" ]; then METADATA_SIZE=10fi
# Stop docker servicesystemctl stop docker
# Resize docker data spacedd if=/dev/zero of=/mnt/docker/storage/devicemapper/devicemapper/data bs=1G count=0 seek=$DATA_SIZE
# Resize docker metadata spacedd if=/dev/zero of=/mnt/docker/storage/devicemapper/devicemapper/metadata bs=1G count=0 seek=$METADATA_SIZE
# Start docker servicesystemctl start docker

执行命令

[root@fp-web-130 storage]# sh resize_docker.sh 1000 100+0 records in0+0 records out0 bytes (0 B) copied, 0.000127523 s, 0.0 kB/s0+0 records in0+0 records out0 bytes (0 B) copied, 0.000110421 s, 0.0 kB/s

docker info一下查看修改过之后池大小

[root@fp-web-130 storage]# docker info
Containers: 22 Running: 0 Paused: 0 Stopped: 22Images: 47Server Version: 18.03.0-ceStorage Driver: devicemapper Pool Name: docker-8:21-2457601-pool Pool Blocksize: 65.54kB Base Device Size: 10.74GB Backing Filesystem: xfs Udev Sync Supported: true Data file: /dev/loop0 Metadata file: /dev/loop1 Data loop file: /mnt/docker/storage/devicemapper/devicemapper/data Metadata loop file: /mnt/docker/storage/devicemapper/devicemapper/metadata Data Space Used: 3.333GB Data Space Total: 1.074TB //已经改变 Data Space Available: 102GB Metadata Space Used: 9.142MB Metadata Space Total: 10.74GB //已经改变大小 Metadata Space Available: 10.73GB Thin Pool Minimum Free Space: 107.4GB Deferred Removal Enabled: true Deferred Deletion Enabled: true Deferred Deleted Device Count: 0 Library Version: 1.02.107-RHEL7 (2015-10-14)Logging Driver: json-fileCgroup Driver: cgroupfsPlugins: Volume: local Network: bridge host macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslogSwarm: inactiveRuntimes: runcDefault Runtime: runcInit Binary: docker-initcontainerd version: cfd04396dc68220d1cecbe686a6cc3aa5ce3667crunc version: 4fc53a81fb7c994640722ac585fa9ca548971871init version: 949e6faSecurity Options: seccomp Profile: defaultKernel Version: 3.10.0-327.el7.x86_64Operating System: CentOS Linux 7 (Core)OSType: linuxArchitecture: x86_64CPUs: 8Total Memory: 15.66GiBName: fp-web-130ID: ETLX:HANE:UUNX:KHX4:2ZXU:DVQN:UIOU:ZDAP:SLZG:3RYD:VPPM:O6GFDocker Root Dir: /mnt/docker/storageDebug Mode (client): falseDebug Mode (server): falseRegistry: https://index.docker.io/v1/Labels:Experimental: falseInsecure Registries: 127.0.0.0/8Live Restore Enabled: false
WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.WARNING: bridge-nf-call-iptables is disabledWARNING: bridge-nf-call-ip6tables is disabled

lsblk一下


 注意: sdb磁盘我分了1个主分区 sdb1, 一个扩展分区sdb2, 在扩展分区上创建的sd5逻辑分区,由于整个磁盘是200G, 所以给sdb5 100G的空间 我们看回环设备大小目前已经变化成了docker的回环设备loop0变成了 1T空间,loop1变成了10G空间 之前我们是把docker镜像和容器存储位置从/var/lib/docker 改变到了 新加的磁盘的/mnt/docker/storage 位置上了。 虽然我们更改了配置的大小,但是需要新硬盘大小支撑,所以只要保证硬盘大小和我们设置的大小对应即可。 具体如何更改docker的镜像和容器存储位置,请看我的一篇文章 https://www.cnblogs.com/aozhejin/p/15861052.html

更改docker默认的data,metadata存储大小(实操)的更多相关文章

  1. CentOS7更改Docker默认镜像和容器存储位置

    图片出处:https://bobcares.com/wp-content/uploads/docker-change-directory.jpg 一.Why? 通常,当你开始使用docker时,我们并 ...

  2. 更改docker默认存储路径操作(centos6版本)

    一. centos6版本  service启动方式 1.更改启动文件 vim /etc/sysconfig/docker   添加更改的路径 '--graph="/data/docker&q ...

  3. 在Centos7 更改Docker默认镜像和容器的位置

    图片出处:https://bobcares.com/wp-content/uploads/docker-change-directory.jpg 一.Why? 通常,当你开始使用docker时,我们并 ...

  4. 更改docker默认网段

    #本文档旨在说明创建docker时注意的事项:我们在局域网中使用Docker,最常遇到的一个困惑,就是有时候跨网段结果出现网络不通.原因是因为Docker默认生成的网关和我们的局域网网段有时候是冲突的 ...

  5. 如何更改Docker默认的images存储位置

    Docker的镜像以及一些数据都是在/var/lib/docker目录下,它占用的是Linux的系统分区,也就是下面的/dev/vda1,当有多个镜像时,/dev/vda1的空间可能不足,我们可以把d ...

  6. 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)

    使用Jenkins与Docker持续集成与发布NetCore项目(教程一) 原文地址:https://www.cnblogs.com/Jackyye/p/12588182.html 基本环境 该教程的 ...

  7. 四个修改Docker默认存储位置的方法

    方法一.软链接 默认情况下Docker的存放位置为:/var/lib/docker 可以通过下面命令查看具体位置: sudo docker info | grep "Docker Root ...

  8. [转帖]四个修改Docker默认存储位置的方法

    四个修改Docker默认存储位置的方法 https://blog.51cto.com/forangela/1949947 易改乾坤关注0人评论27435人阅读2017-07-22 09:18:48   ...

  9. docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置

    原文:docker容器存放目录磁盘空间满了,转移数据修改Docker默认存储位置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_3767485 ...

随机推荐

  1. 魅族mx3手机 固件升级方法

    1.正常手机刷机,升级固件的方法 我今天3.5升4.2.8都提示固件损坏 后来我找客服 一定要用电脑下3.8固件 然后按住开机和音量+ 进入刷机模式 然后连接电脑 电脑会给你一个900mb的磁盘 拉进 ...

  2. [源码解析] TensorFlow 分布式环境(3)--- Worker 静态逻辑

    [源码解析] TensorFlow 分布式环境(3)--- Worker 静态逻辑 目录 [源码解析] TensorFlow 分布式环境(3)--- Worker 静态逻辑 1. 继承关系 1.1 角 ...

  3. Python函数-5 生成器

    生成器有时候,序列或集合内的元素的个数非常巨大,如果全制造出来并放入内存,对计算机的压力是非常大的.比如,假设需要获取一个10**20次方如此巨大的数据序列,把每一个数都生成出来,并放在一个内存的列表 ...

  4. Redis安装以及常见问题

    安装 下载 redis官网地址:https://redis.io/ centos安装 创建软件放置目录mkdir soft 进入soft目录并下载redis安装包. cd soft wget http ...

  5. 通过TCP Allocate连接数告警了解promethous-NodeExporter数据采集及相关知识扩散

    1.问题由来 近日有环境告警如下:TCP Allocate连接数过多 很多资料告诉我们使用:netstat –ant | grep ^tcp | wc –l命令查询,但查询的值与告警中获取的只相差很大 ...

  6. 『现学现忘』Docker基础 — 31、实现MySQL同步数据

    目录 1.搜索镜像 2.拉取镜像 3.查看镜像 4.启动镜像 5.操作容器 (1)在MySQL中创建数据库 (2)外部连接Dokcer容器中的MySQL服务 (3)查看挂载情况 (4)测试MySQL服 ...

  7. djinn

    靶机准备 将靶机ova文件导入虚拟机,并将网络设置为NAT 开机获得ip:192.168.164.188 kali:192.168.164.137 渗透测试 扫描端口 nmap -sS -sV -T5 ...

  8. OpenCV开发笔记(七十四):OpenCV3.4.1+ffmpeg3.4.8交叉编译移植到海思平台Hi35xx平台

    前言   移植opencv到海思平台,opencv支持对视频进行解码,需要对应的ffmpeg支持.   Ffmpeg的移植   Ffmpeg的移植请参考之前的文章:<FFmpeg开发笔记(十): ...

  9. 关于IIS应用程序池的默认参数设置解决

    关于IIS应用程序池的默认参数设置,一般如下设置以满足IIS站点的需要. 1.关于IIS站点的启动模式,以及处理请求的管道模式设置. 2.回收机制设置, A)若IIS站点程序中存在单例模式访问DB数据 ...

  10. Lock 深入理解acquire和release原理源码及lock独有特性acquireInterruptibly和tryAcquireNanos

    https://blog.csdn.net/sophia__yu/article/details/84313234 Lock是一个接口,通常会用ReentrantLock(可重入锁)来实现这个接口. ...