一 Ceph文件系统

1.1 概述

Ceph 对象网关是一个构建在 librados 之上的对象存储接口,它为应用程序访问Ceph 存储集群提供了一个 RESTful 风格的网关 。
Ceph 对象存储支持 2 种接口:
兼容S3: 提供了对象存储接口,兼容亚马逊S3 RESTful接口的一个大子集。
兼容Swift: 提供了对象存储接口,兼容Openstack Swift接口的一个大子集。
Ceph 对象存储使用 Ceph 对象网关守护进程( radosgw ),一个与 Ceph 存储集群交互的 FastCGI 模块。提供了与 OpenStack Swift 和 Amazon S3 兼容的接口, RADOS 要有它自己的用户管理。 Ceph 对象网关可与 Ceph FS 客户端或 Ceph 块设备客户端共用一个存储集群。 S3 和 Swift 接口共用一个通用命名空间,即可以用一个接口写入数据、然后用另一个接口取出数据。
提示:Ceph 对象存储不使用 Ceph 元数据服务器。
新版Ceph Storage简化Ceph对象网关的安装和配置,Gateway守护程序嵌入Civetweb,因此您不必安装Web服务器或配置FastCGI。此外,ceph-deploy可以安装网关包,生成密钥,配置数据目录并为您创建网关实例。

二 对象存储安装

2.1 切换部署用户

 [root@deploy ~]# su - manager

2.2 添加RGW

 [manager@deploy my-cluster]$ ceph-deploy rgw create node1
提示:要使用Ceph的Ceph对象网关组件,必须部署RGW实例;
默认情况下,RGW实例将侦听端口7480.可以通过在运行RGW的节点上编辑ceph.conf来更改此设置。
注意:若使用ceph-deploy部署的时候出现安装包无法下载,可在部署时候指定ceph.repo为国内源:
 ceph-deploy install --rgw cephclient --repo-url=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc
Civetweb 7480默认使用端口。
 [manager@deploy my-cluster]$ ceph-deploy admin node1
提示:为方便后期deploy节点管理node1,在CLI中使用命令中简化相关key的输出,可将key复制至相应节点。ceph-deploy 工具会把密钥环复制到/etc/ceph目录,要确保此密钥环文件有读权限(如 sudo chmod +r /etc/ceph/ceph.client.admin.keyring )。

2.3 测试访问

浏览器访问:http://172.24.8.72:7480/

三 对象存储使用-S3方式使用

3.1 创建S3网关用户

 [root@cephclient ~]# sudo radosgw-admin user create --uid="rgwuser" --display-name="This is first rgw test user"
 "access_key": "Q0NR1HSL1JQJLXY8LOLF",
"secret_key": "eOkVtFjQjgTjJn12CcxFOIe4CDdVTW0nErJoiLso"
[root@cephclient ~]# yum -y install python-boto #安装测试所需依赖包
 

3.2 创建测试脚本

 [root@cephclient ~]# vim s3.py
