云网牛站
所在位置:首页 > Linux云服务器 > 以Linux服务器为平台在Ceph存储集群中创建Pool的方法

以Linux服务器为平台在Ceph存储集群中创建Pool的方法

2020-03-23 11:29:25作者:叶云稿源:云网牛站

在本文中,以Linux服务器为平台,我们将讨论如何使用自定义数量的展示位置组(PGs)创建Ceph Pool(池),包括介绍将Pool关联到应用程序、删除Pool的方法。

 

前言

安装Ceph存储集群:在Ubuntu 18.04系统上安装Ceph Storage Cluster的方法

用Ceph术语来说,放置组(PGs)是逻辑对象Pool的碎片或片段,将对象作为一个组放置到OSD中,当Ceph将数据存储在OSD中时,放置组会减少每个对象元数据的数量。

以Linux服务器为平台在Ceph存储集群中创建Pool的方法

大量的放置组(例如,每个OSD为100个)可带来更好的平衡,Ceph客户端将计算对象应位于哪个放置组中,它通过散列对象ID并根据定义的池中PG的数量和池ID进行操作来执行此操作。

计算展示位置组的总数:

以Linux服务器为平台在Ceph存储集群中创建Pool的方法

例如,假设您的集群有9个OSD,默认Pool大小为3,因此,您的PGs为:

以Linux服务器为平台在Ceph存储集群中创建Pool的方法

 

创建一个Pool

创建Pool的语法为:

ceph osd pool create {pool-name} {pg-num}

注:

{pool-name}–Pool的名称,它必须是唯一的。

{pg-num}–Pool的放置组总数。

我将创建一个名为k8s-uat的新Pool,其展示位置组数为100:

$ sudo ceph osd pool create k8s-uat 100

pool 'k8s-uat' created

现在列出可用的Pool以确认它已创建:

$ sudo ceph osd lspools

1 .rgw.root

2 default.rgw.control

3 default.rgw.meta

4 default.rgw.log

5 k8s-uat

 

将Pool关联到应用程序

Pool在使用前需要与应用程序关联,将与CephFS一起使用的Pool或RGW自动创建的Pool自动关联。

Ceph文件系统:

$ sudo ceph osd pool application enable <pool-name> cephfs

Ceph块设备:

$ sudo ceph osd pool application enable <pool-name> rbd

Ceph对象网关:

$ 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的Pool应使用rbd工具初始化:

sudo rbd pool init k8s-uat-rbd

要禁用应用程序,请使用:

ceph osd pool application disable <poolname> <app> {--yes-i-really-mean-it}

要获取特定Pool或全部Pool的I/O信息,请执行:

$ sudo ceph osd pool stats [{pool-name}]

 

删除Pool

要删除Pool,请执行:

sudo ceph osd pool delete {pool-name} [{pool-name} --yes-i-really-really-mean-it]

 

相关主题

使用Prometheus和Grafana监控Ceph集群的方法

精选文章
热门文章