3.3. 将纠删代码池添加到 Ceph 文件系统
默认情况下,Ceph 将复制池用于数据池。若有需要,您还可以向 Ceph 文件系统添加额外的擦除数据池。与由复制池支持的 Ceph 文件系统相比,由纠删代码池支持的 Ceph 文件系统 (CephFS) 使用较少的总存储。尽管纠删代码池使用较少的总存储,它们也使用的内存和处理器资源要多于复制池。
CephFS EC 池仅用于归档目的。
对于生产环境,红帽建议为 CephFS 使用默认复制数据池。在 CephFS 中创建内节点,在默认数据池中至少创建一个对象。最好将复制池用于默认数据,以提高小对象写入性能,并提高更新后端的读取性能。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 现有的 Ceph 文件系统.
- 使用 BlueStore OSD 的池。
- Ceph 监控节点的根级别访问权限.
-
安装
attr
软件包。
流程
为 CephFS 创建纠删代码数据池:
语法
ceph osd pool create DATA_POOL_NAME erasure
示例
[root@mon ~]# ceph osd pool create cephfs-data-ec01 erasure pool 'cephfs-data-ec01' created
验证是否已添加池:
示例
[root@mon ~]# ceph osd lspools
在纠删代码池中启用覆盖:
语法
ceph osd pool set DATA_POOL_NAME allow_ec_overwrites true
示例
[root@mon ~]# ceph osd pool set cephfs-data-ec01 allow_ec_overwrites true set pool 15 allow_ec_overwrites to true
验证 Ceph 文件系统的状态:
语法
ceph fs status FILE_SYSTEM_NAME
示例
[root@mon ~]# ceph fs status cephfs-ec cephfs-ec - 14 clients ========= RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS 0 active cephfs-ec.example.ooymyq Reqs: 0 /s 8231 8233 891 921 POOL TYPE USED AVAIL cephfs-metadata-ec metadata 787M 8274G cephfs-data-ec data 2360G 12.1T STANDBY MDS cephfs-ec.example.irsrql cephfs-ec.example.cauuaj
将擦除代码的数据池添加到现有的 CephFS 中:
语法
ceph fs add_data_pool FILE_SYSTEM_NAME DATA_POOL_NAME
示例
[root@mon ~]# ceph fs add_data_pool cephfs-ec cephfs-data-ec01
本例将新数据池
cephfs-data-ec01
添加到现有的 erasure-code 文件系统cephfs-ec
中。验证纠删代码池是否已添加到 Ceph 文件系统中:
语法
ceph fs status FILE_SYSTEM_NAME
示例
[root@mon ~]# ceph fs status cephfs-ec cephfs-ec - 14 clients ========= RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS 0 active cephfs-ec.example.ooymyq Reqs: 0 /s 8231 8233 891 921 POOL TYPE USED AVAIL cephfs-metadata-ec metadata 787M 8274G cephfs-data-ec data 2360G 12.1T cephfs-data-ec01 data 0 12.1T STANDBY MDS cephfs-ec.example.irsrql cephfs-ec.example.cauuaj
在新目录中设置文件布局:
语法
mkdir PATH_TO_DIRECTORY setfattr -n ceph.dir.layout.pool -v DATA_POOL_NAME PATH_TO_DIRECTORY
示例
[root@mon ~]# mkdir /mnt/cephfs/newdir [root@mon ~]# setfattr -n ceph.dir.layout.pool -v cephfs-data-ec01 /mnt/cephfs/newdir
在本例中,在
/mnt/cephfs/newdir
目录中创建的所有新文件都会继承目录布局,并将数据放在新添加的纠删代码池中。
其它资源
- 有关 CephFS MDS 的更多信息,请参见 Red Hat Ceph Storage File System Guide 中的 The Ceph File System Metadata Server 章节。
- 如需更多信息,请参阅 Red Hat Ceph Storage 文件系统指南中的创建 Ceph 文件系统部分。
- 如需更多信息,请参阅 Red Hat Ceph Storage 策略指南中的 Erasure Code 池 一章。
- 如需更多信息,请参阅 Red Hat Ceph Storage Storage Strategies Guide 中的 Erasure-Coded Pools 部分。