当前位置:首页 » 存储配置 » ceph对象存储使用

ceph对象存储使用

发布时间: 2022-12-09 03:14:35

⑴ ceph 块存储rbd的使用,使用普通户创建和挂载rbd

ceph@ceph-deploy:~/ceph-cluster$ ceph osd pool create rbd1-data 32 32

pool 'rbd1-data' created

ceph@ceph-deploy:~/ceph-cluster$ ceph osd pool ls

device_health_metrics

mypool

.rgw.root

default.rgw.log

default.rgw.control

default.rgw.meta

myrbd1

cephfs-metadata

cephfs-data

rbd1-data

在存储池启用rbd:

ceph@ceph-deploy:~/ceph-cluster$ ceph osd pool application enable rbd1-data rbd

enabled application 'rbd' on pool 'rbd1-data'

初始化存储池:

ceph@ceph-deploy:~/ceph-cluster$ rbd pool init -p rbd1-data

创建存储池映像文件:

映像文件的管理都是rbd命令来执行,rbd可对映像执行创建,查看,删除,以及创建快照,克隆映像,删除快照,查看快照,快照回滚等管理操作

ceph@ceph-deploy:~/ceph-cluster$ rbd create data-img1 --size 3G --pool rbd1-data --image-format 2 --image-feature layering

ceph@ceph-deploy:~/ceph-cluster$ rbd create data-img2 --size 5G --pool rbd1-data --image-format 2 --image-feature layering

查看存储池映像文件

ceph@ceph-deploy:~/ceph-cluster$ rbd list --pool rbd1-data

data-img1

data-img2

列出映像更多信息

ceph@ceph-deploy:~/ceph-cluster$ rbd list --pool rbd1-data -l

NAME      SIZE  PARENT  FMT  PROT  LOCK

data-img1  3 GiB            2           

data-img2  5 GiB            2

ceph@ceph-deploy:~/ceph-cluster$ rbd --image data-img1 --pool rbd1-data info

rbd image 'data-img1':

size 3 GiB in 768 objects

order 22 (4 MiB objects)

snapshot_count: 0

id: 3ab91c6a62f5

block_name_prefix: rbd_data.3ab91c6a62f5

format: 2

features: layering

op_features:

flags:

create_timestamp: Thu Sep  2 06:48:11 2021

access_timestamp: Thu Sep  2 06:48:11 2021

modify_timestamp: Thu Sep  2 06:48:11 2021

ceph@ceph-deploy:~/ceph-cluster$ rbd --image data-img1 --pool rbd1-data info --format json --pretty-format

{

    "name": "data-img1",

    "id": "3ab91c6a62f5",

    "size": 3221225472,

    "objects": 768,

    "order": 22,

    "object_size": 4194304,

    "snapshot_count": 0,

    "block_name_prefix": "rbd_data.3ab91c6a62f5",

    "format": 2,

    "features": [

        "layering"

    ],

    "op_features": [],

    "flags": [],

    "create_timestamp": "Thu Sep  2 06:48:11 2021",

    "access_timestamp": "Thu Sep  2 06:48:11 2021",

    "modify_timestamp": "Thu Sep  2 06:48:11 2021"

}

镜像(映像)特性的启用和禁用

特性包括:

layering支持分层快照特性  默认开启

striping条带化

exclusive-lock:支持独占锁  默认开启

object-map 支持对象映射,加速数据导入导出及已用空间特性统计等  默认开启

fast-diff 快速计算对象和快找数据差异对比  默认开启

deep-flatten  支持快照扁平化操作  默认开启

journaling  是否记录日志

开启:

ceph@ceph-deploy:~/ceph-cluster$ rbd feature enable object-map --pool rbd1-data --image data-img1

ceph@ceph-deploy:~/ceph-cluster$ rbd feature enable fast-diff --pool rbd1-data --image data-img1

ceph@ceph-deploy:~/ceph-cluster$ rbd feature enable exclusive-lock --pool rbd1-data --image data-img1

禁止:

ceph@ceph-deploy:~/ceph-cluster$ rbd feature disable object-map --pool rbd1-data --image data-img1

