Ceph 文件系统 (CephFS)

存储池类型:`cephfs

CephFS 实现了一个符合 POSIX 标准的文件系统,它利用一个[Ceph](https://ceph.com)存储集群来存储其数据。由于 CephFS 是在 Ceph 的基础上构建的,因此它具有 Ceph 的大部分属性。这包括冗余性、可扩展性、自愈能力以及高可用性。

Tip
{pve} 可以管理Ceph设置(xref:chapter_pveceph),这使得配置CephFS存储更加容易。由于现代硬件提供了大量的处理能力和RAM,因此在同一节点上运行存储服务和VM是可能的,而不会造成显著的性能影响。

要使用CephFS存储插件,您必须通过添加我们的Ceph仓库来替换标准的Debian Ceph客户端。添加后,运行`apt update`,然后运行`apt dist-upgrade`,以便获取最新的包。

Warning
请确保没有配置其他的Ceph仓库。否则安装会失败,或者节点上会有混合的包版本,导致意外的行为。

配置

这个后端支持常见的存储属性`nodes`、disablecontent,以及以下`cephfs`特定的属性:

文件系统名称

Ceph FS 的名称。

监控主机

监控守护进程地址列表。可选,只有当Ceph没有在 {pve} 集群上运行时才需要。

路径

本地挂载点。可选,默认为 /mnt/pve/<STORAGE_ID>/

用户名

Ceph 用户 ID。可选项,仅在 Ceph 不运行在 {pve} 集群上时需要,默认值为 admin

子目录

要挂载的CephFS子目录。可选,默认为`/`。

保险丝

通过FUSE访问CephFS,而不是内核客户端。可选,默认为`0`。

外部Ceph集群配置示例(/etc/pve/storage.cfg
cephfs: cephfs-external
monhost 10.1.1.20 10.1.1.21 10.1.1.22
path /mnt/pve/cephfs-external
content backup
username admin
fs-name cephfs
Note
如果没有禁用cephx,请不要忘记设置客户端的密钥文件。

认证

Note
如果Ceph被安装在{pve}集群上,那么在添加存储时,以下操作会自动完成。

如果您使用的是默认启用的`cephx`身份验证,那么您需要提供外部Ceph集群的密钥。

通过CLI配置存储,首先需要使包含秘密的文件可用。一种方法是直接从外部Ceph集群将文件复制到{pve}节点之一。以下示例将其复制到我们运行它的节点的`/root`目录:

# scp <external cephserver>:/etc/ceph/cephfs.secret /root/cephfs.secret

然后使用 pvesm 命令行工具来配置外部的RBD存储, 使用 --keyring 参数,该参数需要是你复制的密钥文件的路径。例如:

# pvesm add cephfs <name> --monhost "10.1.1.20 10.1.1.21 10.1.1.22" --content backup --keyring /root/cephfs.secret

通过GUI配置外部RBD存储时,您可以将密钥复制并粘贴到相应的字段中。

秘密仅仅是密钥本身,与`rbd`后端不同,后者还包含一个`[client.userid]`部分。

秘密将被存放在

# /etc/pve/priv/ceph/<STORAGE_ID>.secret

通过以下命令可以从Ceph集群(作为Ceph管理员)接收到一个秘密,其中`userid`是已配置为访问集群的客户端ID。有关Ceph用户管理的更多信息,请查阅Ceph文档。[cephusermgmt]

# ceph auth get-key client.userid > cephfs.secret

存储特性

cephfs 后端是一个遵循 POSIX 的文件系统,构建在 Ceph 集群之上。

Table 1. 后端`cephfs`的存储特性
Content types Image formats Shared Snapshots Clones

vztmpl iso backup snippets

none

yes

yes[1]

no

虽然当前没有已知的错误,但快照尚未保证稳定性,因为它们缺乏足够的测试。