3.4. 使用纠删代码创建 Ceph 文件系统(技术预览)
默认情况下,Ceph 将复制池用于数据池。如果需要,您还可以添加额外的纠删代码数据池。与由复制池支持的 Ceph 文件系统相比,由纠删代码池支持的 Ceph 文件系统 (CephFS) 使用较少的总存储。尽管纠删代码池使用较少的总存储,它们也使用的内存和处理器资源要多于复制池。
使用纠删代码池的 Ceph 文件系统是一项技术预览功能。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。如需了解更多详细信息,请参阅红帽技术预览功能的支持范围。
对于生产环境,红帽建议使用复制池作为默认数据池。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 正在运行的 CephFS 环境。
- 使用 BlueStore OSD 的池。
- 对 Ceph 监控节点的用户级别访问权限。
流程
为 CephFS 元数据创建复制元数据池:
语法
ceph osd pool create METADATA_POOL PG_NUM
ceph osd pool create METADATA_POOL PG_NUM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph osd pool create cephfs-metadata 64
[root@mon ~]# ceph osd pool create cephfs-metadata 64
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例创建名为
cephfs-metadata
且具有 64 个 PG 的池。为 CephFS 创建默认复制数据池:
语法
ceph osd pool create DATA_POOL PG_NUM
ceph osd pool create DATA_POOL PG_NUM
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph osd pool create cephfs-data 64
[root@mon ~]# ceph osd pool create cephfs-data 64
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例创建名为
cephfs-data
的复制池,具有 64 个 PG。为 CephFS 创建纠删代码数据池:
语法
ceph osd pool create DATA_POOL PG_NUM erasure
ceph osd pool create DATA_POOL PG_NUM erasure
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph osd pool create cephfs-data-ec 64 erasure
[root@mon ~]# ceph osd pool create cephfs-data-ec 64 erasure
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例创建一个名为
cephfs-data-ec
的纠删代码池,该池具有 64 个 PG。在纠删代码池中启用覆盖:
语法
ceph osd pool set DATA_POOL allow_ec_overwrites true
ceph osd pool set DATA_POOL allow_ec_overwrites true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph osd pool set cephfs-data-ec allow_ec_overwrites true
[root@mon ~]# ceph osd pool set cephfs-data-ec allow_ec_overwrites true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例启用对名为
cephfs-data-ec
的纠删代码池进行覆盖。将纠删代码的数据池添加到 CephFS 元数据服务器 (MDS):
语法
ceph fs add_data_pool cephfs-ec DATA_POOL
ceph fs add_data_pool cephfs-ec DATA_POOL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph fs add_data_pool cephfs-ec cephfs-data-ec
[root@mon ~]# ceph fs add_data_pool cephfs-ec cephfs-data-ec
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (可选)验证添加了数据池:
ceph fs ls
[root@mon ~]# ceph fs ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
创建 CephFS:
语法
ceph fs new cephfs METADATA_POOL DATA_POOL
ceph fs new cephfs METADATA_POOL DATA_POOL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph fs new cephfs cephfs-metadata cephfs-data
[root@mon ~]# ceph fs new cephfs cephfs-metadata cephfs-data
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要不建议将纠删代码池用于默认数据池。
使用纠删代码创建 CephFS:
语法
ceph fs new cephfs-ec METADATA_POOL DATA_POOL
ceph fs new cephfs-ec METADATA_POOL DATA_POOL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph fs new cephfs-ec cephfs-metadata cephfs-data-ec
[root@mon ~]# ceph fs new cephfs-ec cephfs-metadata cephfs-data-ec
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证一个或多个 Ceph FS 元数据服务器 (MDS) 是否进入活跃状态:
语法
ceph fs status FS_EC
ceph fs status FS_EC
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要将新的纠删代码数据池添加到现有文件系统,请执行以下操作:
为 CephFS 创建纠删代码数据池:
语法
ceph osd pool create DATA_POOL PG_NUM erasure
ceph osd pool create DATA_POOL PG_NUM erasure
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph osd pool create cephfs-data-ec1 64 erasure
[root@mon ~]# ceph osd pool create cephfs-data-ec1 64 erasure
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在纠删代码池中启用覆盖:
语法
ceph osd pool set DATA_POOL allow_ec_overwrites true
ceph osd pool set DATA_POOL allow_ec_overwrites true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph osd pool set cephfs-data-ec1 allow_ec_overwrites true
[root@mon ~]# ceph osd pool set cephfs-data-ec1 allow_ec_overwrites true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将纠删代码的数据池添加到 CephFS 元数据服务器 (MDS):
语法
ceph fs add_data_pool cephfs-ec DATA_POOL
ceph fs add_data_pool cephfs-ec DATA_POOL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph fs add_data_pool cephfs-ec cephfs-data-ec1
[root@mon ~]# ceph fs add_data_pool cephfs-ec cephfs-data-ec1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用纠删代码创建 CephFS:
语法
ceph fs new cephfs-ec METADATA_POOL DATA_POOL
ceph fs new cephfs-ec METADATA_POOL DATA_POOL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph fs new cephfs-ec cephfs-metadata cephfs-data-ec1
[root@mon ~]# ceph fs new cephfs-ec cephfs-metadata cephfs-data-ec1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其它资源
- 有关 CephFS MDS 的更多信息,请参见 Red Hat Ceph Storage File System Guide 中的 The Ceph File System Metadata Server 章节。
- 如需了解更多详细信息,请参阅 Red Hat Ceph Storage 安装指南中的安装元数据服务器部分。
- 如需更多信息,请参阅 Red Hat Ceph Storage Storage Strategies Guide 中的 Erasure-Coded Pools 部分。
- 如需更多信息,请参阅 Red Hat Ceph Storage Storage Strategies Guide 中的 Erasure-Coded Pools 部分。