一、前期准备:

安装RADOS gateway是为了使用对象存储。所以安装RADOS gateway之前,我已经安装好了CEPH,具体请参考我的博客《Ubuntu14.04部署CEPH》。

环境:参照《Ubuntu14.04部署CEPH》用三台Ubuntu14.04在vmware上成功部署了CEPH集群,并且集群健康。此时我们的网络环境就像《Ubuntu14.04部署CEPH》中描述的那样。

root@node1:~# ifconfig

eth0    Link encap:Ethernet  HWaddr00:0c:29:d1:71:cb

inet addr:192.168.107.21  Bcast:192.168.107.255  Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fed1:71cb/64Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1

RXpackets:253503 errors:0 dropped:0 overruns:0 frame:0

TX packets:234416 errors:0 dropped:0overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:95642029 (95.6 MB)  TX bytes:85824464 (85.8 MB)

eth1    Link encap:Ethernet  HWaddr00:0c:29:d1:71:d5

inet addr:192.168.2.21  Bcast:192.168.2.255  Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fed1:71d5/64Scope:Link

UPBROADCAST RUNNING MULTICAST MTU:1500  Metric:1

RX packets:243193errors:0 dropped:53 overruns:0 frame:0

TX packets:16193 errors:0 dropped:0overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:57776861 (57.7 MB)  TX bytes:1340724 (1.3 MB)

………

克隆一台完整的Ubuntu14并修改主机名为node4、ip等信息,为了之后的方便我们将node4添加到集群,最后的效果就是可以通过node4查询集群的状态等信息,仅此而已。相信大家看此教程之前已经部署成功了CEPH,所以添加node4到集群这里不做过多说明。参考《Ubuntu14.04部署CEPH》或许可以给你足够灵感。其中最重要的一步就是把配置文件拷贝到node4上。

root@node1:~#ceph-deploy admin node4

添加成功后,我们可以在node4节点上查看集群相关信息。

root@node4:~#ceph -s

clusterff527224-f4bf-4b5a-8180-e4d381cdb522

health HEALTH_OK

monmap e1: 1 mons at{node1=192.168.107.21:6789/0}, election epoch 2, quorum 0 node1

osdmap e65: 3 osds: 3 up, 3 in

pgmap v371: 2395 pgs, 8 pools, 1412 bytesdata, 47 objects

143 MB used, 45903 MB / 46046 MBavail

2395 active+clean

root@node4:~#ceph osd tree

# idweight   typename     up/down       reweight

-1    0.02998rootdefault

-2    0.009995             hostnode1

0     0.009995                    osd.0      up   1

-3    0.009995             hostnode2

1     0.009995                    osd.1      up   1

-4    0.009995             hostnode3

2     0.009995                    osd.2      up   1

二、接下来我们开始在node4主机上安装RADOS gateway

1、配置rados源

wget -q -O-https://raw.github.com/ceph/ceph/master/keys/autobuild.asc | sudo apt-key add -

echo debhttp://gitbuilder.ceph.com/apache2-deb-$(lsb_release-sc)-x86_64-basic/ref/master $(lsb_release -sc) main | sudo tee/etc/apt/sources.list.d/ceph-apache.list

echo debhttp://gitbuilder.ceph.com/libapache-mod-fastcgi-deb-$(lsb_release -sc)-x86_64-basic/ref/master $(lsb_release -sc) main | sudo tee/etc/apt/sources.list.d/ceph-fastcgi.list

2、安装radosgw软件

apt-getupdate

apt-get install apache2libapache2-mod-fastcgi radosgw –y

注意:更新源之后,这里执行apt-get update会报错误,我们自动忽略它。一般情况下不影响下面的安装

3、给RADOS网关创建密钥

注意:如果大家和我的主机名一致,并且是第一次安装,以下的$HOMENAME则用node4代替。

ceph-authtool--create-keyring /etc/ceph/ceph.client.radosgw.$HOMENAME.keyring

chmod +r /etc/ceph/ceph.client.radosgw.$HOMENAME.keyring

