您的位置:

如何实现ceph-s参数配置和功能扩展?

一、Ceph-s参数配置

Ceph是一个开源的,分布式的存储系统。在使用Ceph时,我们需要进行相关参数的配置。下面我们就来看一下Ceph-s参数配置的具体流程。

1、查看当前的配置文件

> vi /etc/ceph/ceph.conf

2、配置参数

在配置文件中按照以下格式添加相应的参数:

[global]
...
参数 = 值

如下是常用参数的配置示例:

[global]
....
osd pool default size = 3
osd pool default min size = 3
osd pool default pg num = 48
osd pool default pgp num = 48
osd journal size = 10240
osd pool default crush rule = -1

3、保存配置文件

按下“ESC”键,输入“:wq”保存修改后的配置文件。

二、Ceph-s功能扩展

Ceph-s支持多种功能扩展,包括添加rgw等。下面就来看看几种功能扩展的实现。

1. 添加rgw

rgw是Ceph的对象网关,可以使Ceph作为一种对象存储服务。下面我们来看一下如何添加rgw。

1、安装相应软件包

> yum install ceph-radosgw

2、在配置文件中加入rgw配置

[client.rgw.gateway]
host = <rgw服务器IP>

3、启动radosgw

> radosgw -c /etc/ceph/ceph.conf -n client.rgw.gateway -k /etc/ceph/ceph.client.rgw.gateway.keyring

4、启动apache

如果还没有安装apache,则执行以下命令安装:

> yum install httpd

启动apache:

> service httpd restart

5、在ceph.conf中添加rados-gateway startup script

[global]
...
radosgw init = /usr/bin/radosgw-init.sh

6、重启ceph-mon和ceph-osd

重启ceph-mon和ceph-osd以在配置中启用radosgw:

> service ceph restart

2. 添加isgw

iSCSI网关是一种通过iSCSl提供块存储的Ceph组件。下面我们就来看一下如何添加iSCSI网关。

1、安装相关软件包

> yum install ceph-iscsi-config tgt

2、修改iscsi-gateway.conf配置文件

在/etc/tgt/iscsi-gateway.conf配置文件中按照以下格式添加有关iSCSl的参数设置:

iscsi_portal_port = 3260
pool =
username =
password =

iscsi user target1 {
  incoming user = <iSCSl用户名>
  incoming password = <iSCSI密码>
  outgoing user = <iSCSi用户名>
  outgoing password = <iSCSI密码>
  pool_name = <块设备池名称>
  block_size = 512
}

3、启动CEPH iSCSi target service

以下是启动CEPH iSCSi target service的命令:

> service ceph-iscsi-config start

OK,至此完成了iSCSI网关的添加操作。

3. 添加nfs-ganesha

以下是添加nfs-ganesha的步骤:

1、安装软件包

> yum install nfs-ganesha-ceph

2、添加ganesha-server.conf配置文件

nfs-ganesha服务通过/etc/ganesha/ganesha.conf配置文件进行参数配置,可以对其中的参数进行调整以达到相应的配置效果。如下是一些常用参数示例:

NfsCoreParameter {
  state-directory = /var/lib/ganesha
  enable-quotas = true
  enable-notification = false
}

EXPORT{
  # Export Id (mandatory, each EXPORT must have a unique Export_Id)
  Export_Id = 1;

  # Exported path (mandatory)
  Path = "/cephfs";

  # Pseudo Path (required for NFS v4)
  Pseudo = "/cephfs";

  # Exporting FSAL
  FSAL {
    Name = CEPH;
  }

  # Exporting protocols
  Access_Type = RW;
  Squash = "No_root_squash";
  Protect_Security_Label = false;
  Transport_Protocols = "UDP", "TCP";
  protocols = 4;
}

其中,Path参数指定了导出文件系统的路径;FSAL参数指定了导出文件系统采用的存储适配器,CEPH代表使用ceph文件系统作为存储适配器;Transport_Protocols参数指定了导出文件系统采用的传输协议。

3、启动nfs-ganesha服务

以下是启动nfs-ganesha服务的命令:

> service nfs-ganesha start

4. 添加rbd-mirror

rbd-mirror是一种轻量级的数据镜像方案,可以将一个ceph集群中的存储镜像复制到另一个ceph集群中。下面我们就来看一下如何添加rbd-mirror。

1、安装rbd-mirror软件包

> yum install ceph-rbd-mirror

2、在ceph.conf中添加rbd-mirror配置

在/etc/ceph/ceph.conf文件中添加以下参数配置:

[rbd-mirror]
rbd_mirror_journal_pool = <日志池名称>
rbd_mirror_image_mode = <映像模式>
rbd_mirror_peer_retries = <对等端重试次数>
rbd_mirror_concurrent_image_syncs = <并发映像同步数>
rbd_mirror_[挂载目标池名称] = <对等端地址>: <对等端端口号>

3、启动rbd-mirror服务

以下是启动rbd-mirror服务的命令:

> ceph-authtool -n client.rbd-mirror --gen-key /etc/ceph/keyring.rbd-mirror
> chmod 644 /etc/ceph/keyring.rbd-mirror
> ceph auth add client.rbd-mirror -i /etc/ceph/keyring.rbd-mirror
> service ceph-rbd-mirror start

OK,至此便完成了rbd-mirror的添加操作。