使用ceph-deploy安装Ceph 12.x(四) 块设备和对象存储

接上篇:使用ceph-deploy安装Ceph 12.x(三) 安装Ceph集群

之前的几篇文章,已经把一个Ceph集群部署好了。但是用户如何使用呢?
这篇文章主要就是初步解决这个问题:有两种方式,客户机(ceph client)通过mount块设备或使用对象存储API来进行数据的存取。

块设备(Block Device)

可以使用一台虚拟机作为ceph client节点。但如果你的Ceph node是物理机的话,不要那些物理机上创建这台虚机。

1. 安装Ceph

首先要确保是Linux kernel以及合适的版本。

在admin node上运行以下命令,将Ceph安装到ceph-client node上:

ceph-deploy install ceph-client 

注意:
1. 这里的ceph-client就是ceph client的主机名,可配置在admin node的/etc/hosts中。
2. 若遇到找不到RPM-GPG-KEY-EPEL-7的错误,可参见拙作:解决RPM-GPG-KEY-EPEL-7错误

然后,运行以下命令将Ceph配置文件和ceph.client.admin.keyring拷贝到ceph-client上。

ceph-deploy admin ceph-client

注意:
ceph.client.admin.keyring被拷贝到了ceph-client的/etc/ceph目录下,要保证它有可读权限:

chmod +r /etc/ceph/ceph.client.admin.keyring

2. 创建一个块设备的pool

在之前的文章中,已经创建了一个叫做mypool的pool,现在需要运行以下命令以使得该pool可以作为RBD使用:

rbd pool init mypool 

3. 配置一个block device(块设备)

Step 1. 在ceph-client上,创建一个block device image

其实就是创建一个rbd(卷)

rbd create foo --pool mypool --size 4096 --image-feature layering -m 192.168.30.3 -k /etc/ceph/ceph.client.admin.keyring

如要查看所创建的rbd,可以这样:

rbd info foo -p mypool

Step 2. 将该image(即rbd)映射到一个block device上

rbd map mypool/foo --name client.admin -m 192.168.30.3 -k /etc/ceph/ceph.client.admin.keyring
/dev/rbd0    # 执行结果

Step 3. 在该block device上创建文件系统

mkfs.ext4 -m0 /dev/rbd0

Step 4. Mount文件系统到ceph-client

mkdir /mnt/cephbd
mount /dev/rbd0 /mnt/cephbd
cd /mnt/cephbd

注意:
这里的rbd map和mount命令只是当时起作用。若系统重启了,则需要重新手动做。 若要开机自动做,可参考官方文档:rbdmap manage

对象存储之 Ceph Object Gateway

Gateway daemon 内嵌了 Civetweb,因此不用再安装web server了。
Civetweb默认使用7480端口。所以,或者使防火墙开放该端口,或者在ceph.conf文件中将该端口改为其他端口(如80)。

安装Ceph Object Gateway

ceph-deploy install --rgw ceph-client

在ceph-client上创建 Ceph Object Gateway 实例

在working directory下运行(即前文所述的my-cluster目录)

ceph-deploy rgw create ceph-client

一旦gateway开始running,就可以通过 http://{IP}:7480 来访问。
看到的是如下的内容:



anonymous




(完)

你可能感兴趣的:(存储,Ceph,存储)