openstack Swift安装测试报告Word文档格式.docx

上传人:b****5 文档编号:17898164 上传时间:2022-12-12 格式:DOCX 页数:52 大小:1.55MB
下载 相关 举报
openstack Swift安装测试报告Word文档格式.docx_第1页
第1页 / 共52页
openstack Swift安装测试报告Word文档格式.docx_第2页
第2页 / 共52页
openstack Swift安装测试报告Word文档格式.docx_第3页
第3页 / 共52页
openstack Swift安装测试报告Word文档格式.docx_第4页
第4页 / 共52页
openstack Swift安装测试报告Word文档格式.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

openstack Swift安装测试报告Word文档格式.docx

《openstack Swift安装测试报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《openstack Swift安装测试报告Word文档格式.docx(52页珍藏版)》请在冰豆网上搜索。

openstack Swift安装测试报告Word文档格式.docx

✧AccountServer

帐号服务与容器服务非常相似,除了它是负责处理容器的列表而不是对象。

1.1.3.认证节点

在存储节点和代理节点接入外网之前,首先要通过一个附加的认证节点对用户进行比对认证。

在早期,Swift使用单独的认证服务对用户进行核对,随着OpenStack项目的逐渐发展,目前Swift以及结合了OpenStack的认证Keystone,形成统一的云认证体系。

1.2.部署方式

在官方文档中建议至少使用5个zone,一个zone就是一组独立节点,官方给出的标配例图如图所示:

1.3.组件间的通信

Swift代理节点与存储节点间的通信方式如下:

1.4.存储原理

Swift利用一致性哈希算法构建了一个冗余的可扩展的分布式对象存储集群,但一致性哈希算法不能保证绝对的平衡,当节点较少的时候,需要存储的对象不能被均匀地映射到节点上,这样每个节点的存储压力不平衡。

为了解决这个问题,swift在一致性哈希算法的基础上,引入虚拟节点(partition)的概念。

虚拟节点是实际节点在环形空间的复制品,一个实际节点对应了若干个虚拟节点,通过中间一层虚拟节点的存储再分配,数据可以比较均匀得分布在各个节点上了。

如图所示:

由此可见,Storagenode与partition,partition与object间的映射关系如下:

在Storagenode上运行着Linux系统并使用了XFS文件系统,逻辑上使用一致性哈希算法将固定总数的partition映射到每个Storagenode上,每个object也使用同样的哈希算法映射到Partition上。

2.测试环境

2.1.部署架构

在测试环境中,因资源有限,将认证服务和代理服务合并到一台机器上,提供3个存储节点,测试环境的架构如下:

各节点环境说明:

节点

IP地址

系统

作用

Client-1

172.21.2.111

CentOS6.3

测试客户端1

Client-2

172.21.3.83

Keystone认证+Swift代理节点+测试客户端2

Node1

172.21.0.186

Swift存储节点1

Node2

172.21.0.16

Swift存储节点2

Node3

172.21.3.81

Swfit存储节点3

2.2.组件说明

各节点需要部署的组件:

各节点的组件说明:

keystone认证

名称

功能

版本

Keystone

认证服务

2012.2.1-1

MySQL

数据库(keystone认证信息)

5.1.61-4

Proxy(Swift代理节点)

openstack-swift-proxy

Swift代理服务

1.7.4-2

memcached

Cache服务

1.4.13-1

python-keystonepython-keystoneclient

Keystoneapi(Swift认证使用)

python-keystone-2012.2.1-1

python-keystoneclient-0.1.3.27-1

Stroage(Swfit存储节点)

openstack-swift-account

Swift账户组件

openstack-swift-container

Swift容器组件

openstack-swift-object

Swift对象组件

rsync

同步

3.0.6-9

2.3.存储设备

在官方文档中建议至少使用5个zone,一个zone就是一组独立节点。

由于资源有限,本章测试用存储节点只有3个,划分为3个zone(实际应用中请根据实际情况配置存储节点),存储设备划分如下:

存储节点

Zone

IP

Server

Port

Device

z1

account

6002

sdb1

container

6001

object

6000

z2

sda4

z3

sdb3

3.Swift安装与配置

3.1.认证节点安装配置

本次测试采用OpenStack的认证Keystone,安装配置不再做介绍。

3.1.1.Swift认证

在openstack控制节点上注册swift服务,本节命令均在172.21.3.83上执行:

1、查看tenant-id

#keystonetenant-list

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

|id|name|enabled|

|d62e088d84724839b7824e902e30b5e0|admin|True|

|d8760d8f69c54f9c8a0f248e848fcd36|service|True|

2、创建swift用户

#keystoneuser-create--name=swift--pass=service--email=swift@--tenant-idd8760d8f69c54f9c8a0f248e848fcd36

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

|Property|Value|

|email|swift@|

|enabled|True|

|id|2ae272a4cb074bb797a4a403cb4eb733|

|name|swift|

|password|$6$rounds=40000$GnvpDaRRGrEyCn78$Svrd27V2MfrnHVz5qZ8KURbJlCzbDtyD5hrw6pUGd0tq.WH/oHX.9KcoynDtFG2J8/CNLXw6t/08nvSc3B1cU1|

|tenantId|d8760d8f69c54f9c8a0f248e848fcd36|

3、创建SwiftOperator角色

#keystonerole-create--name=SwiftOperator

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

|id|9e4ab1d1f06a4ef5bcbb74f4188e7dee|

|name|SwiftOperator|

#keystonerole-list

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

|id|name|

|6a3c16d1f57344bc9e0e7ecd57b430b7|admin|

