docker容器硬盘动态扩容的方法


这篇“docker容器硬盘动态扩容的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“docker容器硬盘动态扩容的方法”文章吧。扩容容器默认来说,如果你使用 device mapper 的存储插件,所有的镜像和容器是从一个初始 10g 的文件系统中创建的。让我们来看看如何从一个更大的文件系统中创建一个容器。首先,我们用 ubuntu 的镜像来创建我们的容器。我们不需要在这个容器里运行任何东西,只需要这个文件(或者关联的文件系统)存在。为了演示,我们会在这个容器里运行 df ,来看一下根文件系统的大小。由于需要修改 device mapper 管理中的一些卷的信息,我们现在用 root 的身份来运行一些命令。所有以#开头的命令都必须以 root 身份来执行。只要能访问 docker 的 socket 服务,你也可以用普通用户的身份来执行其他的命令(以$开头)。让我们看一下/dev/mapper,那里应该有一个对应容器文件系统的符号链接,以 docker-x:y-z- 开头:注意记住那个全名,我们未来会用到。开始扩容:1、首先让我们来看一下当前卷的信息表:
第二个数字是设备的大小,表示有多少个 512-bytes 的扇区. 这个值略高于 10gb 的大小。2、我们来计算一下一个 42gb 的卷需要多少扇区,精简快照目标的一个神奇的特点是它不会限制卷的大小。当你创建它的时候,一个精简的卷使用0个块,当你开始往块里面写入的时候,它们会从共用的块池中进行分配。你可以写0个块,或者是10亿个块,这个和精简快照目标没关系。文件系统的大小只和 device mapper 表有关系。觉得困惑?不要担心。我们只是需要装载一个新的表,这个完全和之前的是一样的,但是有更多的扇 香港云主机区。仅此而已。3、旧表是 0 20971520 thin 254:0 7 。我们会改变第二个数字,要非常小心保持其他的值不变。你的卷可能不是 7 ,所以要使用正确的值!这样操作:
复制代码代码如下:
# echo 0 88080384 thin 254:0 7 | dmsetup load docker-0:37-1471009-4ab0bdde0a0dd663d35993e401055ee0a66c63892ba960680b3386938bda3603
4、现在如果我们再次检查表的信息,步骤和前面一样。首先使用下面的命令激活新表:
复制代码代码如下:
# dmsetup resume docker-0:37-1471009-4ab0bdde0a0dd663d35993e401055ee0a66c63892ba960680b3386938bda3603
执行完命令后,再次检查一下表的信息,发现它会使用新的扇区数量。5、我们已经调整了块设备的大小,但是我们仍然需要调整文件系统的大小,我们使用 xfs_growfs 来操作:(网上很多说到的resize2fs后来看到xfs方式的使用dumpe2fs,该命令在16.04下可能出现文件正在使用或者找不到超级块的错误,)复制代码代码如下:
# xfs_growfs docker-0:37-1471009-4ab0bdde0a0dd663d35993e401055ee0a66c63892ba960680b3386938bda3603
docker动态容器扩容成功。6、停止该容器后,无法重新启动
当容器扩容之后,由于dm认为设备块大小仍然为之前设置的初始大小,所以会发生无法起启动的情况,这时只要重新操作即可。以上就是关于“docker容器硬盘动态扩容的方法”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注开发云行业资讯频道。

相关推荐: stringTie工具有什么用

这篇文章主要介绍stringTie工具 香港云主机有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!对于转录组数据而言,最基础的分析就是基因和转录本水平的定量了,定量就是确定一个基因或者转录本的表达量,其中定量的方式有很多种。最直接…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 11/13 08:15
下一篇 11/13 10:50

相关推荐