使用 Dashboard 管理 NFS 导出

2022年1月11日 Alfonso Martínez

图片来源:Sonika AgarwalUnsplash

一点历史

在早期,管理 NFS 导出只能通过 Ceph-Ansible / OpenStack Manila 进行。

Ceph Dashboard 在 Nautilus 版本中实现了自己的 NFS 导出管理,该管理能够使用两种存储后端创建导出:CephFS 和对象网关 (RGW)。

随着 Octopus v15.2.4 的发布,mgr volume 模块也以类似的方式实现了 NFS 管理,因此用户可以通过 Orchestrator/Cephadm 管理导出,但只能管理使用 CephFS 作为存储后端的导出。 后来,在 Pacific v16.2.5 中,NFS 管理被分离到 nfs 模块,并成为官方接口。 此时,nfs 模块也能够管理使用对象网关作为存储后端的导出。

因此,存在两种创建导出方式:官方实现 (nfs 模块) 和已弃用的方式。 显然,为了提供一种统一且一致的 NFS 导出管理方式,需要进行合并。

合并已实现

现在在 Pacific v16.2.7 中,我们实现了该合并,因此 Dashboard 符合 nfs 模块的行为,GUI 和 CLI 都反映相同的信息。

让我们快速浏览一下 Dashboard 的 NFS 部分。

NFS 服务部署

当您部署集群时,可以转到 Dashboard > NFS > 创建导出。 如果您没有任何正在运行的集群(NFS 服务),您将收到通知。

NFS Cluster required

因此,让我们转到 集群 > 服务 并创建一个 NFS 服务

Create NFS service

NFS 服务正在运行

NFS service details

通过 CephFS 进行 NFS 导出

我们返回到 Dashboard > NFS > 创建导出 并使用 CephFS 作为存储后端创建导出

cephfs export create

我们单击 创建 NFS 导出 按钮,导出已创建。 我们可以看到导出详细信息

cephfs export details

通过对象网关 (RGW) 进行 NFS 导出

现在让我们使用对象网关作为存储后端创建导出。 如果没有正在运行的对象网关服务,您将收到通知

no rgw daemon found

我们部署对象网关服务

create rgw service rgw service details

然后我们为导出创建一个 bucket

rgw create bucket

我们返回到 Dashboard > NFS > 创建导出 并创建导出

rgw create bucket

现在我们可以看到导出详细信息

rgw export details

如果我们转到 CLI,我们可以看到显示相同的信息

cli nfs module info

迁移

导出的迁移应由 Orchestrator/Cephadm 完全自动完成,但如果出现问题,请参阅 手动步骤