Ceph存储(二)集群部署

转载自:https://github.com/blueboay/ceph-study

部署环境准备

以下为测试环境部署案例,如果是生产环境推荐osd所在服务器是物理机,根据情况配置不同的硬盘。其它的节点可以是虚拟机,但必须是高可用,如monitor和manager。管理节点administrator必须单独在一台机器,防止集群出现问题时无法进行管理。

主机说明

主机IP地址 主机名 部署角色
192.168.6.114/18.50.129.111 ceph-admin.gogen.cn administrator
192.168.6.115/18.50.129.112 ceph-stroage-1.gogen.cn osd
192.168.6.116/18.50.129.113 ceph-stroage-2.gogen.cn osd
192.168.6.117/18.50.129.114 ceph-stroage-3.gogen.cn osd
192.168.6.118/18.50.129.115 ceph-stroage-4.gogen.cn osd
192.168.6.126/18.50.129.116 ceph-monitor-1.gogen.cn monitor、manager、mds
192.168.6.127/18.50.129.117 ceph-monitor-2.gogen.cn monitor、manager
192.168.6.128/18.50.129.118 ceph-monitor-3.gogen.cn monitor

硬盘说明

在ceph集群中。Administrators、Monitors、Managers和MDSs节点节点对服务器硬盘都没有要求,只要系统能正常运行即可。但OSD节点不一样,通常一个OSD就代表一块物理硬盘,作为分布式存储,OSD越多越好,这里有的4个OSD节点,分别再每节点添加两块硬盘,分别是40GB和 50GB,作为OSD的硬盘不需要做任何操作,需要OSD初始化的工具来回初始化。 查看ceph-storage-1节点硬盘信息如下。

[root@ceph-storage-1 ~]# fdisk -l /dev/sd*

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00024e19

   Device Boot  Start End  Blocks   Id  System
/dev/sda1   *2048 2099199 1048576   83  Linux
/dev/sda2 20992004194303919921920   8e  Linux LVM

Disk /dev/sda1: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sda2: 20.4 GB, 20400046080 bytes, 39843840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

网络说明

部署Ceph集群推荐所有节点都有两张网卡,一张用于外部通讯,承载业务数据流量,另外一张用于集群内部了数据交换。防止在进行内部数据交换的时候占用业务通道,影响业务通讯。 在此案例中192.168.6.0/24为业务使用,而 18.50.129.0/24为集群内部使用。 注意:如果一台服务器有几个网卡都配置了IP地址与网关,那么将会存在几条默认路由。正常情况下我们只需要一条默认路由,而其它不需要的路由则删除,再根据情况添加静态路由。

配置时间同步

如果节点可以访问互联网,直接启动chronyd服务即可,CentOS 7自带此服务。

~]# systemctl enable chronyd && systemctl start chronyd

注意:如果是CentOS 6系统,默认不使用chronyd时间同步服务。 一般推荐使用本地的时间服务器,修改/etc/chrony.conf配置文件,将server后配置修改为指定时间服务器地址即可,如果有多个,指定多个server即可,server后面跟时间服务器的地址,如。

server 0.centos.pool.ntp.org iburst

可以使用以下命令可以查看时间同步的信息。

~]# chronyc sources -v

配置主机名解析

本所本案例,在每个节点都配置此hosts,文件内容如下。

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.6.114 ceph-admin.gogen.cn ceph-admin
192.168.6.115 ceph-storage-1.gogen.cn ceph-storage-1
192.168.6.116 ceph-storage-2.gogen.cn ceph-storage-2
192.168.6.117 ceph-storage-3.gogen.cn ceph-storage-3
192.168.6.118 ceph-storage-4.gogen.cn ceph-storage-4
192.168.6.126 ceph-monitor-1.gogen.cn ceph-monitor-1
192.168.6.127 ceph-monitor-2.gogen.cn ceph-monitor-2
192.168.6.128 ceph-monitor-3.gogen.cn ceph-monitor-3

关闭防火墙

为防止防火墙的干扰,推荐将防火墙关闭,操作如下。

~]# systemctl disable firewalld && systemctl stop firewalld

