红联Linux门户
Linux帮助

docker容器热扩容(ubuntu14.04上运行正常)

发布时间:2016-06-04 15:56:04来源:linux网站作者:l6807718

本方式在ubuntu14.04上运行正常,ubuntu16.04上运行失败
Docker的文件系统必须是devicemapper,而且只支持扩容不支持缩小
方法引自:http://jpetazzo.github.io/2014/01/29/docker-device-mapper-resize/


1.查看/dev/mapper下文件

$ ls /dev/mapper
control  docker-253:1-131179-a835d492b6864a13eb11eddd17c3cabf5226f20bc01fbfe90964d80112a0df69  docker-253:1-131179-pool
记下docker-253:1-131179-a835d49...这个文件的名字,这个是容器存储文件的文件名


2.使用dmsetup查看该文件扇区信息

$ dmsetup table docker-253:1-131179-a835d492b6864a13eb11eddd17c3cabf5226f20bc01fbfe90964d80112a0df69
0 20971520 thin 252:0 9


3.计算所需扇区数目,如,20G。

20*1024*1024*1024/512=41943040


4.将新的扇区大小写入,注意只是改变20971520的数字,其他数字不变

echo 0 41943040 thin 252:0 9 | dmsetup load docker-253:1-131179-a835d492b6864a13eb11eddd17c3cabf5226f20bc01fbfe90964d80112a0df69


5.将修改后的容器文件激活

dmsetup resume docker-253:1-131179-a835d492b6864a13eb11eddd17c3cabf5226f20bc01fbfe90964d80112a0df69


6.重新查看文件信息

$ dmsetup table docker-253:1-131179-a835d492b6864a13eb11eddd17c3cabf5226f20bc01fbfe90964d80112a0df69
0 41943040 thin 252:0 9


7.更改文件系统大小,使变更生效

resize2fs /dev/mapper/docker-253:1-131179-a835d492b6864a13eb11eddd17c3cabf5226f20bc01fbfe90964d80112a0df69
该命令在ubuntu16.04下可能出现文件正在使用或者找不到超级块的错误。还未解决。


本文永久更新地址:http://www.linuxdiyf.com/linux/21241.html