安装RADOS gateway(CEPH对象存储)
一、前期准备:
安装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对象存储)相关推荐
- Ceph对象存储的使用
Ceph对象存储 RadosGW的使用 一.介绍 作为文件系统的磁盘,操作系统不能直接访问对象存储.相反,它只能通过应用程序级别的API访问. Ceph是一种分布式对象存储系统,通过Ceph对象网关提 ...
- ceph的数据存储之路(10) -----ceph对象存储的ls命令实现及思考
2019独角兽企业重金招聘Python工程师标准>>> 更新:2016-10-19--------------------------------------- 前面更新的内容可能略 ...
- 【转】Ceph对象存储(rgw)的IPv6环境配置
引言 在搭建成功Ceph集群后,对于如何使用,其实我还是一脸MB的,心想竟然提供三种存储接口(对象,文件,快),口气也未免太大.在结合项目需求之后,我选择了对象存储接口.那么问题又来了,如何配置IPv ...
- Ceph对象存储(rgw)的IPv6环境配置
本文作者: lemon 本文链接: https://lemon2013.github.io/2016/11/09/Ceph对象存储-rgw-IPv6环境配置/ 版权声明: 本博客所有文章除特别声明外, ...
- 应用ceph对象存储(ceph-13.2.10)
记录:335 场景:在CentOS 7.9操作系统上,部署ceph-13.2.10集群.应用ceph对象存储(ceph object store):主要是创建对象存储客户端.使用s3cmd操作对象存储 ...
- ceph对象存储折腾记
2019独角兽企业重金招聘Python工程师标准>>> 前言 一直想弄对象存储,以前弄过一次,不是很理解region是个什么东西,后来时间和工作上的原因没有再折腾,这两天闲了下来,再 ...
- Ceph入门到精通-Ceph之对象存储网关RADOS Gateway(RGW)
一.Ceph整体架构及RGW在Ceph中的位置 1.Ceph的整体架构 Ceph是一个统一的.分布式的的存储系统,具有优秀的性能.可靠性和可扩展性.Ceph支持对象存储(RADOSGW).块存储(RB ...
- Kubernetes 集群基于 Rook 的 Ceph 存储之块设备、文件系统、对象存储
文章目录 1.Rook & Ceph 介绍 2.环境.软件准备 3.Block 块存储 3.1.创建 CephBlockPool.StorageClass 3.2.验证并测试 4.File S ...
- Ceph 认证授权和RBD块存储、对象存储使用(三)
RBD块存储 RBD介绍 1.RBD是Ceph分布式集群中最常用的存储类型 2.块是一个有序字节,普通的一个块大小为512字节,基于块的存储是最常见的存储方式,比如常见的硬盘.软盘和CD光盘等,都是存 ...
最新文章
- c语言结构体输入身高体重,c++:输入n名学生的身高体重,按身高排序输出并计算平均体重和身高...
- Javascript操纵Cookie--转
- ubuntu下如何切换输入法
- 197. 阶乘分解【数论】
- 学计算机的事物多线程看不懂,看不懂CPU?学会看CPU只需明白这5点,如此简单!...
- Oleans集群之Consul再解释
- 变形金刚热映黑客借机“下毒” 用户谨防木马
- 计算机丢失用户名,问下经验人士电脑用户名丢失怎么办
- 使用原生JS封装Ajax
- gulp编译html中的less,使用插件less-plugin-functions让gulp-less支持自定义函数
- 0投入,高收益,门槛低,自媒体副业推荐
- Ubuntu下载压缩文件
- 《一个报文的路由器之旅》学习
- LeetCode 848. Shifting Letters
- larval 策略模式
- 共享流量包FAQ集锦
- UnrealEngine5实操--基础概念(持续补充)
- 使用DISM维护Windows系统
- 关于深度学习移动化的思考
- PHP住院收费系统管理,医院住院管理系统(VB+mssql)
热门文章
- fegin调用为什么要序列化_全方位解析Java的序列化
- 兵团教师计算机水平考试免考条件,兵团职称计算机考试政策.doc
- java获取jndi密码_用JAVA代码获取Weblogic配置的JNDI 数据源连接
- mysql杠杆加号什么意思_对tb_book表中的数据,按ID序号进行升序排列,查询语句是什么?_学小易找答案...
- mysql 绿色版远程访问_【Linux】MySQL解压版安装及允许远程访问
- ssh协议是osi_TCP/IP协议和三次握手四次挥手
- GCC 参数列举及解释
- 26岁想转嵌入式软件开发来得及吗?参加嵌入式培训好不好?
- mysql经典45道题_MySQL45道面试题及答案
- 【数据结构】 哈希表 详解