关闭SELinux

同样为了防止SELinux干扰,默认系统是启用了SELinux,需要将此关闭。修改/etc/sysconfig/selinux文件来禁用SELinux,修改配置如下。

~]# sed -i "/^SELINUX/s@enforcing@disabled@" /etc/sysconfig/selinux

修改完SELinux配置后需要重启系统。

准备工作

这里主要是准备好administrator节点,和部署前所需要的一些配置准备配置。

配置yum源

使用Ceph官方仓库安装下载较慢,国内阿里云镜像站也提供Ceph相关镜像,地址如下。

https://mirrors.aliyun.com/ceph/

安装阿里云Ceph的repo源,在所有节点上安装此源。

~]# rpm -ivh https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch/ceph-release-1-1.el7.noarch.rpm

准备普通用户

Ceph集群各节点推荐使用一个普通用户管理所有进程,也就是ceph-deploy在部署的时候需要以普通用户的身份登录到Ceph各节点,目标用户需要可以无密码使用sudo命令权限,以便在安装的过程中无需中断。并且在SSH的时候也需要配置为密钥登录,且无需输入密码。 在所有节点上创建用户并设置密码。

~]# useradd cephadmin && echo "cephadmin" | passwd cephadmin --stdin

在administrator节点生成并分发密钥。 注意:此操作需要在cephadmin用户下进行。

~]$ ssh-keygen -t rsa -P ''
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-monitor-1
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-monitor-2
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-monitor-3
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-storage-1
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-storage -2
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-storage -3
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-storage -4

配置sudo权限

注意:此操作需要在root用户下执行。 创建文件/etc/sudoers.d/cephadmin,文件内容如下。

~]# echo "cephadmin ALL = (root) NOPASSWD: ALL" | tee /etc/sudoers.d/cephadmin

更改cephadmin文件的权限。

~]# chmod 0440 /etc/sudoers.d/cephadmin

部署ceph-deploy

接下来将部署ceph-deploy节点,主要就是安装ceph-deploy软件包及其依赖包。此在administrator节点上面执行即可。

~]# yum install ceph-deploy python-setuptools python2-subprocess32

部署Rados集群

只要是ceph-deploy命令的操作都需要在administrator节点上的cephadmin用户上执行,并且必需在ceph-cluster目录进行操作。 ceph-deploy命令只能在administrator节点执行,而ceph命令可在集群任何节点执行,无论是在哪个节点执行都需要确保在administrator用户下。

初始化集群

  1. 首先创建配置文件目录。
~]$ mkdir ceph-cluster
~]$ cd ceph-cluster
  1. 创建一个集群配置信息和密钥环境文件等,初化时需要指定集群中一个monitor节点。
~]$ ceph-deploy new --cluster-network 18.50.129.0/24 --public-network 192.168.6.0/24 ceph-monitor-1 

ceph-deploy为部署集群的主要命令。

  • new:ceph-deploy子命令,ceph-deploy有很多子命令可以完成更多管理功能,可以使用ceph-deploy –help命令查看。其中new功能为创建一个新的集群,会在当前目录生成集群配置文件与keryring文件。
  • –cluster-network:new子命令的可用选项,可使用ceph-deploy new –help获取所有选项,其中–cluster-network为指定集群内部使用网络
  • –public-network:指定集群公用网络,也就是业务使用网络。
  • ceph-monitor-1:指定初始的集群的第一个monitor节点的主机名,网络必须可达。

创建集群生成的文件如下。

[cephadmin@ceph-admin ceph-cluster]$ ls
ceph.conf  ceph-deploy-ceph.log  ceph.mon.keyring

ceph.conf主要包含集群的基本配置信息。

[cephadmin@ceph-admin ceph-cluster]$ cat ceph.conf 
[global]
fsid = 7e1c1695-1b01-4151-beea-70c008cffd8c
public_network = 192.168.6.0/24
cluster_network = 18.50.129.0/24
mon_initial_members = ceph-monitor-1
mon_host = 192.168.6.126
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
  1. 安装ceph集群 安装ceph集群需要使用ceph-deploy的install子命令,首先初始化所有monitor节点。