ceph@ceph-deploy:~/ceph-cluster$ rbd feature disable fast-diff --pool rbd1-data --image data-img1

ceph@ceph-deploy:~/ceph-cluster$ rbd feature disable exclusive-lock --pool rbd1-data --image data-img1

客户端使用块设备:

首先要安装ceph-comman,配置授权

[root@ceph-client1 ceph_data]# yum install -y http://mirrors.aliyun.com/ceph/rpm-octopus/el7/noarch/ceph-release-1-1.el7.noarch.rpm

[root@ceph-client1 ceph_data]# yum install ceph-common -y 

授权,

ceph@ceph-deploy:/etc/ceph$ sudo -i

root@ceph-deploy:~# cd /etc/ceph/           

root@ceph-deploy:/etc/ceph# scp ceph.conf ceph.client.admin.keyring [email protected]:/etc/ceph

ubuntu系统:

root@ceph-client2:/var/lib/ceph# apt install -y ceph-common

root@ceph-deploy:/etc/ceph# sudo scp ceph.conf ceph.client.admin.keyring [email protected]:/tmp

[email protected]'s password:

ceph.conf                                                                                                                  100%  270  117.7KB/s  00:00   

ceph.client.admin.keyring

root@ceph-client2:/var/lib/ceph# cd /etc/ceph/

root@ceph-client2:/etc/ceph# cp /tmp/ceph.c* /etc/ceph/

root@ceph-client2:/etc/ceph# ll /etc/ceph/

total 20

drwxr-xr-x  2 root root 4096 Aug 26 07:58 ./

drwxr-xr-x 84 root root 4096 Aug 26 07:49 ../

-rw-------  1 root root  151 Sep  2 07:24 ceph.client.admin.keyring

-rw-r--r--  1 root root  270 Sep  2 07:24 ceph.conf

-rw-r--r--  1 root root  92 Jul  8 07:17 rbdmap

-rw-------  1 root root    0 Aug 26 07:58 tmpmhFvZ7

客户端映射镜像

root@ceph-client2:/etc/ceph# rbd -p rbd1-data map data-img1

rbd: sysfs write failed

RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable rbd1-data/data-img1 object-map fast-diff".

In some cases useful info is found in syslog - try "dmesg | tail".

rbd: map failed: (6) No such device or address

root@ceph-client2:/etc/ceph# rbd feature disable rbd1-data/data-img1 object-map fast-diff

root@ceph-client2:/etc/ceph# rbd -p rbd1-data map data-img1

/dev/rbd0

root@ceph-client2:/etc/ceph# rbd -p rbd1-data map data-img2

格式化块设备admin映射映像文件

查看块设备

root@ceph-client2:/etc/ceph# lsblk

NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda      8:0    0  20G  0 disk

└─sda1  8:1    0  20G  0 part /

sr0    11:0    1 1024M  0 rom 

rbd0  252:0    0    3G  0 disk

rbd1  252:16  0    5G  0 disk

root@ceph-client2:/etc/ceph# mkfs.ext4 /dev/rbd1

mke2fs 1.44.1 (24-Mar-2018)

Discarding device blocks: done                           

Creating filesystem with 1310720 4k blocks and 327680 inodes

Filesystem UUID: 168b99e6-a3d7-4dc6-9c69-76ce8b42f636

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                           

Writing inode tables: done                           

Creating journal (16384 blocks): done

Writing superblocks and filesystem accounting information: done

挂在挂设备

root@ceph-client2:/etc/ceph# mkdir /data/data1 -p

root@ceph-client2:/etc/ceph# mount /dev/rbd1 /data/data1/

验证写入数据:

root@ceph-client2:/etc/ceph# cd /data/data1/

root@ceph-client2:/data/data1# cp /var/log/ . -r

root@ceph-client2:/data/data1# ceph df

--- RAW STORAGE ---

CLASS    SIZE    AVAIL    USED  RAW USED  %RAW USED

hdd    220 GiB  213 GiB  7.4 GiB  7.4 GiB      3.37

