ceph对象存储(rgw)服务、高可用安装配置

本文档详细介绍了如何在CentOS 7环境下安装和配置Ceph对象存储服务(rgw),包括高可用性设置,以及通过Apache和Nginx实现负载均衡。内容涵盖Apache FastCGI配置、SSL证书安装、radosgw服务启动、池创建、日志文件设置等步骤,并提供了多节点负载均衡的Nginx配置示例。
摘要由CSDN通过智能技术生成

ceph对象存储服务、高可用安装配置

简介:
    Ceph本质上就是一个rados,利用命令rados就可以访问和使用ceph的对象存储,但作为一个真正产品机的对象存储服务,通常使用的是Restfulapi的方式进行访问和使用。而radosgw其实就是这个作用,安装完radosgw以后,就可以使用api来访问和使用ceph的对象存储服务了。
    首先明白一下架构,radosgw其实名副其实,就是rados的一个网关,作用是对外提供对象存储服务。本质上radosgw(其实也是一个命令)和rbd命令一样,其实是ceph集群的客户端。只不过,radosgw即作为rados的客户端,同时又提供http restful接口,作为服务端供用户使用。Radosgw对用户而言就是一个http restful的应用,因此本质上来讲,对其进行使用就是通过http的方式,但显然每次都要用户构建http访问的url和headers不是一个很方便的方式,因此radosgw兼容了通用的对象存储接口,分别是亚马逊的s3和openstack的swift,这也就是说你可以用swift或者s3的客户端来访问radosgw。
    Radosgw包含两个命令行工具:
    一个是radosgw,这个是用来启动radosgw服务的脚b本,是一个二进制文件;
    另外一个是radosgw-admin,这是用来管理radosgw的账号的一个命令行工具,主要用来创建、查看、修改radosgw的账号信息。

注意,radowgw的账号信息仅仅是对radosgw的用户而言,这个和ceph中的用户不是一个概念。
    Radosgw作为ceph集群(rados)的客户端,因此他在ceph中有一个账号,通常叫做client.radosgw.gateway。在启动radosgw这个服务时,会读取ceph.conf中[client.radosgw.gateway]这个section。

RGW业务处理流程:

http reqest --> apache 转 FastCgi module

FastCgi module --> radosgw  通过socket请求实现

radosgw --> ceph集群  通过socket实现,调用rados接口


一:配置部署环境介绍:
1:系统版本:
[root@node242 ~]# more /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)

2:内核版本:
[root@node242 ~]# uname  -a
Linux node242 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

3:ceph 版本:
[root@node242 ~]# ceph --version
ceph version 0.94.5 (9764da52395923e0b32908d83a9f7304401fee43)

4:集群节点数和osd 情况:
[root@node242 ~]# ceph osd tree
ID WEIGHT  TYPE NAME            UP/DOWN REWEIGHT PRIMARY-AFFINITY
-6       0 host node01                                            
-1 1.35999 root default                                           
-2 0.09000     host ceph-deploy                                   
 0 0.09000         osd.0             up  1.00000          1.00000
-3 0.09000     host node241                                       
 1 0.09000         osd.1             up  1.00000          1.00000
-4 0.09000     host node242                                       
 2 0.09000         osd.2             up  1.00000          1.00000
-5 1.00000     host node243                                       
 3 1.00000         osd.3             up  1.00000          1.00000
-7 0.09000     host node245                                       
 5 0.09000         osd.5             up  1.00000          1.00000
 
 
 二:部署
1:安装Apache服务
    在Apache 2.4发行版(如RHEL 7,CentOS7),mod_proxy_fcgi默认已经会安装。 httpd 安装完成,mod_proxy_fcgi可用的服务器上使用。

yum install httpd -y

2:修改httpd服务,先清理一下配置文件的无用注释;
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
sed -i '/^#/d' /etc/httpd/conf/httpd.conf

vim /etc/httpd/conf/httpd.conf

修改配置中的LISTEN字段,将网关所在主机的IP地址添加进去

Listen 192.168.2.42:80

添加ServerName项,添加上自己服务器的IP地址

ServerName 192.168.2.42:80

3:在配置尾部增加如下信息,加载mod_proxy_fcgi
首先确认一下模块存在
[root@node242 ~]# ll /etc/httpd/modules/mod_proxy_fcgi.so
-rwxr-xr-x 1 root root 19360 Nov 20 05:44 /etc/httpd/modules/mod_proxy_fcgi.so

添加内容如下:

<IfModule !proxy_fcgi_module>
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
</IfModule>

4:重启apache服务

systemctl start httpd

