第⑦讲:Ceph集群RGW对象存储核心概念及部署使用

news2025/2/25 21:24:58

文章目录

    • 1.RadosGW对象存储核心概念
      • 1.1.什么是RadosGW对象存储
      • 1.2.RGW对象存储架构
      • 1.3.RGW对象存储的特点
      • 1.4.对象存储中Bucket的特性
      • 1.4.不同接口类型的对象存储访问对比
    • 2.在集群中部署RadosGW对象存储组件
      • 2.1.部署RGW组件
      • 2.2.集群中部署完RGW组件后观察集群的信息状态
      • 2.3.修改RGW对象存储的默认监听端口

1.RadosGW对象存储核心概念

RADOSGW对象存储官方文档:https://docs.ceph.com/en/pacific/radosgw/

1.1.什么是RadosGW对象存储

Ceph RadosGW是对象存储的一种实现方式,简称RGW,Rados网关也被称为Ceph对象网关,RadosGW使客户端能够利用标准的对象存储API接口来访问Ceph集群进行存储数据。

RGW对象存储支持两种风格的对象存储API接口:

  • AWS S3:与亚马逊云的S3对象存储API接口兼容。
  • OpenStack Swift:与OpenStack的Swift的API接口兼容,提供对象存储功能。

RGW对象存储提供RESTful API类型的接口,如果有类似阿里云等对象存储的可视化接口,可以直接在图形化界面操作对象存储。

无论哪种类型的API接口,最终都会通过RadosGW服务奖数据写入到Ceph集群的OSD里,并且这些接口都会对应一个资源池,也就是说无论使用哪种类型的API接口,都可以读取到来自其他API接口写入的数据。

RadosGW在之前的版本中,是使用CIVETWEB提供的API访问。

1.2.RGW对象存储架构

Ceph集群的对象存储功能主要是有RadosGW组件来实现的,支持S3和Swift两种风格的API接口,当然也支持自定义的API接口类型,用户在对象存储写入数据时,由RadosGW处理用户的请求,然后通过Librados库将数据写入到Ceph集群的OSD中。

客户端是基于HTTP或者HTTPS协议通过RESTful API与RGE进行通信,RGW则使用Librados库与Ceph集群进行通信,通过接口API的身份验证,最终将数据写入到OSD中。
在这里插入图片描述

1.3.RGW对象存储的特点

  • 通过对象存储的方式在Ceph集群中存储数据,文件也会被拆分成多个对象,每个对象文件除了包含数据意外,还会包含数据自身的元数据信息,并且如果是大文件,在写入到Ceph集群时,还会被切片,写入到集群后再进行重组。
  • 写入到对象存储的数据文件,无法使用文件的路径名称在服务器中找到,只能通过API来访问数据文件。
  • 对象存储中的Object文件是存储在一种扁平的空间中,叫做Bucket,用于资源隔离。
  • ceph使用Bucket作为对象存储的存储桶,Bucket需要被授权才能访问到,可以起到多用户对数据文件的访问隔离,数据都是存储在Bucket空间里的,用户的权限也是针对Bucket进行授权,用户可以对不同的Bucket拥有不同的权限。
  • 不支持客户端挂载,客户端通过HTTP或者HTTPS访问对象文件。
  • 不适用频繁修改和删除的场景,存储静态文件的场景居多。

1.4.对象存储中Bucket的特性

Bucket称为存储空间,所有对象存储中的文件必须隶属于某个Bucket存储空间,可以对存储空间设置控制地域、访问权限、生命周期等等。

每个用户可以拥有多个Bucket存储空间,一个存储空间内部是扁平的,没有文件系统的目录概念,所有的对象文件都直接隶属于对应的存储空间。

存储空间的名称在集群中必须是全局唯一,一旦创建无法修改。

存储空间中的对象条目没有限制。

Bucket存储空间的命名规范:只能包括大小写字母、数字和短横线,必须以小写字母或者数字开头和结尾,长度必须在3-63字节之间。