TOTAL  220 GiB  213 GiB  7.4 GiB  7.4 GiB      3.37

--- POOLS ---

POOL                  ID  PGS  STORED  OBJECTS    USED  %USED  MAX AVAIL

device_health_metrics  1    1      0 B        0      0 B      0    66 GiB

mypool                  2  32  1.2 MiB        1  3.5 MiB      0    66 GiB

.rgw.root              3  32  1.3 KiB        4  48 KiB      0    66 GiB

default.rgw.log        4  32  3.6 KiB      209  408 KiB      0    66 GiB

default.rgw.control    5  32      0 B        8      0 B      0    66 GiB

default.rgw.meta        6    8      0 B        0      0 B      0    66 GiB

myrbd1                  7  64  829 MiB      223  2.4 GiB  1.20    66 GiB

cephfs-metadata        8  32  563 KiB      23  1.7 MiB      0    66 GiB

cephfs-data            9  64  455 MiB      129  1.3 GiB  0.66    66 GiB

rbd1-data              10  32  124 MiB      51  373 MiB  0.18    66 GiB

创建普通用户并授权

root@ceph-deploy:/etc/ceph# ceph auth add client.huahualin mon "allow rw"  osd "allow rwx pool=rbd1-data"

added key for client.huahualin

root@ceph-deploy:/etc/ceph# ceph-authtool --create-keyring ceph.client.huahualin.keyring

creating ceph.client.huahualin.keyring

root@ceph-deploy:/etc/ceph# ceph auth  get client.huahualin -o ceph.client.huahualin.keyring

exported keyring for client.huahualin

使用普通用户创建rbd

root@ceph-deploy:/etc/ceph# scp ceph.conf ceph.client.huahualin.keyring  [email protected]:/etc/ceph/

普通用户映射镜像

[root@ceph-client1 ~]# rbd --user huahualin --pool rbd1-data map data-img2

/dev/rbd0

使用普通用户挂载rbd

[root@ceph-client1 ~]# mkfs.ext4 /dev/rbd0

[root@ceph-client1 ~]# fdisk -l /dev/rbd0

[root@ceph-client1 ~]# mkdir /data

[root@ceph-client1 ~]# mount  /dev/rbd0 /data

[root@ceph-client1 ~]# df -Th

Filesystem              Type      Size  Used Avail Use% Mounted on

devtmpfs                devtmpfs  475M    0  475M  0% /dev

tmpfs                  tmpfs    487M    0  487M  0% /dev/shm

tmpfs                  tmpfs    487M  7.7M  479M  2% /run

tmpfs                  tmpfs    487M    0  487M  0% /sys/fs/cgroup

/dev/mapper/centos-root xfs        37G  1.7G  36G  5% /

/dev/sda1              xfs      1014M  138M  877M  14% /boot

tmpfs                  tmpfs      98M    0  98M  0% /run/user/0

192.168.241.12:6789:/  ceph      67G  456M  67G  1% /ceph_data

/dev/rbd0              ext4      4.8G  20M  4.6G  1% /data

挂载rbd后会自动加载模块libceph.ko

[root@ceph-client1 ~]# lsmod |grep ceph

ceph                  363016  1

libceph              306750  2 rbd,ceph

dns_resolver          13140  1 libceph

libcrc32c              12644  4 xfs,libceph,nf_nat,nf_conntrack

[root@ceph-client1 ~]# modinfo libceph

filename:      /lib/moles/3.10.0-1160.el7.x86_64/kernel/net/ceph/libceph.ko.xz

license:        GPL

description:    Ceph core library

author:        Patience Warnick <[email protected]>

author:        Yehuda Sadeh <[email protected]>

author:        Sage Weil <[email protected]>

retpoline:      Y

rhelversion:    7.9

srcversion:    D4ABB648AE8130ECF90AA3F

depends:        libcrc32c,dns_resolver

intree:        Y

vermagic:      3.10.0-1160.el7.x86_64 SMP mod_unload modversions

signer:        CentOS Linux kernel signing key

