Docker虚拟化技术系列之-磁盘扩容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker虚拟化技术系列之-磁盘扩容相关的知识,希望对你有一定的参考价值。

Docker在启动容器的时候,需要创建文件系统,为rootfs提供挂载点。最初Docker仅能在支持Aufs文件系统的Linux发行版上运行,但是由于Aufs未能加入Linux内核,为了寻求兼容性、扩展性,Docker在内部通过graphdriver机制这种可扩展的方式来实现对不同文件系统的支持。

目前,Docker支持Aufs,Devicemapper,Btrfs和Vfs四种文件系统,docker容器默认的空间是10G,如果想指定默认容器的大小(在启动容器的时候指定),可以有如下两种方法:

建议大家在CentOS7.x上部署Docker进行测试(内核在3.10+)

1)第一种方法:

可以在docker配置文件里通过dm.basesize参数指定,例如:

docker   -d  --storage-optdm.basesize=40G 

(注意*在CentOS 6.5上有可能执行该命令扩容不成功)

以上方法只适用于新容器生成,并且修改后需要重启docker,无法做到动态给正在运行容器指定大小。(如下图为默认容器大小)

技术分享

在文件加入如下语句即可:vi /etc/sysconfig/docker-storage

技术分享

然后重启docker即可;

技术分享

然后重新创建即可。

2)第二种方法:

(注意*如果是centos6.x系列,内核不稳定,会导致docker容器停止,无法再启动)

1)查看原容器的磁盘空间大小

技术分享

2)查看mapper设备:

技术分享

3) 查看卷信息表:

技术分享

4) 根据要扩展的大小,计算需要多少扇区:

第二个数字是设备的大小,表示有多少个512-bytes 的扇区. 这个值略高于 10GB 的大小。我们来计算一下一个 15GB 的卷需要多少扇区,

$ echo $((15*1024*1024*1024/512))31457280

5)  修改卷信息表--激活--并且验证(红色3个部分)

技术分享

6)  修改文件系统大小

技术分享

7)  最后验证磁盘空间大小

技术分享

以上是关于Docker虚拟化技术系列之-磁盘扩容的主要内容,如果未能解决你的问题,请参考以下文章

Docker虚拟化技术系列之-DockerFile配置

Docker虚拟化技术系列之-命令详解

Docker虚拟化技术系列之-自动化部署管理

kvm虚拟机磁盘扩容

LINUX虚拟机磁盘在线扩容不重启

我用vmware对虚拟机的磁盘扩容后提示还要从客户机内部进行扩展,而且虚拟机的磁盘并没有扩大,要怎么做