1.4.不同接口类型的对象存储访问对比

  • Amazon S3:提供了user、bucket和object,分别表示为用户、存储桶和对象,其中bucket隶属于user,可以这对user设置不同bucket的名称空间访问权限,而且不用用户允许访问相同的bucket。
  • OpenStack Swift:提供了user、container和object,分别对应于用户、存储桶和对象,不过它还额外为user提供了父级组件account,用于表示一个项目或租户,因此一个account中它包含一个到多个user,他们可共享使用同一组container,并为container提供名称空间。
  • RadosGW:提供了user、subuser、bucket和object,其中的user对应S3的user,而subuser则对应于Swif的user,不过user和subuser都不支持为bucket提供名称空间,因此,不同用户的存储桶也不允许同名,不过自Jewel版本起,RadosGW引入了tenant(租户)用于为user和bucket提供名称空间,但它是个可选组件,RadosGW基于ACL为不同的用户设置不用的权限。
    • Read 读加执行权限
    • Write 写权限
    • Readwrite 只读
    • full-control 全部控制权限

2.在集群中部署RadosGW对象存储组件

2.1.部署RGW组件

1)安装RadosGW组件

[root@ceph-node-1 ceph-deploy]# yum -y install ceph-radosgw

2)将ceph-node-1节点配置成集群中的RGW节点

[root@ceph-node-1 ~]# cd /data/ceph-deploy/
[root@ceph-node-1 ceph-deploy]# ceph-deploy rgw create ceph-node-1

在这里插入图片描述

3)查看RGW组件启动的进程以及端口号

[root@ceph-node-1 ~]# systemctl status ceph-radosgw@rgw.ceph-node-1
 
[root@ceph-node-1 ~]# ps aux | grep rgw
ceph       23900  0.3  0.9 5145796 36944 ?       Ssl  22:53   0:00 /usr/bin/radosgw -f --cluster ceph --name client.rgw.ceph-node-1 --setuser ceph --setgroup ceph
root       24522  0.0  0.0 147032  1580 pts/1    S+   22:53   0:00 journalctl -u ceph-radosgw@rgw.ceph-node-1 -f
root       24584  0.0  0.0 112720   980 pts/2    S+   22:55   0:00 grep --color=auto rgw

[root@ceph-node-1 ~]# netstat -lnpt | grep 7480
tcp        0      0 0.0.0.0:7480            0.0.0.0:*               LISTEN      23900/radosgw       
tcp6       0      0 :::7480                 :::*                    LISTEN      23900/radosgw       

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PjcOdMDC-1679360416505)(G:\01-运维技术文档整理\Ceph分布式存储\08-Ceph集群RGW对象存储核心概念及使用.assets\image-20220402225722481.png)]

4)可以简单的访问下RGW提供的API接口

在这里插入图片描述

2.2.集群中部署完RGW组件后观察集群的信息状态

[root@ceph-node-1 ~]# ceph -s
  cluster:
    id:     a5ec192a-8d13-4624-b253-5b350a616041
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph-node-1,ceph-node-2,ceph-node-3 (age 49m)
    mgr: ceph-node-1(active, since 45m), standbys: ceph-node-2, ceph-node-3
    osd: 6 osds: 6 up (since 6m), 6 in (since 6m)
    rgw: 1 daemon active (ceph-node-1)				#可以看到在这里多了一个RGW组件
 
  task status:
 
  data:
    pools:   5 pools, 256 pgs
    objects: 190 objects, 1.2 KiB
    usage:   6.0 GiB used, 54 GiB / 60 GiB avail
    pgs:     256 active+clean

2.3.修改RGW对象存储的默认监听端口

RGW的默认端口是7380,像这种通过WEB方式访问的程序,最好是使用80端口。

RGW的端口号在配置文件中进行指定,我们只需要修改ceph-deploy生成的ceph.conf文件就可以,然后推送给各个节点。

1.修改ceph的配置文件,指定rgw使用的端口号
[root@ceph-node-1 ~]# cd /data/ceph-deploy/
[root@ceph-node-1 ceph-deploy]# vim ceph.conf 
[global]
fsid = a5ec192a-8d13-4624-b253-5b350a616041
public_network = 192.168.20.0/23
cluster_network = 192.168.30.0/23
mon_initial_members = ceph-node-1, ceph-node-2, ceph-node-3
mon_host = 192.168.20.20,192.168.20.21,192.168.20.22
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