sig_key:        E1:FD:B0:E2:A7:E8:61:A1:D1:CA:80:A2:3D:CF:0D:BA:3A:A4:AD:F5

sig_hashalgo:  sha256

如果镜像空间不够用了,我们可以做镜像空间的拉伸,一般不建议减小

查看rdb1-data存储池的镜像

[root@ceph-client1 ~]# rbd ls -p rbd1-data -l

NAME      SIZE  PARENT  FMT  PROT  LOCK

data-img1  3 GiB            2           

data-img2  5 GiB            2 

比如data-img2空间不够了,需要拉伸,将data-img2扩展到8G

[root@ceph-client1 ~]# rbd resize --pool rbd1-data --image data-img2 --size  8G

Resizing image: 100% complete...done.

可以通过fdisk -l查看镜像空间大小,但是通过df -h就看不到

[root@ceph-client1 ~]# lsblk

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda              8:0    0  40G  0 disk

├─sda1            8:1    0    1G  0 part /boot

└─sda2            8:2    0  39G  0 part

  ├─centos-root 253:0    0  37G  0 lvm  /

  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]

sr0              11:0    1 1024M  0 rom 

rbd0            252:0    0    8G  0 disk /data

[root@ceph-client1 ~]# fdisk -l /dev/rbd0

Disk /dev/rbd0: 8589 MB, 8589934592 bytes, 16777216 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 4194304 bytes / 4194304 bytes

将挂载设置开机启动

[root@ceph-client1 ~]# vi /etc/rc.d/rc.local

rbd --user huahualin --pool rbd1-data map data-img2

mount /dev/rbd0 /data

[root@ceph-client1 ~]# chmod a+x  /etc/rc.d/rc.local

[root@ceph-client1 ~]# reboot

⑵ 【ceph】对象存储 - bucket命名规范

用于存储 日志文件的 存储桶的名称必须符合非美国标准区域的命名要求。Amazon S3 将存储桶名称定义为符合以下规则的一个或多个标签(用句点分隔开):

警告
由于 S3 允许您的存储桶用作可公开访问的 URL,因此您选择的存储桶名称必须具有全局唯一性。如果其他一些账户已使用您选择的名称创建存储桶,则必须使用其他名称。有关更多信息,请参阅 Amazon Simple Storage Service 开发人员指南 中的存储桶局限和限制。

参考
https://docs.aws.amazon.com/zh_cn/awscloudtrail/latest/userguide/cloudtrail-s3-bucket-naming-requirements.html

⑶ 如何使用ceph

Ceph是一个 Linux PB 级分布式文件系统。

其命名和UCSC(Ceph 的诞生地)的吉祥物有关,这个吉祥物是 "Sammy",一个香蕉色的蛞蝓,就是头足类中无壳的软体动物。这些有多触角的头足类动物,是对一个分布式文件系统高度并行的形象比喻。
Ceph 最初是一项关于存储系统的 PhD 研究项目,由 Sage Weil 在 University of California, SantaCruz(UCSC)实施。

简单定义为以下3项:
1. 可轻松扩展到数 PB 容量
2. 支持多种工作负载的高性能(每秒输入/输出操作[IOPS]和带宽)
3. 高可靠性
但是,这些目标之间会互相竞争(例如,可扩展性会降低或者抑制性能或者影响可靠性)。Ceph 的设计还包括保护单一点故障的容错功能,它假设大规模(PB 级存储)存储故障是常见现象而不是例外情况。
它的设计并没有假设某种特殊工作负载,但包括了适应变化的工作负载,并提供最佳性能的能力。它利用 POSIX 的兼容性完成所有这些任务,允许它对当前依赖 POSIX 语义(通过以 Ceph 为目标的改进)的应用进行透明的部署。

Ceph 生态系统架构可以划分为四部分:
1. Clients:客户端(数据用户)
2. cmds:Metadata server cluster,元数据服务器(缓存和同步分布式元数据)
3. cosd:Object storage cluster,对象存储集群(将数据和元数据作为对象存储,执行其他关键职能)
4. cmon:Cluster monitors,集群监视器(执行监视功能)