4、创建一个密钥用于RADOS到集群的认证

ceph-authtool/etc/ceph/ceph.client.radosgw.$HOMENAME.keyring -n client.radosgw.$HOMENAME--gen-key

ceph-authtool -n client.radosgw.$HOMENNAME--cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph /ceph.client.radosgw. $HOMENAME.keyring

5、把密钥添加到ceph密钥

ceph -k /etc/ceph/ceph.client.admin.keyringauth add client.radosgw.$HOMENAME -i /etc/ceph /ceph.client.radosgw. $HOMENAME.keyring

6、修改ceph配置文件

root@node4:~# vim /etc/ceph/ceph.conf

[client.radosgw.node4]

host = node4

keyring =/etc/ceph/ceph.client.radosgw.node4.keyring

rgw socket path = /tmp/radosgw.sock

log file = /var/log/ceph/radosgw.node4.log

rgw dns name = node4

说明:keyring = /etc/ceph/ceph.client.radosgw.node4.keyring ,因为本次在创建的各种秘钥是node4,如果在其他节点上创建过,也可以用其他的keyring

7、添加FastCGI脚本

root@node4:~# vim /var/www/s3gw.fcgi

#!/bin/sh

exec /usr/bin/radosgw -c/etc/ceph/ceph.conf -n client.radosgw.node4

添加执行权限:

chmod +x /var/www/s3gw.fcgi

8、创建网关配置文件(rgw.conf)

root@node4:~# vim/etc/apache2/sites-available/rgw.conf

FastCgiExternalServer /var/www/s3gw.fcgi-socket /tmp/radosgw.sock

<VirtualHost *:80>

ServerName node4

DocumentRoot /var/www

RewriteEngine On

