博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DOCKER 从入门到放弃(五)
阅读量:5025 次
发布时间:2019-06-12

本文共 3613 字,大约阅读时间需要 12 分钟。

添加docker启动参数修改存储大小

添加--storage-opt 参数设置thin-pool和元数据大小

--storage-opt dm.loopmetadatasize=10G --storage-opt dm.loopdatasize=400G 修改thin-pool池大小为400g,元数据大小为10g

[root@docker opt]# cat /etc/sysconfig/docker|grep -v "^#"OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --graph=/opt/docker --storage-opt dm.loopmetadatasize=10G    --storage-opt dm.loopdatasize=400G'if [ -z "${DOCKER_CERT_PATH}" ]; then    DOCKER_CERT_PATH=/etc/dockerfi--storage-opt dm.loopmetadatasize=10G    --storage-opt dm.loopdatasize=400G

也可以修改/usr/lib/systemd/system/docker.service 文件,但是要使用systemctl daemon-reload重载配置文件

重启docker,不建议使用systemctl restart docker 命令,存在不会卸载环回设备直接启动docker,导致存储大小无法修改

[root@docker opt]# systemctl stop docker[root@docker opt]# systemctl start docker

查看修改后的存储容量

[root@docker opt]# docker info|grep -i data WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device. Data file: /dev/loop0 Metadata file: /dev/loop1 Data Space Used: 907.9 MB Data Space Total: 429.5 GB Data Space Available: 14.89 GB Metadata Space Used: 3.92 MB Metadata Space Total: 10.74 GB Metadata Space Available: 10.73 GB Data loop file: /opt/docker/devicemapper/devicemapper/data Metadata loop file: /opt/docker/devicemapper/devicemapper/metadata

使用truncat 命令扩大环回设备文件大小

先找到存储的环回设备文件路径

[root@docker opt]# docker info|grep "loop file"  Data loop file: /opt/docker/devicemapper/devicemapper/data Metadata loop file: /opt/docker/devicemapper/devicemapper/metadata

使用truncate 命令扩大空间

[root@docker opt]# truncate -s 800g /opt/docker/devicemapper/devicemapper/data     #扩大thin-pool到800g[root@docker opt]# truncate -s 20g /opt/docker/devicemapper/devicemapper/metadata    #扩大元数据到20g

重启docker,不建议使用systemctl restart docker 命令,存在不会卸载环回设备直接启动docker,导致存储大小无法修改

[root@docker opt]# systemctl stop docker[root@docker opt]# systemctl start docker

在重新挂载环回设备后,环回设备容量变化后docker 会自动更新devicemap的映射表,也可以在重启前手动完成更新操作,如下:

此方法无法修改metadata space的大小

查看环回设备在内存中的大小信息为1000g

[root@docker devicemapper]# echo $[ $(sudo blockdev --getsize64 /dev/loop0) / 1024 / 1024 / 1024 ]1000

使用使用truncate 命令扩大空间

[root@docker devicemapper]# truncate -s 2000g data [root@docker devicemapper]# ll -htotal 175M-rw------- 1 root root 2.0T Oct 10 01:13 data-rw------- 1 root root 100G Oct 10 00:52 metadata

查看在内存中的信息仍然为1000g

[root@docker devicemapper]# echo $[ $(sudo blockdev --getsize64 /dev/loop0) / 1024 / 1024 / 1024 ]1000

重新加载环回设备在内存中的信息

[root@docker devicemapper]# losetup -c /dev/loop0[root@docker devicemapper]# echo $[ $(sudo blockdev --getsize64 /dev/loop0) / 1024 / 1024 / 1024 ]2000

查看docker的存储thin-pool池的名称

[root@docker devicemapper]# dmsetup status | grep ' thin-pool ' | awk -F ': ' {'print $1'}docker-253:0-34124585-pool

查看devicemap的映射表中docker存储thin-pool池信息

[root@docker devicemapper]# dmsetup table docker-253:0-34124585-pool0 2097152000 thin-pool 7:1 7:0 128 32768 1 skip_block_zeroing

更新映射表中的信息,先挂起thin-pool池,在修改表中信息,在退出挂起状态

[root@docker devicemapper]# dmsetup suspend  docker-253:0-34124585-pool[root@docker devicemapper]# dmsetup reload docker-253:0-34124585-pool --table '0 4194304000 thin-pool 7:1 7:0 128 32768 1 skip_block_zeroing'  #4194304000 是扇区大小值,对应为2T,这儿只修改了逻辑卷组对应到物理磁盘的扇区大小[root@docker devicemapper]#  dmsetup resume docker-253:0-34124585-pool

参考资料

http://www.cnblogs.com/hustcat/p/3908985.html

https://www.ibm.com/developerworks/cn/linux/l-devmapper/index.html#resources
https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/#increase-capacity-on-a-running-device

转载于:https://www.cnblogs.com/panjunbai/p/7645662.html

你可能感兴趣的文章
js-权威指南学习笔记19.2
查看>>
hexo 搭建博客
查看>>
关于 UIWebView 几个高级用法
查看>>
maven创建的项目中无法创建src/main/java 解决方案
查看>>
华为软件开发云测评报告二:代码检查
查看>>
集合1
查看>>
js 原生 ajax
查看>>
关键词 virtual
查看>>
建造者模式(屌丝专用)
查看>>
UVALive 4730 Kingdom +段树和支票托收
查看>>
[APIO2010]特别行动队
查看>>
[SCOI2016]幸运数字
查看>>
SpringBoot 集成ehcache
查看>>
初步swift语言学习笔记2(可选类型?和隐式可选类型!)
查看>>
Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
查看>>
在Vs2012 中使用SQL Server 2012 Express LocalDB打开Sqlserver2012数据库
查看>>
在Macos下完美解决Adobe Dreamweaver CC 2018 汉化及操作方法
查看>>
【转】 Newtonsoft.Json高级用法
查看>>
CodeBlocks X64 SVN 编译版
查看>>
Excel催化剂开源第42波-与金融大数据TuShare对接实现零门槛零代码获取数据
查看>>