怎么在阿里云控制台创建oss bucket

怎么在阿里云控制台创建oss bucket,第1张

开始使用阿里云 OSS

阿里云 OSS(Object Storage Service)为您提供基于网络的数据存取服务。使用 OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种结构化或非结构化数据文件。

在使用阿里云 OSS 之前,您需要了解 OSS 的几个基本概念。阿里云 OSS 将数据文件以对象(object)的形式上传到存储空间(bucket)中。 您可以创建一个或者多个存储空间,然后向每个存储空间中添加一个或多个文件。您可以通过获取已上传文件的地址进行文件的分享和下载。您还可以通过修改存储空间或文件的属性或元信息来设置相应的访问权限。

您可以通过阿里云管理控制台执行基本和高级 OSS 任务,您还可以通过阿里云开发工具包或直接在应用程序中进行 RESTful API 调用执行基本和高级 OSS 任务。有关更多信息,请参见 阿里云 OSS 开发人员指南。

本文档将向您介绍如何使用阿里云管理控制台来完成以下基本任务。

开通 OSS 服务

创建存储空间

上传文件

分享文件

删除文件

删除存储空间

有关阿里云 OSS 功能和定价的相关信息,请参见阿里云 OSS 产品页。

L

先在SVNBucket上创建项目,复制项目地址

到自己电脑checkout项目下来

把自己的代码复制进去刚checkout下来的目录

提交代码,这样就上传代码到SVNBucket服务器了。

另外有一份快速上手教程供你参考:网页链接

CRUSH Map 包含 OSD 列表、“桶”类型、把设备汇聚为物理位置的“桶”列表、和指示 CRUSH 如何复制存储池里的数据的规则列表。

搭建好集群后(本文所有 *** 作基于ceph版本luminous),在没有添加osd进集群时,此时通过'ceph osd crush dump'查看crushmap的设备,你会发现此时的devices为空。形如:

那么,什么 *** 作会导致crushmap的devices写入信息呢?答:将osd加入到集群时。我们来实践一下。

本文使用的部署集群osd命令如下:

///////准备格式化LVM设备并将其与OSD关联:

ceph-volume lvm prepare --bluestore --data {device-path}

//////列出与Ceph相关的逻辑卷和设备可用于查看{osd id} {osd fsid}

ceph-volume lvm list

//////激活发现并安装与OSD ID关联的LVM设备并启动Ceph OSD

ceph-volume lvm activate {osd-id} {osd-fsid}

/////当需要激活的osd较多时,可以一次性激活所有

ceph-volume lvm activate --all

部署集群osd后,观察crushmap devices如下:

Crushmap中的types定义了所有bucket的类型,集群搭建好后,这些类型就可以查看到。通过ceph osd crush dump查看如下:

在定义bucket分级拓扑结构中,root类型的桶为改分级结构的根节点。

Ceph在存储数据的过程中,其CRUSH算法会根据各设备的权重(weight值反映)、大致统一的将数据对象分布到存储设备上。crushmap中的buckets是一系列分级桶实例的集合,其表达的是一种逻辑上的分级拓扑结构 (树型结构)。创建桶分级拓扑接口的目的是CRUSH在存储数据时按故障域隔离叶子节点(osd、host、rock....),数据冗余,达到数据安全。

在ceph的集群中有一个特殊的名为"default"的桶分级拓扑结构,它从集群搭建好就存在。如下:

default桶分级结构包含root、host、osd三种桶类型,其应该如实的反映集群存储设备的关系(集群几个主机、每个主机下有哪些osd).当osd出问题时,可根据该拓扑找到对应的物理硬件。

*** 作crushmap bucket相关命令详述:

1.添加一个bucket实例:

ceph osd crush add-bucket {bucket-name} {bucket-type}

上述命令执行后,集群crushmap会多一条形如:

{

"id": -9,//唯一id标识

"name": "data", //bucket_name,该bucket_name不能重复

"type_id": 1, //buckt_type id ,对应于crushmap的types中的一项

"type_name": "host",//bucket 实例类型

"weight": 0,//该bucket的权重

"alg": "straw2",

"hash": "rjenkins1",

"items": []// 该bucket的子bucket信息(树形理解)

}

2.移动bucket层级

ceph osd crush move {bucket-name} {args...}

执行上述命令后,可以将{buckt-name}移动到{args}指定的层级下, 作为{args}的孩子节点,其中args形如{bucket_type}={name}。

3.添加osd到一个分级结构

ceph osd crush add/set osd.{osd-id} {weight} {args}

上述命令中的{weight}值表明该osd的存储能力(容量),一般1T的盘,weight设为1,{args}知道该osd位置。

如果不调整default的层级,只是将osd加入集群中,此时是没有分级结构的,如下:

本文实践的集群环境:3个主机、每个主机下2个osd,其拓扑结构如下:

调整过程命令如下:

创建完成后,集群的default拓扑图如下:

完成后如下:

crushmap中的rules是一系列存储池规则的集合。存储池规则(rule)确定一个存储池的数据如何归置:数据的冗余份数、数据隔离级别等。下面简单的查看说明一下:

1.获取集群crushmap

ceph osd getcrushmap -o {file1}

{file1}为自定义的文件名,该文件为二进制文件,不可编辑。要想编辑此文件,需要用工具将其反编译解析,如crushtool工具。

2反编译crushmap

crushtool -d {file1} -o {file2}

反编译二进制文件{file1}得到可编辑文件{file2}

3.编辑crushmap

按自我需求修改可编辑文件{file2}

4.编译crushmap

要想编辑后的文件机器能够识别,必须用工具编译它生成二进制文件。

crushtool -c {file2} -o {file3}

5.注入crushmap

要想新的crushmap在集群中生效,必须将其注入要集群。

ceph osd setcrushmap -i {file3}

参考资料:

1.ceph 官方文档

更多详情,详见官网:

http://docs.ceph.org.cn/rados/operations/crush-map/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11249295.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存