[client.rgw.ceph-node-1] 				#指定RGW节点的节点名称
rgw_frontends = "civetweb port=80"				#port后面跟端口号

2.将配置文件推送到集群的所有节点中
[root@ceph-node-1 ceph-deploy]# ceph-deploy --overwrite-conf config push ceph-node-1 ceph-node-2 ceph-node-3 

在这里插入图片描述

3.重启RGW组件
[root@ceph-node-1 ceph-deploy]# systemctl restart ceph-radosgw.target

4.查看RGW的端口号
[root@ceph-node-1 ceph-deploy]# netstat -lnpt | grep radosgw
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      24837/radosgw  

在浏览器中也可以访问。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/427568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2023】Kubernetes之Pod与容器状态关系

目录简单创建一个podPod运行阶段:容器运行阶段简单创建一个pod apiVersion: v1 kind: pod metadata: name: nginx-pod spec:containers:- name: nginximages: nginx:1.20以上代码表示创建一个名为nginx-pod的pod资源对象。 Pod运行阶段: Pod创建后&am…

搜索引擎测试报告

文章目录一、项目背景二、项目功能三、测试目的四、测试环境五、测试计划1、功能测试2、自动化测试六、测试结果一、项目背景 java官方文档是我们在学习java语言中不可或缺的权威资料。相比于各种网站的Java资料,官方文档无论是语言表达还是组织方式都要更加全面和…

ThingsBoard开源物联网平台智慧农业实例快速部署教程(Ubuntu、CentOS适用)

ThingsBoard部署教程文档 文章目录ThingsBoard部署教程文档1. JDK环境安装2. 安装thingsBoard2.1 ThingsBoard软件包安装2.2 PostgreSQL安装2.3 PostgreSQL初始化配置3. 修改ThingsBord的配置4. 运行安装脚本测试5. 访问测试6. 导入一个仪表盘库6.1 导出仪表盘并导入自己的项目…

Spring —— Spring Boot 配置文件

JavaEE传送门JavaEE Spring —— Bean 作用域和生命周期 Spring —— Spring Boot 创建和使用 目录Spring Boot 配置文件Spring Boot 配置文件格式properties配置文件properties 基本语法properties 缺点yml 配置文件yml 基本语法yml 配置不同类型数据及 nullyml 配置对象yml…

【SQL Server】数据库开发指南(一)数据库设计

文章目录一、数据库设计的必要性二、什么是数据库设计三、数据库设计的重要性五、数据模型5.1 实体-关系(E-R)数据模型5.2 实体(Entity)5.3 属性(Attribute)5.5 关系(Relationship)六…

windows搭建ftp及原理(小白向)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录环境一、实验步骤1.1安装ftp二、ftp实验引发的思考1.简单阐述ftp的原理2.ftp建立的流程总结环境 windwos任意环境不需要server windows10 提示:以下是本…

〖Python网络爬虫实战⑤〗- Session和Cookie介绍

订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费…

Linux的诞生过程

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。座右铭:海不辞水,故能成其大;山不辞石,故能成其高。个人主页:小李会科技的…

走近阿里Apsara Clouder云计算的蓝图

文章目录一:"什么是Apsara Clouder 云计算"二:"Apsara Clouder 云计算"厉害在哪里?三:"Apsara Clouder 云计算"认证一:“什么是Apsara Clouder 云计算” 💖💖 A…

【云原生Docker】09-Docker网络详解

【云原生|Docker】09-Docker网络详解 文章目录【云原生|Docker】09-Docker网络详解前言网络详解bridge网络基于bridge网络的容器访问外部网络外部网络访问基于bridge网络的容器host网络none网络container网络自定义网络自定义bridge网络容器的互通两个相同的bridge网络容器互通…

多层多输入的CNN-LSTM时间序列回归预测(卷积神经网络-长短期记忆网络)——附代码