|9e4ab1d1f06a4ef5bcbb74f4188e7dee|SwiftOperator|

|d1c9f81c6d374ee8a4329c141f744d61|KeystoneServiceAdmin|

|d3936704e4bf4ff19a30d5ed37d5945e|Member|

|ff16e138d7154733bb80acb3cd7108fd|KeystoneAdmin|

4、为swift用户分配角色

#keystoneuser-role-add--tenant-idd8760d8f69c54f9c8a0f248e848fcd36--role-id6a3c16d1f57344bc9e0e7ecd57b430b7--user-id2ae272a4cb074bb797a4a403cb4eb733

#keystoneuser-role-add--tenant-idd8760d8f69c54f9c8a0f248e848fcd36--role-id9e4ab1d1f06a4ef5bcbb74f4188e7dee--user-id2ae272a4cb074bb797a4a403cb4eb733

5、查看用户具有的角色

#keystoneuser-role-list--user-id2ae272a4cb074bb797a4a403cb4eb733--tenant-idd8760d8f69c54f9c8a0f248e848fcd36

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

|id|name|user_id|tenant_id|

|6a3c16d1f57344bc9e0e7ecd57b430b7|admin|2ae272a4cb074bb797a4a403cb4eb733|d8760d8f69c54f9c8a0f248e848fcd36|

|9e4ab1d1f06a4ef5bcbb74f4188e7dee|SwiftOperator|2ae272a4cb074bb797a4a403cb4eb733|d8760d8f69c54f9c8a0f248e848fcd36|

6、创建swift服务及其endpoint

#keystoneservice-create--name=swift--type="

object-store"

--description="

SwiftService"

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

|description|SwiftService|

|id|504e8ceddb0f4aee84febab0873779f1|

|type|object-store|

#service=$(keystoneservice-list|awk'

/swift/{print$2}'

#keystoneendpoint-create--regionRegionOne--service_id$service--publicurl"

http:

//172.21.0.16:

8888/v2/AUTH_\$(tenant_id)s"

--adminurl"

8888/"

--internalurl"

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

|adminurl|http:

8888/|

|id|9dfb61b484b448e4bcad364e0eeaf074|

|internalurl|http:

8888/v2/AUTH_$(tenant_id)s|

|publicurl|http:

|region|RegionOne|

|service_id|504e8ceddb0f4aee84febab0873779f1|

3.2.代理节点安装配置

3.2.1.系统基础配置

1、关闭selinux

#vi/etc/selinux/config

……

SELINUX=disabled

2、关闭防火墙

#serviceiptablesstop

#chkconfigiptablesoff

3、重启机器

#reboot

3.2.2.设置时间同步

1、安装ntpdate

#yuminstall-yntpdate

2、时间同步

#ntpdate172.21.3.83

3、设置计划任务

#crontab-e

023***ntpdate172.21.3.83>

>

/var/log/ntpdate.log

3.2.3.安装软件包

代理节点需要安装的软件包:

#yuminstall–ypython-setuptoolsxinetdxfsprogs

#yuminstall–yopenstack-swift-proxymemcached

#yuminstallpython-keystonepython-keystoneclient

3.2.4.配置swift文件

#vi/etc/swift/swift.conf

[swift-hash]

swift_hash_path_suffix=`od-tx8-N8-An<

/dev/random`

注:

这个文件所有的存储节点和代理节点共用,可以用scp拷贝到其它节点

3.2.5.配置proxy服务

#vi/etc/swift/proxy-server.conf

[DEFAULT]

bind_port=8888

workers=8

user=swift

log_name=swift-proxy

log_level=DEBUG

log_facility=LOG_LOCAL0

[pipeline:

main]

pipeline=healthcheckcacheauthtokenkeystoneproxy-server

[app:

proxy-server]

use=egg:

swift#proxy

allow_account_management=true

account_autocreate=true

[filter:

cache]

swift#memcache

memcache_servers=127.0.0.1:

11211

catch_errors]

swift#catch_errors

healthcheck]

swift#healthcheck

keystone]

paste.filter_factory=keystone.middleware.swift_auth:

filter_factory

operator_roles=admin,SwiftOperator

is_admin=true

cache=swift.cache

authtoken]

paste.filter_factory=keystone.middleware.auth_token:

admin_tenant_name=service

admin_user=swift

admin_password=service

auth_host=172.21.3.83

auth_port=35357

auth_protocol=http

signing_dir=/tmp/keystone-signing-swift

3.2.6.配置日志

1、创建swift日志配置文件

#vi/etc/rsyslog.d/10-swift.conf

local0.*/var/log/swift/proxy.log

2、创建日志目录

#mkdir-p/var/log/swift

#chown-Rswift:

swift/var/log/swift

3、重启日志服务

#servicersyslogrestart

3.2.7.配置Ring

1、进入/etc/swift目录

#cd/etc/swift/

2、创建Ring

#swift-ring-builderaccount.buildercreate1821

#swift-ring-buildercontainer.buildercreate1821

#swift-ring-builderobject.buildercreate1821

注:

后面的数字第一个为存储分区数,第二个为备份次数,备份次数不能大于ZONE数目,第三个为延迟删除的时间,以小时为单位

3、向环里添加存储设备

为测试swift的动态扩展,此步先配制2个存储设备:

执行以下命令添加存储设备:

#swift-ring-builderaccount.builderaddz1-172.21.0.186:

6002/sda3100

#swift-ring-buildercontainer.builderaddz1-172.21.0.186:

6001/sda3100

#swift-ring-builderobject.builderaddz1-17

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1