CephFS - cephfs
¶
Ceph 是一个开源存储平台,它将数据存储在基于 RADOS 的存储集群中。它具有高度可扩展性,并且作为一个没有单点故障的分布式系统,非常可靠。
Ceph 为块存储和文件系统提供不同的组件。
CephFS 是 Ceph 的文件系统组件,它提供了一个健壮的、功能齐全的、符合 POSIX 标准的分布式文件系统。在内部,它将文件映射到 Ceph 对象,并将文件元数据(例如文件所有权、目录路径、访问权限)存储在单独的数据池中。
术语¶
Ceph 使用术语 *对象* 来指代它存储的数据。负责存储和管理数据的守护进程是 *Ceph OSD*。Ceph 的存储分为 *池*,它们是用于存储对象的逻辑分区。它们也被称为 *数据池*、*存储池* 或 *OSD 池*。
*CephFS 文件系统* 由两个 OSD 存储池组成,一个用于实际数据,一个用于文件元数据。
cephfs
驱动程序在 Incus 中¶
注意
cephfs
驱动程序只能用于具有内容类型 filesystem
的自定义存储卷。
对于其他存储卷,请使用 Ceph 驱动程序。该驱动程序也可以用于具有内容类型 filesystem
的自定义存储卷,但它通过 Ceph RBD 镜像实现它们。
与其他存储驱动程序不同,此驱动程序不会设置存储系统,而是假设您已经安装了 Ceph 集群。
您可以预先创建要使用的 CephFS 文件系统,并通过 source
选项指定它,也可以指定 cephfs.create_missing
选项来自动创建文件系统和数据和元数据 OSD 池(使用 cephfs.data_pool
和 cephfs.meta_pool
中给出的名称)。
此驱动程序的行为也与其他驱动程序不同,因为它提供了远程存储。因此,根据内部网络,存储访问速度可能比本地存储慢一些。另一方面,使用远程存储在集群设置中具有很大的优势,因为所有集群成员都可以访问具有完全相同内容的相同存储池,而无需同步存储池。
Incus 假设它对 OSD 存储池拥有完全控制权。因此,您不应该在 Incus OSD 存储池中维护任何不属于 Incus 的文件系统实体,因为 Incus 可能会删除它们。
如果服务器端启用了快照,则 Incus 中的 cephfs
驱动程序支持快照。
配置选项¶
以下配置选项可用于使用 cephfs
驱动程序的存储池以及这些池中的存储卷。
存储池配置¶
键 |
类型 |
默认值 |
描述 |
---|---|---|---|
|
字符串 |
|
包含 CephFS 文件系统的 Ceph 集群的名称 |
|
布尔 |
|
创建文件系统和丢失的数据和元数据 OSD 池 |
|
字符串 |
- |
要为文件系统创建的数据 OSD 池名称 |
|
布尔 |
|
启用内核 |
|
字符串 |
- |
要为文件系统创建的元数据 OSD 池名称 |
|
字符串 |
- |
创建丢失的 OSD 池时要使用的 OSD 池 |
|
字符串 |
|
CephFS 挂载的基本路径 |
|
字符串 |
|
要使用的 Ceph 用户 |
|
字符串 |
- |
要使用的现有 CephFS 文件系统或文件系统路径 |
|
字符串 |
|
CephFS 文件系统在创建时是否为空 |
提示
除了这些配置之外,您还可以为存储卷配置设置默认值。请参见 配置存储卷的默认值.
存储卷配置¶
键 |
类型 |
条件 |
默认值 |
描述 |
---|---|---|---|---|
|
布尔 |
自定义块卷 |
与 |
启用跨多个实例共享卷 |
|
布尔 |
自定义卷 |
与 |
启用 ID 偏移覆盖(允许多个隔离实例附加) |
|
布尔 |
自定义卷 |
与 |
禁用卷的 ID 映射 |
|
字符串 |
合适的驱动程序 |
与 |
存储卷的大小/配额 |
|
字符串 |
自定义卷 |
与 |
控制何时删除快照(需要类似于 |
|
字符串 |
自定义卷 |
与 |
表示快照名称的 Pongo2 模板字符串(用于计划快照和未命名快照)[1] |
|
字符串 |
自定义卷 |
与 |
Cron 表达式 ( |