目录 摘要: 卷积神经网络(CNN)的介绍: 长短期记忆网络(LSTM)的介绍: CNN-LSTM: Matlab代码运行结果: 本文Matlab代码数据分享: 摘要: 本文使用CNN-LSTM混合神经网…

spring快速连接mybatis

spring快速连接mybatisspring整合mybatis1.maven依赖配置2.数据库sql设计3.数据库连接配置4.实体类设计5.Dao层开发6.SqlMapConfig.xml7.运行程序进行crudspring整合mybatis 1.maven依赖配置 配置pom.xml如下 <?xml version"1.0" encoding"UTF-8"?…

【机器学习】P6 逻辑回归的 损失函数 以及 梯度下降

逻辑回归的损失函数 以及 梯度下降逻辑回归的损失函数逻辑回归的 Loss逻辑回归的 Cost逻辑回归的梯度下降总公式推导公式梯度下降动画效果展示Reference逻辑回归的损失函数 逻辑回归的 Loss 逻辑回归是一种用于二分类问题的监督学习算法&#xff0c;其损失函数采用交叉熵&…

ChatGPT研究报告:AIGC带来新一轮范式转移

本文约4000字&#xff0c;目标是快速建立AIGC知识体系&#xff0c;含有大量的计算专业名词&#xff0c;建议阅读同时扩展搜索。 一、行业现状 1、概念界定 区别于PGC与UGC不同的&#xff0c;AIGC是利用人工智能技术自动生成内容的新型生产方式。 2、数据模态 按照模态区分&a…

【计算机网络-网络层】路由选择协议

文章目录1 路由器与路由选择1.1 路由器1.2 路由表&#xff08;RIB 表&#xff09;1.2.1 路由表项1.2.2 动态路由1.2.3 静态路由1.2.4 直连路由1.3 转发表&#xff08;FIB 表&#xff09;1.4 自治系统 AS2 内部网关协议 IGP——路由信息协议 RIP2.1 RIP 规定2.2 RIP 的工作原理2…

GPT系列论文

目录 GPT 无监督预训练 有监督微调 如何将模型应用于下游任务&#xff1f; 试验结果 GPT-2 摘要 Introduction Approach 数据集&模型 试验结果 GPT-3 核心点 名词解释 few-shot做法图示 数据集 GPT 由无监督预训练有监督微调组成 无监督预训练 有监督微调 …

ICLR 2023 | 达摩院开源轻量人脸检测DamoFD

团队模型、论文、博文、直播合集&#xff0c;点击此处浏览 一、论文 本文介绍我们被机器学习顶级国际会议ICLR 2023接收的论文 “DamoFD: Digging into Backbone Design on Face Detection" 论文链接&#xff1a;https://openreview.net/pdf?idNkJOhtNKX91 开源代码&a…

云原生_kubernetes(k8s)介绍

目录 一、应用部署方式演变 二、k8s介绍 三、k8s的组件 四、k8s中的概念 五、k8s资源管理方式 1、命令式对象管理 2、命令式对象配置 3、声明式对象配置 一、应用部署方式演变 在部署应用程序的方式上&#xff0c;主要经历了三个时代&#xff1a; 1、物理机部署&#…

Vue 核心(一)

文章目录Vue 核心&#xff08;一&#xff09;一、 Vue 简介1、 概述2、 学前准备3、 第一个程序二、 模板语法三、 数据绑定四、 MVVM 模型五、 数据代理1、 defineProperty2、 理解数据代理3、 Vue中的数据代理六、 事件处理1、 事件的基本使用2、 键盘事件七、 计算属性与监视…

难以置信,已经有人用 ChatGPT 做 Excel 报表了?

要问2023年初科技领域什么最火&#xff0c;那自然是 ChatGPT。 ChatGPT 由人工智能研究实验室 OpenAI 于2022年11月30日推出。上线短短5天&#xff0c;用户数量已突破100万&#xff0c;在今年2月份&#xff0c;用户数量已经突破1亿。 ChatGPT 是一个超级智能聊天机器人&#…