立即注册 登录
About云-梭伦科技 返回首页

pig2的个人空间 https://www.aboutyun.com/?61 [收藏] [复制] [分享] [RSS]

日志

openstack【juno】入门 【swift篇】二十二:对象存储安装配置【控制节点】

已有 1293 次阅读2015-2-26 18:03

问题导读


1.swift包含哪些组件?
2.如果创建swift账户?
3.swift能否单独使用?
4.如果下载swift文件?





openstack【juno】入门 【cinder篇】二十一:安装配置块存储节点(cinder)

简介:
openstack  swift是一个多租户对象存储系统。它的高扩展性,以最小的成本管理大量的非结构化数据。
它包括下面组件

代理服务器【Proxy servers (swift-proxy-server)】

接受openstack对象存储api和raw HTTP 请求上传文件,修改元数据,和创建容器。它也存储文件和通过浏览器查看列表。为提高性能,通常使用可选的高速缓存


账户服务器【Account servers (swift-account-server)】
管理对象存储账户

容器服务器【Container servers (swift-container-server)】
在swift中,管理容器或则文件的映射


对象服务器【Object servers (swift-object-server)

管理实际对象,比如在存储节点的文件

Various periodic 进程
在大数量存储执行内部任务,replication 服务,确保集群一致性和高可用性。其它周期进程包括

WSGI 中间件

处理身份验证,通常是OpenStack身份。

部署向导

这一节描述怎么安装和配置代理服务,处理账户,container,对象服务操作请求,在存储节点上。为了简单起见,在控制节点上安装和配置代理服务。
尽管如此你可以在连接到存储节点的其它节点上安装代理服务。额外的,你可以安装配置代理服务到其它多节点,提高性能和冗余。更多信息查看


准备

代理服务依赖认证授权机制,比如身份认证服务。尽管如此,不像其他服务,它也提供内部认证机制,没有openstack其它服务也能进行操作。为了简单起见,这里使用认证服务。在配置对象服务之前,你必须创建认证服务和API endpoints.

注意:
对象存储服务在控制节点不使用SQL 数据库

1.创建身份认证服务,完成下面步骤

生效环境变量
  1. source admin-openrc.sh

内容如下:
  1. export OS_TENANT_NAME=admin
  2. export OS_USERNAME=admin
  3. export OS_PASSWORD=ADMIN_PASS
  4. export OS_AUTH_URL=http://controller:35357/v2.0

 


a.创建一个swift 用户

  1. keystone user-create --name swift --pass SWIFT_PASS

 

b.授予admin角色

  1. keystone user-role-add --user swift --tenant service --role admin

执行命令后,这里没有输出内容

c.创建swift 服务实例

  1. keystone service-create --name swift --type object-store \
  2.   --description "OpenStack Object Storage"

 


2.创建对象服务API endpoints:

  1. keystone endpoint-create \
  2.   --service-id $(keystone service-list | awk '/ object-store / {print $2}') \
  3.   --publicurl 'http://controller:8080/v1/AUTH_%(tenant_id)s' \
  4.   --internalurl 'http://controller:8080/v1/AUTH_%(tenant_id)s' \
  5.   --adminurl http://controller:8080 \
  6.   --region regionOne

 


安装配置控制节点组件

1.安装
  1. apt-get install swift swift-proxy python-swiftclient python-keystoneclient \
  2.   python-keystonemiddleware memcached

注意:完成openstack环境及openstack其它包

2.创建/etc/swift 目录

  1. mkdir /etc/swift



3.从对象存储服务源库获取代理服务配置文件

进入目录/etc/swift
  1. cd /etc/swift




,执行下面命令



  1. curl -o /etc/swift/proxy-server.conf \
  2.   https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/proxy-server.conf-sample



############################
如果curl不存在,则直接安装后,在执行命令,安装如下
  1. apt-get install curl



############################

4.编辑文件 /etc/swift/proxy-server.conf,完成下面内容

  1. sudo nano  /etc/swift/proxy-server.conf




a.在 [DEFAULT]部分,配置绑定的端口,用户和配置目录
  1. [DEFAULT]
  2. ...
  3. bind_port = 8080
  4. user = swift
  5. swift_dir = /etc/swift

 


b.在 [pipeline:main] 部分,启用appropriate modules

  1. [pipeline:main]
  2. pipeline = authtoken cache healthcheck keystoneauth proxy-logging proxy-server

 
注意:
更多信息在其他模块启用附加功能,查看部署向导


c.在[app:proxy-server]部分,启用账户管理

  1. [app:proxy-server]
  2. ...
  3. allow_account_management = true
  4. account_autocreate = true





d.在[filter:keystoneauth] 部分,配置操作的角色

  1. [filter:keystoneauth]
  2. use = egg:swift#keystoneauth
  3. ...
  4. operator_roles = admin,_member_

注意:
你可能需要取消这部分注释,你会看到【[filter:keystoneauth]】被注释掉了,所以需要取消掉
 

e.在[filter:authtoken]部分,配置身份认证访问
  1. [filter:authtoken]
  2. paste.filter_factory = keystonemiddleware.auth_token:filter_factory
  3. ...
  4. auth_uri = http://controller:5000/v2.0
  5. identity_uri = http://controller:35357
  6. admin_tenant_name = service
  7. admin_user = swift
  8. admin_password = SWIFT_PASS
  9. delay_auth_decision = true

 
注意:
1.你可能需要取消掉注释掉这部分【为了保证正确性,这里直接添加】
2.注释掉其他auth_host, auth_port, 和 auth_protocol,以免配置被覆盖

f.在 [filter:cache]部分,配置memcached 位置
  1. [filter:cache]
  2. ...
  3. memcache_servers = 127.0.0.1:11211



路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条