在Ceph存储群集中创建一个池
时间:2020-02-23 14:37:57 来源:igfitidea点击:
Ceph存储是一种自由和开源的软件定义的,分布式存储解决方案,旨在对现代数据分析,人工智能(AI),机器学习(ML),数据分析和新兴任务关键工作负载进行大规模可扩展。
在本文中,我们将讨论如何使用自定义的放置组(PGS)创建Ceph池。
在Ceph术语中,放置组(PGS)是逻辑对象池的碎片或者片段,其将物体作为组放入OSD。
当Ceph在OSD中存储数据时,放置组减少每个对象元数据的数量。
更大数量的放置组(例如,每个OSD)导致更好的平衡。
Ceph客户端将计算对象应该进入哪个展示位置组。
它通过散列对象ID来实现这一点,并根据所定义的池中的PGS的数量和池的ID应用操作。
有关详细信息,请参阅将PGS映射到OSDS。
计算放置组总数。
(OSDs * 100) Total PGs = ----------- pool size
例如,假设群集有9个OSD,默认池大小为3.因此PGS将是
9 * 100 Total PGs = ------------ = 300 3
创建一个游泳池
要创建池的语法是:
ceph osd pool create {pool-name} {pg-num}
其中:{pool-name} - 池的名称。
它必须是唯一的。
{pg-num} - 池的放置组总数。
我将创建一个名为K8S-UAT的新池,具有100的位置组。
$sudo ceph osd pool create k8s-uat 100 pool 'k8s-uat' created
现在列出可用池以确认它已创建。
$sudo ceph osd lspools 1 .rgw.root 2 default.rgw.control 3 default.rgw.meta 4 default.rgw.log 5 k8s-uat
将池与应用程序关联
游泳池需要在使用前与应用程序相关联。
将与RGW自动创建的Cephfs或者池一起使用的池自动关联。
--- Ceph Filesystem -- $sudo ceph osd pool application enable <pool-name> cephfs --- Ceph Block Device -- $sudo ceph osd pool application enable <pool-name> rbd --- Ceph Object Gateway -- $sudo ceph osd pool application enable <pool-name> rgw
例子:
$sudo ceph osd pool application enable k8s-uat-rbd rbd enabled application 'rbd' on pool 'k8s-uat-rbd'
应使用该池用于RBD使用的池 rbd
工具:
sudo rbd pool init k8s-uat-rbd
要禁用应用程序,请使用:
ceph osd pool application disable <poolname> <app> {--yes-i-really-mean-it}
要获取特定池或者全部的I/O信息,请执行:
$sudo ceph osd pool stats [{pool-name}]
从ceph仪表板上操作
登录Ceph Management Dashboard并创建一个新池 - 池>创建
删除池
要删除池,请执行:
sudo ceph osd pool delete {pool-name} [{pool-name} --yes-i-really-really-mean-it]