~]$ ceph-deploy install ceph-monitor-1 ceph-monitor-2 ceph-monitor-3

接下来初始化所有storage节点,执行下面的命令。

~]$ ceph-deploy install ceph-storage-1 ceph-storage-2 ceph-storage-3 ceph-storage-4

注意:初始化的操作主要就是SSH到各节点上面通过yum安装好需要的软件包,默认使用的是官方源。这个过程也可以手动登录到各节点自行安装,这样在初始化的时候速度将会快些。如果使用ceph-deploy执行的时候是一台一台执行,而手动执行可多台一起执行,并且可使用阿里源。手动安装方法如下。 在各节点上面执行安装阿里yum源,然后安装需要的软件包。

~]$ rpm -ivh https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch/ceph-release-1-1.el7.noarch.rpm
~]$ yum install ceph ceph-radosgw

注意:安装手动完成软件包安装后还必须再执行ceph-deploy install来初始化,因为还有其它的初始化操作,但此时这个过程相对较快。在执行的时候可以使用选项–no-adjust-repos指定不修改本地yum源即可,否则还是会使用官方源。

  1. 配置第一个monitor节点。
~]$ ceph-deploy mon create-initial

以上命令执行成功后,在第2步初始化的那个monitor节点上会启动一个ceph-mon进程,并且以ceph用户运行。在/etc/ceph目录会生成一些对应的配置文件,其中ceph.conf文件就是从前面初始化生成的文件直接copy过去的,此文件可以直接进行修改。

  1. 配置第一个manager节点。 根据前面主机说明,我们将ceph-monitor-1和ceph-monitor-2节点也作为manager节点,所以我们将在ceph-monitor-1部署第一个manager节点 。执行如下命令配置。
~]$ ceph-deploy mgr create ceph-monitor-1

上面的命令运行成功后会在当前目录生成一些keryring密钥,并且在指定的集群节点上面会产生一个ceph-mgr进程,运行用户为ceph。

  1. 将配置文件和密钥复制到集群各节点。 配置文件就是第2步操作生成的ceph.conf,而密钥是ceph.client.admin.keyring,当使用ceph客户端连接至ceph集群时需要使用的密默认密钥,这里我们所有节点都要复制,命令如下。
~]$ ceph-deploy admin ceph-monitor-1 ceph-monitor-2 ceph-monitor-3
~]$ ceph-deploy admin ceph-storage-1 ceph-storage-2 ceph-storage-3 ceph-storage-4
  1. 更改ceph.client.admin.keyring权限。 默认情况下ceph.client.admin.keyring文件的权限为600,属主和属组为root,如果在集群内节点使用cephadmin用户直接直接ceph命令,将会提示无法找到/etc/ceph/ceph.client.admin.keyring文件,因为权限不足。当然如果使用sudo ceph不存在此问题,为方便直接使用ceph命令,可将权限设置为644。在集群节点上面cephadmin用户下执行下面命令。
~]$ sudo chmod 644 /etc/ceph/ceph.client.admin.keyring 
  1. 集群健康状态检查。 在集群节点上面使用ceph -s命令可看集群状态,如。
[cephadmin@ceph-monitor-1 root]$ ceph -s
  cluster:
    id: 7e1c1695-1b01-4151-beea-70c008cffd8c
    health: HEALTH_OK
 
  services:
    mon: 1 daemons, quorum ceph-monitor-1
    mgr: ceph-monitor-1(active)
    osd: 0 osds: 0 up, 0 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0  objects, 0 B
    usage:   0 B used, 0 B / 0 B avail
    pgs:

  • cluster:集群相关,其中health表示集群的健康状态,id为集群的ID。
  • services:集群内服务的状态,mon代表monitor,mgr为manager,osd就是指osd。如果有多个mon或mgr的时候这里也会体现出。
  • data:实在存储数据的状态,有多少个pool,多少个pg,有多少个对象,以即大小。包括使用了多少等。因为我们还没有添加osd,所以这里全是0。

    添加OSD

    在Ceph集群组件里面OSD主要作用数据存储,每个OSD可以是一块物理硬盘也可以是一个分区目录,推荐使用的是物理硬盘。

    1. 列出storage节点上面可用的物理硬盘。
