1. 程式人生 > >openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務 一

openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務 一

openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務 一

openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務 二

openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務 三

openstack-r版(rocky)搭建基於centos7.4 的openstack swift物件儲存服務 四

基礎環境

本次使用環境使用vmware 搭建 單節點openstack r版本 ,一臺controller,一臺compute,一臺cinder,一臺swift節點。

swift物件儲存部署在3臺機器中,分別為compute,cinder,swift,每臺增加2塊100G硬碟

簡介

swift主要有四個元件:swift-proxy-server、swift-account-server、swift-container-server、swift-object-server

swift-proxy-server(代理服務):對外提供物件服務 API

swift-account-server(賬戶服務):提供賬戶元資料和統計資訊,並維護所含容器列表的服務,管理由物件儲存定義的賬戶

swift-container-server(容器服務):提供容器元資料和統計資訊,並維護所含物件列表的服務

swift-object-server(物件服務):提供物件元資料和內容服務,每個物件的內容會以檔案的形式儲存在檔案系統中,元資料會作為檔案屬性來儲存,建議採用支援擴充套件屬性的 XFS 檔案系統

以下操作均在控制節點controller執行

前提已經安裝完openstack所有核心服務

執行 . adminrc

 ###建立swift使用者服務端點等。

openstack user create --domain default --password-prompt swift
openstack role add --project service --user swift admin
openstack service create --name swift \
  --description "OpenStack Object Storage" object-store
openstack endpoint create --region RegionOne \
  object-store public http://controller:8080/v1/AUTH_%\(project_id\)s
openstack endpoint create --region RegionOne \
  object-store internal http://controller:8080/v1/AUTH_%\(project_id\)s

openstack endpoint create --region RegionOne \
  object-store admin http://controller:8080/v1

##安裝服務
yum install openstack-swift-proxy python-swiftclient \
  python-keystoneclient python-keystonemiddleware \
  memcached -y

##從物件儲存源儲存庫獲取代理服務配置檔案
curl -o /etc/swift/proxy-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/rocky
##編輯 /etc/swift/proxy-server.conf 檔案 標紅位置配置修改swift使用者密碼
[DEFAULT]

bind_port = 8080
user = swift
swift_dir = /etc/swift
[pipeline:main]
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server
[app:proxy-server]
use = egg:swift#proxy
account_autocreate = True

[filter:keystoneauth]
use = egg:swift#keystoneauth
operator_roles = admin,user
[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
www_authenticate_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = swift
password = SWIFT_PASS
delay_auth_decision = True

[filter:cache]
use = egg:swift#memcache
memcache_servers = controller:11211
##儲存退出