openstack 对象存储

Swift分片存储
创建一个容器

swift post Chinaskill

swift stat Chinaskill
               Account: AUTH_4c97b47bddc943e3b6bed9e2718f57ae
             Container: Chinaskill
               Objects: 0
                 Bytes: 0
              Read ACL:
             Write ACL:
               Sync To:
              Sync Key:
         Accept-Ranges: bytes
      X-Storage-Policy: Policy-0
         Last-Modified: Wed, 08 Dec 2021 13:19:32 GMT
           X-Timestamp: 1638969571.43889
            X-Trans-Id: txec4c8a9a36ba4f18b9ae3-0061b0b0ec
          Content-Type: application/json; charset=utf-8
X-Openstack-Request-Id: txec4c8a9a36ba4f18b9ae3-0061b0b0ec

实行分片储存

swift upload Chinaskill -S 10000000 cirros-0.4.0-aarch64-disk.img 

swift stat Chinaskill cirros-0.4.0-aarch64-disk.img 
               Account: AUTH_4c97b47bddc943e3b6bed9e2718f57ae
             Container: Chinaskill
                Object: cirros-0.4.0-aarch64-disk.img
          Content Type: application/octet-stream
        Content Length: 15731712
         Last Modified: Wed, 08 Dec 2021 13:22:23 GMT
                  ETag: "0ef8ef358ea42459342788b2ffc23378"
              Manifest: Chinaskill_segments/cirros-0.4.0-aarch64-disk.img/1638969490.152508/15731712/10000000/
            Meta Mtime: 1638969490.152508
         Accept-Ranges: bytes
           X-Timestamp: 1638969742.21129
            X-Trans-Id: txe9a7599abf474394a5ab0-0061b0b1ad
X-Openstack-Request-Id: txe9a7599abf474394a5ab0-0061b0b1ad

查看数据片
CLI

swift list Chinaskill_segments
cirros-0.4.0-aarch64-disk.img/1638969490.152508/15731712/10000000/00000000
cirros-0.4.0-aarch64-disk.img/1638969490.152508/15731712/10000000/00000001

web
在这里插入图片描述

后端存储:

vi /etc/glance/glance-api.conf 

[glance_store]
#stores = file,http
#default_store = file
default_store = swift
stores=glance.store.filesystem.Store,glance.store.swift.Store
swift_store_auth_address=http://controller:5000/v3
swift_store_create_container_on_put=True
swift_store_region=RegionOne
swift_store_endpoint_type=internalURL
swift_store_container=glance
filesystem_store_datadir = /var/lib/glance/images/
swift_store_user=glance
swift_store_key=000000
swift_store_multi_tenant=True
swift_store_admin_tenants=service

重启服务

systemctl restart openstack-*

上传镜像测试

glance image-create --name "test_glance" --disk-format qcow2 --container-format bare --progress --file /root/cirros-0.4.0-aarch64-disk.img 

查看结果

openstack container list

+---------------------------------------------+
| Name                                        |
+---------------------------------------------+
| Chinaskill                                  |
| Chinaskill_segments                         |
| glance_a20ac42f-9c18-4d2c-8565-ede5e27a8ba7 |
+---------------------------------------------+
### OpenStack 对象存储 Swift CLI 命令 OpenStack对象存储服务通常由 Swift 提供支持,Swift 是一种分布式对象存储系统,允许用户通过 API 或命令行工具管理数据。以下是关于如何使用 `swift` 客户端执行常见查询操作的相关说明。 #### 1. 列出容器 (Containers) 要查看当前账户下的所有容器列表,可以运行以下命令: ```bash swift list ``` 此命令会返回该账户下所有的容器名称[^1]。 #### 2. 查看特定容器中的对象 如果需要列出某个具体容器内的对象,可使用如下命令: ```bash swift list <container_name> ``` 其中 `<container_name>` 替换为目标容器的实际名称[^2]。 #### 3. 获取单个对象的内容 下载指定的对象到本地文件系统时,可以通过下面的方式实现: ```bash swift download <container_name> <object_name> ``` 这条指令不仅能够保存目标文件副本至工作目录,还会显示传输进度等相关信息[^3]。 #### 4. 统计容器或对象的信息 对于获取更详细的元数据统计情况,比如大小、数量等,则需要用到 stat 子命令: - **针对整个账户** ```bash swift stat ``` - **针对某一个具体的容器** ```bash swift stat <container_name> ``` - **或者单独的一个对象** ```bash swift stat <container_name> <object_name> ``` 这些子命令提供了诸如字节数量、项目总数以及最后修改时间之类的属性值[^4]。 #### 5. 高级搜索功能 虽然标准的 `swift` 工具不提供内置全文检索能力,但是开发者可以根据需求编写自定义脚本结合其他技术来完成复杂条件匹配的任务。例如利用 Python SDK (`openstacksdk`) 编写程序逻辑处理大量数据筛选场景[^5]。 ```python from openstack import connection conn = connection.Connection(auth_url="AUTH_URL", project_name='PROJECT_NAME', username='USERNAME', password='PASSWORD') for obj in conn.object_store.objects('CONTAINER_NAME'): if 'SEARCH_TERM' in obj.name: print(obj.name, obj.bytes, obj.last_modified) ``` 以上代码片段展示了怎样借助官方库迭代遍历某一 bucket 下的所有 entries 并实施简单的字符串包含测试作为示范用途[^6]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值