~]$ ceph-deploy disk list ceph-storage-1

我们分别对每个storage节点添加了两块硬盘,分别为是40GB和50GB,正常情况下是可以看到添加的硬盘信息。

[ceph-storage-1][INFO  ] Running command: sudo fdisk -l
[ceph-storage-1][INFO  ] Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
[ceph-storage-1][INFO  ] Disk /dev/sdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
[ceph-storage-1][INFO  ] Disk /dev/sdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
  1. 擦除指定storage节点,指定硬盘的数据。
~]$ ceph-deploy disk zap ceph-storage-1 /dev/sdb
  1. 添加指定storage节点,指定硬盘为OSD,相当于创建一个OSD。
~]$ ceph-deploy osd create ceph-storage-1 --data /dev/sdb

添加成功后提示如下信息。

[ceph-storage-1][INFO  ] Running command: sudo /bin/ceph --cluster=ceph osd stat --format=json
[ceph_deploy.osd][DEBUG ] Host ceph-storage-1 is now ready for osd use.

指定的storage节点会运行一个ceph-osd的进程,启动用户为ceph,如果一台storage上面有多个osd,那么会有多个进程。 使用上面操作将4个storage节点共8块硬盘都添加为OSD。

  1. 查看指定OSD的信息。 首先可以通过ceph -s命令查看集群状态,也可以输出OSD的基本信息。
[cephadmin@ceph-monitor-1 ~]$ ceph -s
  cluster:
    id: 7e1c1695-1b01-4151-beea-70c008cffd8c
    health: HEALTH_OK
 
  services:
    mon: 1 daemons, quorum ceph-monitor-1
    mgr: ceph-monitor-1(active)
    osd: 8 osds: 8 up, 8 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0  objects, 0 B
    usage:   8.0 GiB used, 352 GiB / 360 GiB avail
   pgs:

从上面可以看出总共有8个OSD,并且8个已就绪,总空间为360GB,已使用8GB,每个OSD默认会使用1GB的空间。 还可以使用以下命令分别查看指定storage节点上面的OSD信息。

~]$ ceph-deploy osd list ceph-storage-1

还可以使用ceph命令获取OSD的信息,此命令需要在集群任何节点上面运行。

[cephadmin@ceph-monitor-1 ~]$ ceph osd stat
8 osds: 8 up, 8 in; epoch: e33
[cephadmin@ceph-monitor-1 ~]$ ceph osd ls
0
1
2
3
4
5
6
7
[cephadmin@ceph-monitor-1 ~]$ ceph osd dump
  • dump可以查看更详细信息。
  • ls列出所有OSD的编号。
  • stat查看基本状态

    上传与下载

    1. 首先创建一个用于数据存储的存储池。
ceph osd pool create testpool 32 32

创建了一个名为testpool的存储池,并指定有32个PG和32个用于归置的PG,第二个代表PGP(归置PG),如果不指定默认与PG相等,推荐相等。

  1. 上传文件至指定存储池。
~]$ rados put fstab /etc/fstab --pool=testpool

rados命令用于rados集群管理,而put子命令用于上传文件,fstab为指定的对象名,而/etc/fstab为要上传的文件,最后使用–pool指定要上传到哪个存储池。

  1. 查看存储池中的所有对象。
[cephadmin@ceph-monitor-1 ~]$ rados ls --pool=testpool
fstab

查看指定对象更详细的信息。

[cephadmin@ceph-monitor-1 ~]$ ceph osd map testpool fstab
osdmap e43 pool 'testpool' (1) object 'fstab' -> pg 1.45a53d91 (1.11) -> up ([5,2,1], p5) acting ([5,2,1], p5)
  1. 删除存储池中指定的对象。
~]$ rados rm fstab --pool=testpool
  1. 删除存储池。 一般情况下不推荐删除存储池,Ceph集群默认是禁用此操作,需要管理员在ceph.conf配置文件中启用支持删除存储池的操作后才可能删除,默认执行删除命令会报错。删除命令如下:
