openstack Swift安装测试报告Word文档格式.docx
- 文档编号:17898164
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:52
- 大小:1.55MB
openstack Swift安装测试报告Word文档格式.docx
《openstack Swift安装测试报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《openstack Swift安装测试报告Word文档格式.docx(52页珍藏版)》请在冰豆网上搜索。
✧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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- openstack Swift安装测试报告 Swift 安装 测试报告