码头工人中的"Thin Pool"是什么意思?



我想这应该很基本,但是我已经尝试使用谷歌搜索,并且已经阅读了Docker文档。但是,我仍然无法掌握" 薄池"的含义及其在Docker World中扮演的角色。

短篇小说:

一个薄池是一个存储源,可为存储空间提供按需分配。它或多或少与虚拟内存相似,该记忆为每个过程提供了完整的地址空间。

长篇小说:

脂肪供应

传统的存储分配方法称为"脂肪"或"厚"配置。

例如,用户声称使用10克存储空间。然后,即使他/她只使用了1%的使用,即使他/她只使用了1%,脂肪供应为该用户保留10克物理存储空间。没有其他人可以使用此保留的空间。

薄供应

薄供应提供了按需存储分配的机制,该机制使用户可以要求比该用户物理保留更多的存储空间。

换句话说,它可以为存储空间提供过度分配。想想RAM的过度承诺功能。

薄池

薄池是一个概念术语,代表薄供应使用的衬板存储源。薄供应可从薄池中分配虚拟的存储块,而脂肪供应分配了传统存储池的物理块。

docker中的薄池

可以将Docker引擎配置为使用设备映射器作为其存储驱动程序。这是您处理薄供应的地方。根据Docker的文档:

使用DeviceMapper存储驱动程序的生产主机必须使用直接LVM模式。此模式使用块设备创建薄池。

需要照顾两个不同的薄池空间:元数据空间(存储指针(和数据空间(存储真实数据(。一开始,元数据空间中的所有指针都指向游泳池中没有真正的块。直到写入请求到达之前,数据空间中的任何块都不会分配。如果您熟悉这并不是什么新鲜事物虚拟内存机制。

让我们看一下docker info的输出:

Data Space Used: 11.8 MB
Data Space Total: 107.4 GB
Data Space Available: 7.44 GB
Metadata Space Used: 581.6 kB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.147 GB
Thin Pool Minimum Free Space: 10.74 GB

在这里,唯一令人困惑的是Thin Pool Minimum Free Space。它代表什么?

它指定了新设备创建成功所需的薄池中GB中的最小空间。此检查适用于免费的数据空间以及免费的元数据空间。

容器创建(在docker pulldocker run期间(如果薄池中的自由空间小于Thin Pool Minimum Free Space中的值,则会失败。空间不足需要在薄池中添加更多存储或清除未使用的图像。


链接:

  • 薄供应Wikipedia Page
  • lvmthin Linux Man Page
  • 设备映射器

相关内容

最新更新