[cephadmin@ceph-monitor-1 ~]$ ceph osd pool rm testpool testpool --yes-i-really-really-mean-it
Error EPERM: pool deletion is disabled; you must first set the mon_allow_pool_delete config option to true before you can destroy a pool

在删除的时候需要输入两遍存储池的名称和更长的确认删除选项,就是以防止误删除。Ceph集群默认禁用删除功能,需要指定mon_allow_pool_delete选项为false时才可以删除。

集群其它管理

扩展monitor节点

monitor作为Ceph集群中重要组件之一,Ceph集群一般部署3个以上奇数节点的monitor集群。 在administrator节点执行执行下面命令把另外两台monitor节点主机加入到monitor集群中。

~]$ ceph-deploy mon add ceph-monitor-2
~]$ ceph-deploy mon add ceph-monitor-3

这时候再集群健康状态如下。

[cephadmin@ceph-monitor-1 ~]$ ceph -s
  cluster:
    id: 7e1c1695-1b01-4151-beea-70c008cffd8c
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph-monitor-1,ceph-monitor-2,ceph-monitor-3
    mgr: ceph-monitor-1(active)
    osd: 7 osds: 7 up, 7 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0  objects, 0 B
    usage:   7.0 GiB used, 313 GiB / 320 GiB avail
    pgs:

还可以使用quorum_status子命令查看monitor更详细的信息。

~]$ ceph quorum_status --format json-pretty
  • –format:指定输出的格式,输入为普通字符串,不便于阅读,可指定输出为json。

    扩展manager节点

    manager节点以守护进程Active和Standby模式运行,当Active节点上面守护进程故障的时候,其中一个Standby实例可以在不中断服务的情况下接管任务。一般有两个manager节点即可,一个为Active,另一个为Standby。集群中第一个manager节点为Active。 执行下面的命令可添加另一个manager节点。

~]$ ceph-deploy mgr create ceph-monitor-2

创建成功后查看集群状态如下。

[cephadmin@ceph-monitor-1 ~]$ ceph -s
  cluster:
    id: 7e1c1695-1b01-4151-beea-70c008cffd8c
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph-monitor-1,ceph-monitor-2,ceph-monitor-3
    mgr: ceph-monitor-1(active), standbys: ceph-monitor-2
    osd: 7 osds: 7 up, 7 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0  objects, 0 B
    usage:   7.0 GiB used, 313 GiB / 320 GiB avail
    pgs:

移除monitor节点

  1. 在管理节点上面执行destroy子命令删除指定的monitor节点。
~]$ ceph-deploy mon destroy ceph-monitor-2

如果该服务器还需要启用mon,重新添加即可。

移除manager节点

  1. 在指定的manager节点上面将mgr服务停止,并关闭开机自启动。
~]$ sudo systemctl stop ceph-mgr@ceph-monitor-1
~]$ sudo systemctl disable ceph-mgr@ceph-monitor-1

服务名为:ceph-mgr@。 注意:如果该服务器还需要启用mgr,把服务直接启动即可。但如果是新机器要启用mrg需要通过扩展mgr重新创建。

移除OSD硬盘

  1. 使用ceph命令停用指定的OSD。
~]$ ceph osd out 0

0代表第0个OSD设备,编号可以使用ceph osd dump获取对应OSD的编号。

  1. 在被信用的OSD节点上停止对应的服务。 服务名为:ceph-osd@
~]$ sudo systemctl stop ceph-osd@0
  1. 再使用ceph命令将该OSD从集群中移除。
~]$ ceph osd purge 0 --yes-i-really-mean-it

注意:此方法不适用于L版本之前的版本。

创建RBD接口

RBD主要是块设备接口,通常RBD为KVM等虚拟化OS提供高并发到有无限可扩展性的后端存储。创建RBD接口需要创建专门用于RBD的存储池,其方法如下。

  1. 创建一个普通存储池。
