openstack基础服务运维 Swift

Swift是一种分布式对象存储系统,主要由Account、Container和Object构成。它用于存储大容量、静态的永久性数据,如虚拟机镜像。Swift集群包括认证、代理和存储节点,Keystone常作为其认证服务。文章列举了如何进行Swift的运维操作,如查看信息、列出容器和对象、创建及上传下载文件等。
摘要由CSDN通过智能技术生成

Swift对象存储

1.认识swift

(1)Account(账号)

处于安全型考虑,使用swift都必须有一个账号。Swauth提供账号权限认证服务。

(2)Container

组织管理数据,不同的是Container不能嵌套。数据都以Object的形式存放在容器中。

(3)Object

对象是对象存储中一个基本的存储单元。一个对象包含两部分,数据和元数据。元数据包含对象所属的容器名。

用户上传的对象最大是5GB,最小是0。对象的元数据不能超过90个key-value对象属性,并且这些属性的总大小不能超过4K。在swift系统中,集群被划分成对各去,区可以是一个磁盘、服务器、一整个机柜乃至数据中心,每个区域中都由若干个节点。swift将对象存储在节点之上,每个节点都是由多个硬盘组成,保证了对象在多个节点上有备份。

swift构筑在比较便宜的标准硬件存储基础设施之上,无需采用磁盘冗余阵列。Swift主要用于存储虚拟机镜像,大多数作用于Glance的后端存储。在实际的运用中,典型运用是网盘系统。

swift不同于传统的文件系统和实时的市局存储系统,适用于存储、获取一些静态的、永久性的数据,并在需要的时候进行更新。

Swift集群主要包含认证节点、代理节点和存储节点。认证节点主要负责对用户的请求授权,只有通过授权的用户才能操作Swift,在Opensatck中swfit是它的子项目之一,所以一般用Keystone服务作为Swift服务的认证服务。代理节点主要用于和用户进行交互,接受用户的请求并且给用户做出相应。

2.对象存储的运维

[root@controller ~]# source  /etc/keystone/admin-openrc.sh 

(1)查看Swift详细信息(可以查看整体、对象、容器的信息)

[root@controller ~]# swift  stat -v        //查看swift详细信息

[root@controller ~]# swift  stat test   //查看容器的详细信息

(2)列出容器或者容器的对象

[root@controller ~]# swift list       //列出容器列表

[root@controller ~]# openstack container list

+-------+

| Name  |

+-------+

| test  |

| test2 |

+-------+

[root@controller ~]# swift list test     //列出某个容器中的对象列表

(3)创建容器

[root@controller ~]# swift post  test2     //创建一个容器

[root@controller ~]# openstack container create test2

+---------------------------------------+-----------+------------------------------------+

| account                               | container | x-trans-id                         |

+---------------------------------------+-----------+------------------------------------+

| AUTH_197b84baaeab46ed86ffb13b5d5eb07a | test2     | tx7b20a5e69c464193a020c-006437679a |

+---------------------------------------+-----------+------------------------------------+

[root@controller ~]# mkdir  file    //在外部创建一个对象文件夹

[root@controller ~]# swift upload  test2 file/        //上传对象文件夹到容器中

[root@controller ~]# touch  123.txt           //创建一个数据文件

[root@controller ~]# swift upload  test2 file/ 123.txt         //将这个数据文件上传到某个容器中的对象文件目录下

[root@controller ~]# openstack object create test2  123.txt

+---------+-----------+----------------------------------+

| object  | container | etag                             |

+---------+-----------+----------------------------------+

| 123.txt | test2     | d41d8cd98f00b204e9800998ecf8427e |

+---------+-----------+----------------------------------+

[root@controller ~]# openstack object create test2/file 123.txt

+---------+------------+----------------------------------+

| object  | container  | etag                             |

+---------+------------+----------------------------------+

| 123.txt | test2/file | d41d8cd98f00b204e9800998ecf8427e |

+---------+------------+----------------------------------+

(4)下载容器中的文件

[root@controller ~]# swift download test2 file/ 123.txt      //下载某个容器下的对象文件目录中的数据

[root@controller ~]# openstack container save   //对单个空的容器保存

[root@controller ~]# openstack object save test2/file 123.txt   //将对象保存到本地

[root@controller ~]# ll

total 7192288

-rw-r--r--. 1 root root          0 Apr 13 02:55 123.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值