千家信息网

openstack中swift如何安装

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关openstack中swift如何安装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。项目--对象存储--容器 在容器里你创建的即使是一个
千家信息网最后更新 2026年11月03日openstack中swift如何安装

这篇文章将为大家详细讲解有关openstack中swift如何安装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

项目--对象存储--容器 在容器里你创建的即使是一个文件夹,那么体现在硬盘里,也是一个文件,也就是对象object

[root@h2 ~(keystone_admin)]# openstack service list+----------------------------------+------------+--------------+| ID                               | Name       | Type         |+----------------------------------+------------+--------------+| 30c62c3c0797462a8bd4ff059a71296e | swift      | object-store |[root@h2 ~(keystone_admin)]# keystone endpoint-list      | grep 30c62c3c0797462a8bd4ff059a71296e| 2408bc6cb5164053b86c0983fd39961a | RegionOne | http://192.168.1.201:8080/v1/AUTH_%(tenant_id)s | http://192.168.1.201:8080/v1/AUTH_%(tenant_id)s |         http://192.168.1.201:8080          | 30c62c3c0797462a8bd4ff059a71296e |[root@h2 ~(keystone_admin)]# swift  listh2[root@h2 ~(keystone_admin)]# swift  list h2test1/test1/k1.pem[root@h2 ~(keystone_admin)]# find /srv/node/swiftloopback/  -type  f  -name "*.data"/srv/node/swiftloopback/objects/188901/27f/b87961659e1149b7094bb52b5d60f27f/1467698512.58656.data          ##删除k1后就没有了/srv/node/swiftloopback/objects/59261/c81/39df7c7803321e4878fdcec1ac469c81/1467698493.15690.data

映射 :ring(环) 映射到硬盘

  1. 容器 在容器里面创建对象

  2. 对象 文件就是对象

  3. 账户 权限

ring文件 保存到硬盘

  • account.ring.gz 账户

  • container.ring.gz 容器

  • object.ring.gz 对象

保存到硬盘里的目录,这个目录为zone /srv/node/swiftloopback/ 挂载点 必须放在/srv/node/目录下

  • zone1

  • zone2 两个相同,备份

packstack方式安装完成后,上传一个文件,只在硬盘里保留一份

对象先映射到 虚拟节点/分区partition 2^n 再映射到zone

目的:减少数据的迁移量


swift服务

1 一致性服务 consisteny server

  • auditor 定期扫描,如果出现问题,就把有问题的文件放隔离区

  • replicate 从另外的zone复制相同的文件过来,实现数据同步

  • update 如果replicate失效了,那么等段时间再试

2 代维服务proxy server

接受用户发送过来的请求,比如上传、删除等请求

3 存储服务

容器服务器 container server

对象服务器 object server

账户服务器 acount server


安装软件

[root@h5 ~]# yum list openstack-swift*[root@h5 ~]# yum -y install openstack-swift.noarch openstack-swift-account.noarch openstack-swift-container.noarch openstack-swift-object.noarch  openstack-swift-proxy.noarch   memcache*  python-swiftclient

任何服务都要向keystone进行注册

[root@h5 ~(keystone_admin)]# keystone  user-create  --name swift --pass  hequan[root@h5 ~(keystone_admin)]# keystone   tenant-create  --name services[root@h5 ~(keystone_admin)]# keystone user-role-add --user swift  --tenant services --role  admin

创建服务,指定endpoint

[root@h5 ~(keystone_admin)]# keystone service-create  --name swift --type  object-store --description "swift"keystone  endpoint-create  --service-id  0995c9a9ed4847da86435bca9a7be8fc  --publicurl  'http://192.168.1.204:8080/v1/AUTH_%(tenant_id)s'  --internalurl  'http://192.168.1.204:8080/v1/AUTH_%(tenant_id)s'  --adminurl  ' http://192.168.1.204:8080'

配置swift 准备了2个分区

zone1 zone2          在/srv/node 12 /dev/sdb1            /srv/node/zone1           xfs   defaults 0 0                  ##挂载 13 /dev/sdb2           /srv/node/zone2            xfs   defaults 0 0
[root@h5 ~(keystone_admin)]# chown -R swift.swift /srv/node/
[root@h5 swift(keystone_admin)]# cat swift.conf[swift-hash]swift_hash_path_suffix = %SWIFT_HASH_PATH_SUFFIX%[root@h2 ~(keystone_admin)]# find /srv/node/swiftloopback/ -type f -name "*.data"/srv/node/swiftloopback/objects/102340/afe/63f12ea37cca17f0227381adcf93eafe/1467982747.16551.datazone                 对象类型/分区的编号/sufix/文件名字的hash                  /上传文件的时间戳[root@h2 ~(keystone_admin)]# date --date=@1467982747.165512016年 07月 08日 星期五 20:59:07 CST