⑷ 如何配置Ceph对象存储作为KVM虚拟机外部存储

Ceph对象存储只有在特定环境中才能够发挥最佳性能表现。这款产品在研发过程中考虑到云环境相关需求,且价格适中,能够轻松扩展成PB级存储。
但是部署Ceph并不简单,IT员工必须对产品进行充分了解。
相比于现在大部分数据中心使用的传统SAN产品,Ceph能够大幅度降低存储成本。这使得Ceph成为一种适用于大规模环境的理想存储产品,但是并不适用于只需要几台虚拟机的小型企业。

⑸ ceph(第一步) 基础架构

ceph 是什么?
ceph 是一种开源存储软件。底层实现了对象存储,并以此为基础对外提供对象存储接口、块存储接口、文件级存储接口。

ceph 结构包含两个部分:

ceph 版本:Nautilus

官网的一张架构图:

对于这张图,一开始没有看懂它想表达什么,后来明白了。如下图:

相关名词解释:

ceph 组件分为两部分:

此部分介绍构成 ceph 集群的基础组件。
其中包含 OSD、Manager、MDS、Monitor。

此部分介绍 ceph 对外提供各种功能的组件。
其中包含:Block Device、Object Storage、Filesystem。

前面两个部分主要介绍了 ceph 的一些组件及对外提供的功能。
这部分主要介绍 ceph 的存储逻辑。

首先,在对象存储中,一切都是扁平化的,并且存储的最小单元为对象(obj)。存储 obj 如下图:

ceph 在对象存储的基础上提供了更加高级的思想。

当对象数量达到了百万级以上,原生的对象存储在索引对象时消耗的性能非常大。ceph 因此引入了 placement group (pg)的概念。一个 pg 就是一组对象的集合。如下图:

obj 和 pg 之间的映射由 ceph client 计算得出。

讨论 pg 时,不得不提的另外一个名词:pgp。
pgp 决定了 pg 和 osd 之间的映射关系。一般将 pgp_num 设置成和 pg_num 一样大小。

这里还有一个名词需要提一下,在 ceph 中会经常见到 crush 算法。简单来说,crush 算法就是指 ceph 中数据如何存储、读取的过程。

由于 ceph 集群面对许多的独立项目,因此 ceph 还引入了 ceph pool 的概念用于划分不同的项目。
ceph pool 是对 ceph 对象的逻辑划分,并不是物理划分。

pg 和 ceph pool 的区别:

像大多数集群软件一样,ceph 也提供了缓存的概念。称之为 Cache Tier(缓存层,在具体使用时有时会称之为缓存池)。
缓存池对用户来说是透明的,因此不会改变用户的原有使用逻辑。以下缓存池的介绍,均为底层逻辑。
在没有缓存池时,ceph client 直接指向存储池。
在添加缓存池后,ceph client 指向缓存池,缓存池再指向存储池。

官方原话:
When pg_num is increased for any pool, every PG of this pool splits into half, but they all remain mapped to their parent OSD.
Until this time, Ceph does not start rebalancing. Now, when you increase the pgp_num value for the same pool, PGs start to migrate from the parent to some other OSD, and cluster rebalancing starts. This is how PGP plays an important role.
By Karan Singh
个人翻译:
当一个池增加 pg 数量时,这个池中的所有 pg 都会变化。但是原 pg 的实际物理存储位置不会改变。
当一个池增加 pgp 的数量时,pg 的实际物理存储位置会发生改变。

首先,截至目前,没有具体查到资料证明以下观点。(基于一致性hash的猜想)

图中出现了一个新词: vosd ,这个是指虚拟 osd。它的数量等于 pgp 的数量,而 pgp 一般又等于 pg。

pgp 的数量就是 vosd 的数量。

引入 pg 可以实现 pool 概念,以及优化碎片管理(这一点十分不确定)。

引入 pgp(vosd),是为了在增加 osd 时可以让数据更加均衡的分布。

