1. 当前位置:网站首页 > 

docker 容器热扩容


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
该命令在16.04下可能出现文件正在使用或者找不到超级块的错误。还未解决 PS:用xfs_growfs解决

8.停止该容器后,无法重新启动 
当容器扩容之后,由于dm认为设备块大小仍然为之前设置的初始大小,所以会发生无法起启动的情况,这时只要重新操作即可。

$ docker start test#必须要先启动一下,让其生成dm文件才能修改
#此时会报错,不要理会,执行以下操作即可
$ echo 0 41943040 thin 252:0 9 | dmsetup load docker-253:1-131179-a835d492b6864a13eb11eddd17c3cabf5226f20bc01fbfe90964d80112a0df69
$ dmsetup resume docker-253:1-131179-a835d492b6864a13eb11eddd17c3cabf5226f20bc01fbfe90964d80112a0df69

本文最后更新于2016-11-5,已超过 3个月没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
版权说明

本文地址:https://www.chensj.net/?post=55
未标注转载均为本站远程,转载请注明文章出处:

联系我们

在线咨询:点击这里给我发消息

微信号:chensj923

工作日:9:00-23:00,节假日休息

扫码关注