创建ring文件的准备工作 创建模板,设定有几个备份,有多少分区。

[root@h5 swift(keystone_admin)]# swift-ring-builder account.builder create 12 2 1[root@h5 swift(keystone_admin)]# swift-ring-builder object.builder create 12 2 1       [root@h5 swift(keystone_admin)]# swift-ring-builder container.builder create 12 2 1

指定映射位置

[root@h5 swift]# vim account-server.conf           #3个都要改ip  6 bind_ip = 192.168.1.204[root@h5 swift(keystone_admin)]# swift-ring-builder  account.builder add  z1-192.168.1.204:6202/zone1 100[root@h5 swift(keystone_admin)]# swift-ring-builder  account.builder add  z2-192.168.1.204:6202/zone2 100[root@h5 swift(keystone_admin)]# swift-ring-builder  object.builder add  z1-192.168.1.204:6200/zone1 100[root@h5 swift(keystone_admin)]# swift-ring-builder  object.builder add  z2-192.168.1.204:6200/zone2 100[root@h5 swift(keystone_admin)]# swift-ring-builder  container.builder add  z1-192.168.1.204:6201/zone1 100       [root@h5 swift(keystone_admin)]# swift-ring-builder  container.builder add  z2-192.168.1.204:6201/zone2 100

创建ring文件

[root@h5 swift(keystone_admin)]# swift-ring-builder account.builder  rebalance[root@h5 swift(keystone_admin)]# swift-ring-builder object.builder  rebalance[root@h5 swift(keystone_admin)]# swift-ring-builder container.builder  rebalance[root@h5 swift(keystone_admin)]# ls *.gzaccount.ring.gz  container.ring.gz  object.ring.gz

启动服务

[root@h5 srv(keystone_admin)]# systemctl  start openstack-swift-account  openstack-swift-object  openstack-swift-container[root@h5 srv(keystone_admin)]# systemctl  is-active openstack-swift-account  openstack-swift-object  openstack-swift-container     activeactiveactive[root@h5 srv(keystone_admin)]# systemctl  enable openstack-swift-account  openstack-swift-object  openstack-swift-container



代维服务proxy server

[root@h5 swift(keystone_admin)]# vim   proxy-server.conf 53 [filter:authtoken] 54 paste.filter_factory = keystonemiddleware.auth_token:filter_factory 55 admin_tenant_name = services 56 admin_user = swift 57 admin_password = hequan 58 # 59 identity_uri = http://192.168.1.204:35357/ 60 auth_port = 35357 61 auth_protocol = http 62 #auth_uri = http://192.168.1.204:5000/
[root@h5 swift(keystone_admin)]# systemctl  start openstack-swift-proxy.service[root@h5 swift(keystone_admin)]# systemctl  enable openstack-swift-proxy.service[root@h5 swift(keystone_admin)]# systemctl  start memcached.service[root@h5 swift(keystone_admin)]# systemctl  enable  memcached.service     [root@h5 swift(keystone_admin)]# swift  post h2[root@h5 swift(keystone_admin)]# swift listh2 [root@h5 swift(keystone_admin)]# swift  upload  h2  /etc/hosts任意一个分区挂了,还是可以正常查看两个都挂了,就看不到了

关于"openstack中swift如何安装"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

文件 服务 对象 容器 硬盘 服务器 目录 篇文章 账户 相同 两个 备份 数据 时间 更多 问题 准备 存储 不错 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 天津市摩尔互联网科技 湖南永感互联网科技有限公司 互联网科技有限公司经营范围 互联网核心科技是什么 合肥互联网科技公司 华中科技大学互联网 美国互联网黑科技 互联网科技咨询 互联网金融和金融科技 顺网科技2021年互联网排名 小米互联网科技园设置 宁夏众和广鑫互联网科技有限公司 互联网保险科技创业 用友工业互联网科技发展 小米互联网科技园入驻 广东工业互联网大赛深圳学泰科技 皮皮虾互联网科技有限公司 富国互联网科技002692 北京天晋互联网科技有限公司 互联网大会出现的黑科技 湖北九亚互联网络科技有限公司 江苏根荣互联网科技 上海互联网科技有限公司 万易互联网科技 齐家互联网科技 互联网金融科技平台 互联网 科技服务平台 湖北码尼互联网科技有限公司电话 2021世界互联网领先科技成果发布 东风日产互联网科技公司叫什么
0