如猜想图:
当我们增加池的 pg 数量时,不会改变 vosd,因此原 pg 与 vosd 之间的映射未变,原 pg 的实际物理位置也不会发生变化。只是会影响同一个池中 obj 的分布。
当我们增加池的 pgp 数量时,相当于改变了 vosd,通过 hash 计算出的部分 pg 与 vosd 之间的映射就要发生改变,从而导致 pg 的实际物理位置发生改变。

与一致性hash不同的地方:
一般情况下,一致性hash只有一层虚拟化层,并且虚拟化层是根据物理硬件而变化的。但是ceph却是一种反着来的意思。

当 ceph 增加一个 osd 时,pg 的物理位置也会发生改变。
在该猜想下:
当增加 osd 时,并不会增加 vosd 的数量,原部分 vosd 会映射到新的 osd 上,因此产生一种部分 pg 的实际物理位置发生变化的情况。

创建池时,会分配固定的 pg,以及设置与 pg 一样大小的 pgp。
注意,一般 pg 数量都设置为 2 的次方。

严格意义上,我们无论为池分配多少个 pg 都没有问题。但有时候 pg num 配置小了会报错,配置大了也会报错。这不是因为这么配置不对,是因为有其它的参数在限制我们随意配置 pg num。

比如:
osd 有两个配置,当每个 osd 的 pg num 过少(默认30)时会告警,当每个 osd 的 pg num 过多(默认300)也会告警。

所以,想要入门使用 ceph,还是需要了解许多基础知识才可以。否则,各种意外。

https://docs.ceph.com/docs/master/architecture/

https://ceph.com/pgcalc/

⑹ 如何集成Ceph对象存储

Glance集成Glance是OpenStack中的映像服务。默认情况下,映像存储在本地控制器,然后在被请求时复制到计算主机。计算主机缓存镜像,但每次更新镜像时,都需要再次复制。Ceph为Glance提供了后端,允许镜像存储在Ceph中,而不是本地存储在控制器和计算节点上。这大大减少了抓取镜像的网络流量,提高了性能,因为Ceph可以克隆镜像而不是复制镜像。此外,它使得在OpenStack部署或诸如多站点OpenStack之类的概念的迁移变得更简单。安装Glance使用的Ceph客户端。创建Ceph用户并将主目录设置为/etc/ceph。将Ceph用户添加到sudoers。在Ceph管理节点。为Glance镜像创建CephRBD池。创建将允许Glance访问池的密钥环。将密钥环复制到OpenStack控制器上的/etc/ceph。设置权限,让Glance可以访问Ceph密钥环。将密钥环文件添加到Ceph配置。创建原始Glance配置的备份。更新Glance配置。重新启动Glance。下载Cirros镜像并将其添加到Glance。将QCOW2转换为RAW。建议Ceph始终使用RAW格式。将镜像添加到Glance。检查Ceph中是否存在Glance图像。Cinder集成Cinder是OpenStack中的块存储服务。Cinder提供了关于块存储的抽象,并允许供应商通过提供驱动程序进行集成。在Ceph中,每个存储池可以映射到不同的Cinder后端。这允许创建诸如金、银或铜的存储服务。你可以决定例如金应该是复制三次的快速SSD磁盘,银应该是复制两次,铜应该是使用较慢的擦除编码的磁盘。为Cinder卷创建一个Ceph池。创建一个密钥环以授予Cinder访问权限。将密钥环复制到OpenStack控制器。创建一个只包含OpenStack控制器上的身份验证密钥的文件。设置密钥环文件的权限,以便Cinder可以访问。将密钥环添加到OpenStack控制器上的Ceph配置文件中。使KVMHypervisor访问Ceph。在virsh中创建一个密钥,因此KVM可以访问Ceph池的Cinder卷。为Cinder添加一个Ceph后端。在所有控制器上重新启动Cinder服务。创建Cinder卷。在Ceph中列出Cinder卷。将Ceph与Nova计算集成Nova是OpenStack中的计算服务。Nova存储与默认的运行虚拟机相关联的虚拟磁盘镜像,在/var/lib/nova/instances下的Hypervisor上。在虚拟磁盘映像的计算节点上使用本地存储有一些缺点:·镜像存储在根文件系统下。大镜像可能导致文件系统被填满,从而导致计算节点崩溃。·计算节点上的磁盘崩溃可能导致虚拟磁盘丢失,因此无法进行虚拟机恢复。Ceph是可以直接与Nova集成的存储后端之一。在本节中,我们将看到如何配置。为Nova创建验证密钥环。将密钥环复制到OpenStack控制器。在OpenStack控制器上创建密钥文件。设置密钥环文件的权限,以便Nova服务可以访问。确保安装所需的rpm软件包。更新Ceph配置。让KVM可以访问Ceph。在virsh中创建一个密钥,这样KVM可以访问Cinder卷的Ceph池。备份Nova配置。更新Nova配置以使用Ceph后端。重新启动Nova服务。列表Neutron网络。启动使用在Glance步骤中添加的Cirros镜像的临时VM实例。等待直到VM处于活动状态。在Ceph虚拟机池中列出镜像。我们现在应该看到镜像存储在Ceph中。