RewriteRule ^/(.*) /s3gw.fcgi?%{QUERY_STRING}[E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

<IfModule mod_fastcgi.c>

<Directory /var/www>

Options +ExecCGI

AllowOverride All

SetHandler fastcgi-script

Order allow,deny

Allow from all

AuthBasicAuthoritative off

</Directory>

</IfModule>

AllowEncodedSlashes on

ErrorLog /var/log/apache2/error.log

CustomLog /var/log/apache2/access.log combined

ServerSignatureoff

</VirtualHost>

9、apache2添加ServerName

root@node4:~# vim /etc/apache2/apache2.conf

ServerName node4

10、加载模块和禁用默认站点启动rgw站点

a2enmod rewrite

a2enmod fastcgi

a2ensite rgw.conf

a2dissite 000-default

11、启动服务

service ceph restart

service apache2 restart

/etc/init.d/radosgw start

12、根据官方文档,补充步骤:

mkdir -p/var/lib/ceph/radosgw/ceph-radosgw.gateway

chown www-data:www-data /var/run/ceph

touch /var/log/ceph/radosgw.node4.log

chown www-data:www-data /var/log/ceph/radosgw.node4.log

/etc/init.d/radosgw start

/etc/init.d/apache2 start

申明:本文是学习了耿航老师的《Ceph分布式存储运维实践视频课程》之后整理出来,并添加了自己一知半解。感谢耿航等三位老师!!!

转载于:https://blog.51cto.com/11433696/1852686

安装RADOS gateway(CEPH对象存储)相关推荐

  1. Ceph对象存储的使用

    Ceph对象存储 RadosGW的使用 一.介绍 作为文件系统的磁盘,操作系统不能直接访问对象存储.相反,它只能通过应用程序级别的API访问. Ceph是一种分布式对象存储系统,通过Ceph对象网关提 ...

  2. ceph的数据存储之路(10) -----ceph对象存储的ls命令实现及思考

    2019独角兽企业重金招聘Python工程师标准>>> 更新:2016-10-19--------------------------------------- 前面更新的内容可能略 ...

  3. 【转】Ceph对象存储(rgw)的IPv6环境配置

    引言 在搭建成功Ceph集群后,对于如何使用,其实我还是一脸MB的,心想竟然提供三种存储接口(对象,文件,快),口气也未免太大.在结合项目需求之后,我选择了对象存储接口.那么问题又来了,如何配置IPv ...

  4. Ceph对象存储(rgw)的IPv6环境配置

    本文作者: lemon 本文链接: https://lemon2013.github.io/2016/11/09/Ceph对象存储-rgw-IPv6环境配置/ 版权声明: 本博客所有文章除特别声明外, ...

  5. 应用ceph对象存储(ceph-13.2.10)

    记录:335 场景:在CentOS 7.9操作系统上,部署ceph-13.2.10集群.应用ceph对象存储(ceph object store):主要是创建对象存储客户端.使用s3cmd操作对象存储 ...

  6. ceph对象存储折腾记

    2019独角兽企业重金招聘Python工程师标准>>> 前言 一直想弄对象存储,以前弄过一次,不是很理解region是个什么东西,后来时间和工作上的原因没有再折腾,这两天闲了下来,再 ...

  7. Ceph入门到精通-Ceph之对象存储网关RADOS Gateway(RGW)

    一.Ceph整体架构及RGW在Ceph中的位置 1.Ceph的整体架构 Ceph是一个统一的.分布式的的存储系统,具有优秀的性能.可靠性和可扩展性.Ceph支持对象存储(RADOSGW).块存储(RB ...

  8. Kubernetes 集群基于 Rook 的 Ceph 存储之块设备、文件系统、对象存储

    文章目录 1.Rook & Ceph 介绍 2.环境.软件准备 3.Block 块存储 3.1.创建 CephBlockPool.StorageClass 3.2.验证并测试 4.File S ...

  9. Ceph 认证授权和RBD块存储、对象存储使用(三)

    RBD块存储 RBD介绍 1.RBD是Ceph分布式集群中最常用的存储类型 2.块是一个有序字节,普通的一个块大小为512字节,基于块的存储是最常见的存储方式,比如常见的硬盘.软盘和CD光盘等,都是存 ...

最新文章

  1. c语言结构体输入身高体重,c++:输入n名学生的身高体重,按身高排序输出并计算平均体重和身高...
  2. Javascript操纵Cookie--转
  3. ubuntu下如何切换输入法
  4. 197. 阶乘分解【数论】
  5. 学计算机的事物多线程看不懂,看不懂CPU?学会看CPU只需明白这5点,如此简单!...
  6. Oleans集群之Consul再解释
  7. 变形金刚热映黑客借机“下毒” 用户谨防木马
  8. 计算机丢失用户名,问下经验人士电脑用户名丢失怎么办
  9. 使用原生JS封装Ajax
  10. gulp编译html中的less,使用插件less-plugin-functions让gulp-less支持自定义函数
  11. 0投入,高收益,门槛低,自媒体副业推荐
  12. Ubuntu下载压缩文件
  13. 《一个报文的路由器之旅》学习
  14. LeetCode 848. Shifting Letters
  15. larval 策略模式
  16. 共享流量包FAQ集锦
  17. UnrealEngine5实操--基础概念(持续补充)
  18. 使用DISM维护Windows系统
  19. 关于深度学习移动化的思考
  20. PHP住院收费系统管理,医院住院管理系统(VB+mssql)

热门文章

  1. fegin调用为什么要序列化_全方位解析Java的序列化
  2. 兵团教师计算机水平考试免考条件,兵团职称计算机考试政策.doc
  3. java获取jndi密码_用JAVA代码获取Weblogic配置的JNDI 数据源连接
  4. mysql杠杆加号什么意思_对tb_book表中的数据,按ID序号进行升序排列,查询语句是什么?_学小易找答案...
  5. mysql 绿色版远程访问_【Linux】MySQL解压版安装及允许远程访问
  6. ssh协议是osi_TCP/IP协议和三次握手四次挥手
  7. GCC 参数列举及解释
  8. 26岁想转嵌入式软件开发来得及吗?参加嵌入式培训好不好?
  9. mysql经典45道题_MySQL45道面试题及答案
  10. 【数据结构】 哈希表 详解