#!/usr/bin/python
#****************************************************************#
# ScriptName: s3.py
# Author: xhy
# Create Date: 2019-02-01 22:32
# Modify Author: xhy
# Modify Date: 2019-02-01 22:32
# Version:
#***************************************************************#
import boto
import boto.s3.connection
access_key = 'Q0NR1HSL1JQJLXY8LOLF'
secret_key = 'eOkVtFjQjgTjJn12CcxFOIe4CDdVTW0nErJoiLso'
conn = boto.connect_s3(
aws_access_key_id = access_key,
aws_secret_access_key = secret_key,
host = 'node1', port= 7480,
is_secure=False,
calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
bucket = conn.create_bucket('my-first-s3-bucket')
for bucket in conn.get_all_buckets():
print "{name}\t{created}".format(
name = bucket.name,
created = bucket.creation_date,
)
[root@cephclient ~]# python s3.py #运行脚本
my-first-s3-bucket 2019-02-01T15:14:55.284Z
 
注意:安装所需python-boto 包,使用认证信息连接 S3,然后创建了一个 my-first-s3-bucket 的 bucket,最后列出所有已创建的 bucket,打印名称和创建时间。

四 对象存储使用-SWIFT方式使用

4.1 创建Swift用户

 [root@cephclient ~]# sudo radosgw-admin subuser create --uid=rgwuser --subuser=rgwuser:swift --access=full
     "swift_keys": [
{
"user": "rgwuser:swift",
"secret_key": "yMoTQlEeFmwDw5gojPcJh44G5xpp3gvGItN3GoEE"
}
 

4.2 安装相关依赖包

 [root@cephclient ~]# curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
[root@cephclient ~]# python get-pip.py
[root@cephclient ~]# pip install --upgrade setuptools
[root@cephclient ~]# pip install --upgrade python-swiftclient
 

4.3 测试确认

 [root@cephclient ~]# swift -A http://node1:7480/auth/1.0 -U rgwuser:swift -K 'yMoTQlEeFmwDw5gojPcJh44G5xpp3gvGItN3GoEE' list			#查看相关bucket
my-first-s3-bucket
 
注意:node1:7480 为网关服务器的外网访问 IP 地址,即172.24.8.72主机,端口默认 7480,若已修改端口号,则修改为对应端口。
 
参考链接:http://docs.ceph.org.cn/install/install-ceph-gateway/

006.Ceph对象存储基础使用的更多相关文章

  1. 腾讯云存储专家深度解读基于Ceph对象存储的混合云机制

    背景 毫无疑问,乘着云计算发展的东风,Ceph已经是当今最火热的软件定义存储开源项目.如下图所示,它在同一底层平台之上可以对外提供三种存储接口,分别是文件存储.对象存储以及块存储,本文主要关注的是对象 ...

  2. Ceph对象存储网关中的索引工作原理<转>

    Ceph 对象存储网关允许你通过 Swift 及 S3 API 访问 Ceph .它将这些 API 请求转化为 librados 请求.Librados 是一个非常出色的对象存储(库)但是它无法高效的 ...

  3. 基于LAMP php7.1搭建owncloud云盘与ceph对象存储S3借口整合案例

    ownCloud简介 是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务.当前主要功能包括文件管理(内建文件分享).音乐.日历.联系人等等,可在PC和服务器上运行. 简单来说就是一个基于 ...

  4. Ceph对象存储 S3

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

  5. ceph 对象存储跨机房容灾

    场景分析 每个机房的Ceph都是独立的cluster,彼此之间没有任何关系. 多个机房都独立的提供对象存储功能,每个Ceph Radosgw都有自己独立的命名空间和存储空间. 这样带来两个问题: 针对 ...

  6. ceph对象存储RADOSGW安装与使用

    本文章ceph版本为luminous,操作系统为centos7.7,ceph安装部署方法可以参考本人其他文章. [root@ceph1 ceph-install]# ceph -v ceph vers ...

  7. CEPH 对象存储的系统池介绍

    RGW抽象来看就是基于rados集群之上的一个rados-client实例. Object和pool简述 Rados集群网上介绍的文章很多,这里就不一一叙述,主要要说明的是object和pool.在r ...

  8. ceph对象存储场景

    安装ceph-radosgw [root@ceph-node1 ~]# cd /etc/ceph # 这里要注意ceph的源,要和之前安装的ceph集群同一个版本 [root@ceph-node1 c ...

  9. 直播流怎么存储在Ceph对象存储上? Linux内存文件系统tmpfs(/dev/shm) 的应用

    一./dev/shm理论 默认的Linux发行版中的内核配置都会开启tmpfs,映射到了/dev/下的shm目录.可以通过df 命令查看结果./dev/shm/是linux下一个非常有用的目录,因为这 ...

随机推荐

  1. java.lang.NumberFormatException 错误及解决办法

    package com.geelou.test; public class ErrTest { public static void main(String[] args) { String numS ...

  2. Confluence 6 从一个 XML 备份中导入一个空间

    有下面 2 中方法可以导入一个空间——通过上传一个文件,或者从你 Confluence 服务器上的一个目录中导入.上传文件仅仅是针对一个小站点的情况.为了取得最好的导入结果,我们推荐你从服务器上的目录 ...

  3. Confluence 6 配置 Office 连接器选项

    具有系统管理员权限的用户可以配置 Office 连接器的属性和相关表现. 希望设置 Office 连接器的配置属性: 进入  > 基本配置(General Configuration) > ...

  4. NIO(三)

    使用直接缓冲区完成文件的复制(内存映射文件) package com.cppdy.nio; import java.nio.MappedByteBuffer; import java.nio.chan ...

  5. python(8):面向对象编程

    有三种程序类型: (1)面向过程:按照一定的逻辑顺序,一步步垒代码 (2)面向函数:对用常用的计算,建立函数避免重复 (3)面向对象: 函数的集合,对函数进行分类和封装 (一) 抽象 抽象: 哈巴狗, ...

  6. vue 中动态绑定class 和 style的方法

    先列举一些例子 :class="['content',{'radioModel':checkType}]" :class="['siteAppListDirNode',{ ...

  7. 在vue项目中使用axios发送FormData

    这个是axios的中文文档,挺详细的: https://www.kancloud.cn/luponu/axios/873153 文档中的    使用 application/x-www-form-ur ...

  8. Python生成随机验证码,大乐透号码

    实例笔记之生成随机号码 扩展知识 - yield(生成器) 随机生成验证码 示例代码: import random # 导入标准模块中的random if __name__ == '__main__' ...

  9. 属性(property)的特性(attribute)

    属性:对象中可以保存数据的变量 属性的特性:     数据属性的特性(默认值是false):value.writable(可写否) .enumerable(可否枚举).configurable(可否重 ...

  10. swagger2常用注解说明

    说明: 1.这里使用的版本:springfox-swagger2(2.4)springfox-swagger-ui (2.4) 2.这里是说明常用注解的含义和基本用法(也就是说已经对swagger进行 ...