Centos7下Jewel版本radosgw服务启动

前言

本篇介绍了centos7下jewel版本的radosgw配置,这里的配置是指将服务能够正常起来,不涉及到S3的配置,以及其他的更多的配置,radosgw后面的gw就是gateway的意思,也就是我们说的网关的意思,本篇中所提及的实例也就是网关的意思,说实例是将每个单独的网关更细化一点的说法

很多人不清楚在centos7下面怎么去控制这个radosgw网关的服务的控制,这个地方是会去读取配置文件的,所以配置文件得写正确

预备环境

一个完整的集群

拥有一个正常的集群是需要提前准备好的,ceph -s检查正确的输出

关闭各种auth

这个地方也可以不关闭,注意配置好用户认证就可以了,这里关闭了,配置起来方便,我是从来不开的,也避免了新手不会配置用户造成认证的各种异常
关闭认证就是在ceph.conf里面添加下面字段

1
2
3
auth_cluster_required = none
auth_service_required = none
auth_client_required = none

安装ceph-radosgw的包

这个因为默认不会安装,所以要安装好

1
yum install ceph-radosgw

默认启动过程

我们先什么都不配置,看下一般的会怎么处理

启动服务

1
systemctl restart ceph-radosgw.target

检查服务的状态

1
2
3
4
5
6
7
8
9
[root@lab8106 ~]# systemctl status ceph-radosgw.target 
● ceph-radosgw.target - ceph target allowing to start/stop all ceph-radosgw@.service instances at once
Loaded: loaded (/usr/lib/systemd/system/ceph-radosgw.target; enabled; vendor preset: enabled)
Active: active since Mon 2016-09-12 13:13:03 CST; 51s ago

Sep 12 13:13:03 lab8106 systemd[1]: Stopping ceph target allowing to start/stop all ceph-radosgw@.service instances at once.
Sep 12 13:13:03 lab8106 systemd[1]: Reached target ceph target allowing to start/stop all ceph-radosgw@.service instances at once.
Sep 12 13:13:03 lab8106 systemd[1]: Starting ceph target allowing to start/stop all ceph-radosgw@.service instances at once.
Sep 12 13:13:51 lab8106 systemd[1]: Reached target ceph target allowing to start/stop all ceph-radosgw@.service instances at once.

可以看到进程是启动的,没有任何异常

检查端口是否启动

1
[root@lab8106 ~]# netstat -tunlp|grep radosgw

但是并没有生成任何端口,这个是因为还没有配置实例,这个地方就是新手经常卡住的地方

下面开始配置默认单实例

写配置文件

在配置文件 /etc/ceph/ceph.conf的最下面写一个最简配置文件
注意下面的client.radosgw1这个包起来的,这个是固定写法,在 systemctl 启动服务的时候 @ 取后面的radosgw1

1
2
3
[client.radosgw1]
host = lab8106
rgw_content_length_compat = true

启动服务

1
[root@lab8106 ~]# systemctl restart ceph-radosgw@radosgw1

检查服务状态

1
2
3
4
5
6
7
8
9
10
[root@lab8106 ~]# systemctl status ceph-radosgw@radosgw1
● ceph-radosgw@radosgw1.service - Ceph rados gateway
Loaded: loaded (/usr/lib/systemd/system/ceph-radosgw@.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2016-09-12 13:17:34 CST; 17s ago
Main PID: 19996 (radosgw)
CGroup: /system.slice/system-ceph\x2dradosgw.slice/ceph-radosgw@radosgw1.service
└─19996 /usr/bin/radosgw -f --cluster ceph --name client.radosgw1 --setuser ceph --setgroup ceph

Sep 12 13:17:34 lab8106 systemd[1]: Started Ceph rados gateway.
Sep 12 13:17:34 lab8106 systemd[1]: Starting Ceph rados gateway...

检查端口是否启动

1
2
[root@lab8106 ~]# netstat -tunlp|grep radosgw
tcp 0 0 0.0.0.0:7480 0.0.0.0:* LISTEN 19996/radosgw

可以看到默认的端口是7480

配置多个自定义端口实例

写配置文件

在配置文件 /etc/ceph/ceph.conf的最下面写下配置文件

1
2
3
4
5
6
7
8
9
[client.radosgw1]
host = lab8106
rgw_frontends = civetweb port=7481
rgw_content_length_compat = true

[client.radosgw2]
host = lab8106
rgw_frontends = civetweb port=7482
rgw_content_length_compat = true

这个地方配置两个实例,用了不同的名称,用了不同的端口

启动服务

1
2
[root@lab8106 ~]# systemctl restart ceph-radosgw@radosgw1
[root@lab8106 ~]# systemctl restart ceph-radosgw@radosgw2

检查服务状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@lab8106 ~]# systemctl status ceph-radosgw@radosgw1
● ceph-radosgw@radosgw1.service - Ceph rados gateway
Loaded: loaded (/usr/lib/systemd/system/ceph-radosgw@.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2016-09-12 13:20:06 CST; 1min 4s ago
Main PID: 20509 (radosgw)
CGroup: /system.slice/system-ceph\x2dradosgw.slice/ceph-radosgw@radosgw1.service
└─20509 /usr/bin/radosgw -f --cluster ceph --name client.radosgw1 --setuser ceph --setgroup ceph

Sep 12 13:20:06 lab8106 systemd[1]: Started Ceph rados gateway.
Sep 12 13:20:06 lab8106 systemd[1]: Starting Ceph rados gateway...
[root@lab8106 ~]# systemctl status ceph-radosgw@radosgw2
● ceph-radosgw@radosgw2.service - Ceph rados gateway
Loaded: loaded (/usr/lib/systemd/system/ceph-radosgw@.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2016-09-12 13:20:09 CST; 1min 3s ago
Main PID: 20696 (radosgw)
CGroup: /system.slice/system-ceph\x2dradosgw.slice/ceph-radosgw@radosgw2.service
└─20696 /usr/bin/radosgw -f --cluster ceph --name client.radosgw2 --setuser ceph --setgroup ceph

Sep 12 13:20:09 lab8106 systemd[1]: Started Ceph rados gateway.
Sep 12 13:20:09 lab8106 systemd[1]: Starting Ceph rados gateway...

检查端口是否启动

1
2
3
[root@lab8106 ~]# netstat -tunlp|grep radosgw
tcp 0 0 0.0.0.0:7481 0.0.0.0:* LISTEN 20509/radosgw
tcp 0 0 0.0.0.0:7482 0.0.0.0:* LISTEN 20696/radosgw

可以看到服务和端口都能正常的启动了

好了,关于centos7下jewel版本的radosgw配置的启动已经介绍完了,这里不涉及更多深入的东西,其他的东西可以参照其他文档配置即可,这个地方只是对启动服务这里专门的介绍一下

总结

从上面的过程可以看出大致的流程如下

  • 安装软件
  • 启动服务
  • 检查服务状态
  • 检查服务端口

这些很多都是基础的做法,在centos7下面虽然比6做了一些改变,但是掌握了一些通用的排查方法后,是很容易举一反三的,因为看到有新手不熟悉启动,所以写下这篇文章,自己因为也没经常用,所以也写下当个笔记了