5:配置apache ssl配置
    此选项主要为了对应,一些resetful客户端默认使用https;如果公司有信任机构颁发的证书,可以直接使用,如果没有可以自己做一个自认证的证书,网上有很多配置参考文档,本次演示直接使用公司的正式ssl证书。

6:安装apache ssl证书相关依赖软件包安装

yum install mod_ssl openssl -y

##########################
需要做自签名证书的参照信息如下:
http://docs.ceph.com/docs/master/install/install-ceph-gateway/
Enable SSL  ==》步骤 2~6
############################

7:上传公司ssl证书到服务器 (本次演示直接使用公司的正式ssl证书)

[root@node242 ceph]# ll
-rw-r--r-- 1 root root 6335 Dec 23 15:48 ptengine.cn.crt
-rw-r--r-- 1 root root 1704 Dec 23 15:48 ptengine.cn.key

copy文件到相关目录
cp -rp ptengine.cn.crt  /etc/pki/tls/certs/ptengine.cn.crt
cp -rp ptengine.cn.key /etc/pki/tls/private/ptengine.cn.key

验证文件是否就位
ll  /etc/pki/tls/certs/ptengine.cn.crt
ll /etc/pki/tls/private/ptengine.cn.key

8:配置文件修改/etc/httpd/conf.d/ssl.conf
首先清理配置文件注释项;
cp -rp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bak

sed -i '/^#/d' /etc/httpd/conf.d/ssl.conf

9:修改配置项如下:
vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile  /etc/pki/tls/certs/ptengine.cn.crt
SSLCertificateKeyFile /etc/pki/tls/private/ptengine.cn.key


10:配置修改完成,重启apache
systemctl restart httpd

三:安装Ceph对象存储网关服务
    ceph网关其实是ceph集群的一个客户端,用户通过这个网关间接访问ceph集群,

1:软件包安装:
yum install ceph-radosgw -y

2:配置Ceph的对象存储准备信息

    ceph网关其实是ceph集群的一个客户端,用户通过这个网关间接访问ceph集群,作为客户端,它需要准备如下内容:
网关名称,此处用gateway称呼、
一个可以访问存储集群的用户以及对应的KEYRING
数据资源池,这个由ceph集群提供
为网关服务示例准备一个数据存放空间
在ceph.conf配置文件中设置gateway信息

3:创建访问用户及权限设置
创建gateway keyring,
ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring
chmod +r /etc/ceph/ceph.client.radosgw.keyring

4:创建网关用户名以及key 此处名字为 client.radosgw.gateway
ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.radosgw.gateway --gen-key

5:验证:
[root@node242 ceph]# more ceph.client.radosgw.keyring
[client.radosgw.gateway]
        key = AQBXI3lWoOC7MBAAWMHg+sNAelf8S3Hm3S5BiQ==

6:为KEYRING添加权限
ceph-authtool -n client.radosgw.gateway --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring

7:验证授权:
[root@node242 ceph]# more ceph.client.radosgw.keyring
[client.radosgw.gateway]
        key = AQBXI3lWoOC7MBAAWMHg+sNAelf8S3Hm3S5BiQ==
        caps mon = "allow rwx"
        caps osd = "allow rwx"
        

8:将key添加到集群中
ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.radosgw.gateway -i /etc/ceph/ceph.client.radosgw.keyring


备注:如果想在多节点安装对象存储

Ceph RGW(Rados Gateway)是Ceph存储系统中提供对象存储服务的组件。它允许用户通过HTTP协议以对象的形式存储和检索数据。 Ceph RGW是一个分布式的、高可用的存储解决方案,它将数据分散保存在多个物理节点上,提供了可靠的数据冗余和容错能力。通过数据的分散,RGW能够实现高并发的访问和高吞吐量的数据传输,从而满足大规模的存储需求。 在Ceph RGW中,数据以对象的形式存储,每个对象都有一个唯一的标识符和元数据信息,可以通过它们进行快速的检索和访问。对象可以以任意格式存储,如文本、图片、视频等。通过提供RESTful风格的API,RGW使得开发者能够方便地访问和操作存储在其中的对象。 RGW支持多租户的机制,可以为不同的用户或应用程序提供独立的存储空间和访问权限。它还提供了访问控制机制,可以通过身份验证、访问策略等方式,限制对象的访问权限,并保证数据的安全性。 另外,Ceph RGW还具有自动化的数据迁移和负载均衡功能,可以根据数据的访问模式和负载情况,自动调整数据的存储位置和副本数量,以实现最佳的性能和可用性。 综上所述,Ceph RGW是一款功能强大、可靠性高的对象存储服务,适用于大规模存储和分发数据的场景。它提供了高并发、高吞吐量的数据访问和传输能力,以及安全性、可扩展性等方面的优势,成为当今对象存储领域的一种重要解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值