第 2 章 原生CephFS 带有原生驱动程序
CephFS 原生驱动程序将 OpenStack 共享文件系统服务(manila)和 Red Hat Ceph Storage 结合。使用 Red Hat OpenStack(RHOSP)director 时,Controller 节点托管 Ceph 守护进程,如管理器、元数据服务器(MDS),以及监控(MON)和共享文件系统服务。
Compute 节点可以托管一个或多个项目。项目(以前称为租户)在以下图形中由白色框表示,包含用户管理的虚拟机,由灰色框表示,并带有两个 NIC。若要访问 ceph 和 manila 守护进程项目,可通过公共 Ceph 存储网络连接到守护进程。在这个网络上,您可以访问 Ceph Object Storage Daemon(OSD)提供的存储节点上的数据。在项目引导时托管的实例 (VM) 带有两个 NIC:一个用于存储提供商网络,第二个则专用于外部提供商网络。
存储提供商网络将项目上运行的虚拟机连接到公共 Ceph 存储网络。Ceph 公共网络提供 Ceph 对象存储节点、元数据服务器(MDS)和控制器节点的后端访问。
通过利用原生驱动程序,CephFS 依赖于与客户端和服务器协作来强制实施配额,保证项目隔离和安全性。具有原生驱动程序的 CephFS 可在具有信任最终用户的环境中正常工作。此配置要求在用户控制下运行软件,才能正常工作。

2.1. 安全考虑
原生 CephFS 后端需要 OpenStack Platform 租户的 permissive 信任模型。这种信任模型不适用于一般目的 OpenStack Platform 云,它们会故意阻止用户直接访问 OpenStack 平台所提供的服务背后的基础架构。
使用原生 CephFS 时,用户计算实例(VM)必须直接连接到 Ceph 公共网络来访问共享。Ceph 基础架构服务守护进程部署在向用户虚拟机公开的 Ceph 公共网络上。用户虚拟机上运行的 CephFS 客户端与 Ceph 服务守护进程协同工作,它们直接与 RADOS 交互,以读写文件数据块。
强制实施共享文件系统服务(manila)共享大小的 CephFS 配额在客户端一侧实施,例如在 Red Hat OpenStack Platform(RHOSP)用户拥有的虚拟机上。用户虚拟机上的客户端软件版本可能不是最新的,这可能会使关键云基础架构易受恶意或意外损害的软件(以 Ceph 服务端口为目标)。
因此,红帽建议您仅在可信用户维护客户端软件最新版本的环境中部署原生 CephFS 作为后端。用户还必须确保没有软件在其虚拟机上运行,这会影响 Ceph Storage 基础架构。
RHOSP 部署的一般目的是可能会为许多不可信用户提供服务 ,红帽建议您部署 CephFS through NFS。有关通过 NFS 使用 CephFS 的更多信息,请参阅通过 NFS 使用 CephFS 部署共享文件系统服务。
用户可能无法使客户端软件保持最新状态,它们可能无法从其虚拟机中排除有害的软件,但通过 NFS 使用 CephFS,用户只能访问 NFS 服务器的公共端,而不是 Ceph 基础架构本身。NFS 不需要同一类型的合作客户端,在最糟糕的情况下,用户虚拟机的攻击可能会损坏 NFS 网关,而不会损害 Ceph 存储基础架构。
红帽建议以下安全措施:
- 将 Storage 网络配置为提供商网络。
- 提供基于角色的访问控制(RBAC)策略来保护存储供应商网络。
- 为原生 CephFS 后端创建私有共享类型,并将其仅公开给可信租户。