⑺ 【ceph】对象存储的目录/文件夹概念

对象存储(OSS)中文件夹的概念仅是一个逻辑概念,在通过API/SDK的方式设置文件夹的时候可以指定object对应的key值包括前面的目录即可实现该功能。例如,定义object的key为abc/1.jpg就会在该bucket下创建一个abc的文件夹,而在文件夹下即会有一个1.jpg的文件。

对象存储(OSS)中的文件夹其实是一个大小为0KB的空文件。因此,用户创建一个key值为1/的object就会定义文件夹1;并且如果用户创建文件abc/1.jpg,系统是不会创建abc/这个文件的,因此在删除abc/1.jpg后将不会再存在abc这个文件夹。

由于对象存储(OSS)采用的是分布式存储的方式,object并不是根据文件夹进行物理存储的。也就是说并不是一个文件夹下的所有的文件都会存储在一起的。在后端存储的过程中不同的文件夹的文件仅仅是key值的前缀不一样。因此这种架构下就会导致无法很方便的统计某个文件夹下的汇总信息,如文件夹大小、文件夹PV数等。而想要遍历某个文件夹下的所有的文件也需要首先通过ListObject接口获取文件夹下的所有文件的key值(这里需要通过prefix指定文件夹),然后再进行操作。

在逻辑上“中国.mp4”将存放到目录“videos”中

https://help.aliyun.com/knowledge_detail/39527.html
https://www.jianshu.com/p/4212d37c0e0f

⑻ Ceph之对象存储

RGW 全称为Rados GateWay,是Ceph 对象存储网关,用于向客户端应用程序提供存储界面,提供RestFul API 接口
Ceph对象网关是一个构建在librados之上的对象存储接口,它为应用程序访问Ceph 存储提供了一个RESTFul 风格的网关。Ceph 对象存储支持两种接口:

1.用户: 对象存储应用的使用者,一个用户拥有一个或者多个存储桶。RGW 向您提供的用户账号宝琨了AK(AccessKeyID)和SK(SecretAccessKeyID)。通过使用AK和SK 对称加密的方法来验证某个请求的发送至身份。

参考blog: https://blog.z0ukun.com/?p=2765

热点内容
什么id密码可以下载安卓 发布:2025-09-24 13:36:54 浏览:622
win7如何登陆ftp 发布:2025-09-24 13:01:29 浏览:172
海信电视怎么查看配置 发布:2025-09-24 13:00:31 浏览:783
android开发从零开始 发布:2025-09-24 12:51:28 浏览:113
为什么安卓不支持群折叠 发布:2025-09-24 12:03:53 浏览:227
开放上网如何设密码 发布:2025-09-24 11:31:08 浏览:566
编译原理语义分析实验报告 发布:2025-09-24 11:24:18 浏览:759
手机电脑文件夹同步 发布:2025-09-24 11:17:13 浏览:403
华为怎么关闭安卓系统 发布:2025-09-24 10:56:48 浏览:1013
其他配置是什么意思 发布:2025-09-24 10:52:52 浏览:55