~]$ ceph osd pool create kvm 32 32
  • kvm:定义一个名为kvm的存储池,并指定pg与pgp都为32。
    1. 将存储池转换为RBD模式。
~]$ ceph osd pool application enable kvm rbd

相当于开启存储池的rbd模式,还有其它模式。

  1. 初始化存储池。
~]$ rbd pool init -p kvm
  1. 创建镜像。
~]$ rbd create img1 --size 10240 --pool kvm
  • img1:指定镜像名称
  • –size:指定镜像大小。
  • –pool:指定创建到哪个pool。
    1. 查看镜像相关信息。
[cephadmin@ceph-monitor-1 ~]$ rbd --image img1 --pool kvm info
rbd image 'img1':
	size 10 GiB in 2560 objects
	order 22 (4 MiB objects)
	id: 85e96b8b4567
	block_name_prefix: rbd_data.85e96b8b4567
	format: 2
	features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
	op_features: 
	flags: 
	create_timestamp: Tue Apr 30 05:25:34 2019

创建radosgw接口

如果使用到类似S3或者Swift接口时候才需要部署,通常用于对象存储OSS,类似于阿里云OSS。

  1. 创建rgw守护进程,可以创建在集群任何节点。
~]$ ceph-deploy rgw create ceph-storage-1

注意:生产环境下此进程一般需要高可用,方法将在以后的文章介绍。创建成功后默认情况下会创建一系列用于rgw的存储池,如。

[cephadmin@ceph-storage-1 ~]$ ceph osd pool ls
testpool
kvm
.rgw.root
default.rgw.control
default.rgw.meta
default.rgw.log
  1. 通过ceph -s查看集群状态,这时候会出现rgw服务。
[cephadmin@ceph-monitor-1 ~]$ ceph -s
  cluster:
    id: 7e1c1695-1b01-4151-beea-70c008cffd8c
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph-monitor-1,ceph-monitor-2,ceph-monitor-3
    mgr: ceph-monitor-2(active), standbys: ceph-monitor-1
    osd: 7 osds: 7 up, 7 in
    rgw: 1 daemon active
 
  data:
    pools:   6 pools, 96 pgs
    objects: 224  objects, 1.8 KiB
    usage:   7.1 GiB used, 313 GiB / 320 GiB avail
    pgs: 96 active+clean
  1. 默认情况下rgw监听7480号端口,在创建完成后日志有会显示。这时候访问该节点的rgw端口,打开如下图所示,说明部署成功。

    创建cephfs接口

    使用CephFS接口需要至少运行一个元数据服务mds实例。

  2. 使用以下命令创建mds实例,可以创建在集群任何节点,这里根据主机说明创建在ceph-monitor-1节点。
~]$ ceph-deploy mds create ceph-monitor-1

创建成功后会在ceph-monitor-1会运行一个ceph-mds的进程。在集群内任何节点内,使用以下命令可以查看mds的运行状态。

[cephadmin@ceph-storage-1 ~]$ ceph mds stat
, 1 up:standby
  1. 创建好mds后,接下来需要创建用于cephfs的数据相关的pool池,和元数据相关的pool池,并将二者进行关联。在集群内任何节点内执行,操作如下。
~]$ ceph osd pool create cehpfs-metadata 64 64
~]$ ceph osd pool create cehpfs-data 64 64	
~]$ ceph fs new cephfs cehpfs-metadata cehpfs-data
  1. 使用下面命令可以查看cephfs运行状态。 ~]$ ceph fs status cephfs 如果State为active说明状态正常。

    集群的停止与启动

  2. 停止。
  3. 告知Ceph集群不要将OSD标记为out。
  4. 停止存储客户端。
  5. 停止网关,例如:对象网关、NFS Ganesha等。
  6. 停止元数据服务mds。
  7. 停止OSD。
  8. 停止Mgr。
  9. 停止Mon。 备注:告知Ceph集群不要将OSD标记为out,可以使用以下命令。
~]$ ceph osd set noout
  1. 启动。 与停止反方向。最后需要告诉Ceph集群可以将OSD标记为out,命令如下。
~]$ ceph osd unset noout