OpenStack Ubuntu Swift多节点安装手册.docx
- 文档编号:12878726
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:11
- 大小:58.42KB
OpenStack Ubuntu Swift多节点安装手册.docx
《OpenStack Ubuntu Swift多节点安装手册.docx》由会员分享,可在线阅读,更多相关《OpenStack Ubuntu Swift多节点安装手册.docx(11页珍藏版)》请在冰豆网上搜索。
OpenStackUbuntuSwift多节点安装手册
展云科技
Openstack控制节点安装
Ubuntu版
版本
作者
联系方式
日期
备注
v0.1
曾云龙
QQ:
283912449
2012-9-1
初稿
目录
1安装前说明3
1系统配置3
1.1网卡配置3
1.2安装bridge4
1.3设置NTP4
2安装swift4
2.1安装swift相关组件5
2.2创建并配置目录5
2.3配置swift/etc/swift/swift.conf文件5
3安装Proxy节点5
3.1安装代理节点5
3.2创建SSL自签名认证5
3.3修改memcached监听接口6
3.4配置proxy-server.conf6
4配置节点信息(Ring)6
4.1创建账户、容器、对象配置信息6
4.2为存储节点添加物理映射信息6
4.3验证ring的内容7
4.4平衡ring7
4.5确保/etc/swift所有权属于swift用户7
4.6重启代理服务7
5配置存储节点7
5.1安装swift相关组件7
5.2在每个节点的设备上安装XFS卷7
5.3创建备份配置文件/etc/rsyncd.conf8
5.4配置rsync开机启动8
5.5配置swift日志文件8
5.6创建/etc/swift/account-server.conf8
5.7创建/etc/swift/container-server.conf8
5.8创建/etc/swift/object-server.conf9
5.9启动swift所有服务9
5.10验证swift服务9
6备注9
6.1rsync相关错误9
1安装前说明
swift多节点安装,官方建议一台代理服务器,五台存储节点。
基本的结构和组成如下:
1、节点(node):
物理主机运行一个或者多个Swift服务。
2、代理节点(Proxynode):
该节点运行代理服务,同时运行临时授权服务。
3、存储节点(Storagenode):
节点运行账户(Account)、容器(Container)、对象服务(ObjectServices)。
4、环形(Ring):
Swift数据(或者称作实体)到物理设备的映射(Map)。
本文档的演示使用如下几种节点类型,代理节点和存储节点是安装在同一台服务器上的,因此代理节点和存储节点均为3台:
1、3个代理节点(Proxynode),提供网络响应效率和吞吐量以及性能问题:
运行的swift代理服务进程可以让请求到达时,找到合适的存储节点。
这个代理服务同样以服务器网关接口中间件(WSGIMiddleware,WSGI:
WebServerGatewayInterface)提供临时认证(TempAuth)服务。
2、3个存储节点(官方建议5台):
存储节点运行的服务swift-account-server、swift-container-server、swift-object-server分别控制着账户数据库、容器数据库以及真实存储的对象存储。
本文档描述了在ring中,每个存储节点是作为一个分离的zone(区域),3个存储节点就相当于三个区域。
每一个区域就是一个节点组,用来与其他节点分离的。
(分开服务、网络、功能、evengeography),RING保证所有的复制品被保存在隔离的区域。
因为三台swift服务器的安装和配置相同,因此下面的示例是单节点下的配置,其他配置雷同。
1系统配置
系统环境
型号
操作系统
CPU
内存
网卡
硬盘大小
DellR520
Ubuntu12.04server
16G
192.168.2.20/24
300G+6T
DellR520
Ubuntu12.04server
16G
192.168.2.21/24
300G+6T
DellR520
Ubuntu12.04server
16G
192.168.2.22/24
300G+6T
1.1网卡配置
修改/etc/network/interface文件,如下所示:
重启网络,让修改生效:
/etc/init.d/networkingrestart
1.2安装bridge
apt-getinstallbridge-utils
重启网络或者重启机器都可以
1.3设置NTP
apt-getinstallntp
编辑/etc/ntp.conf,在末尾添加如下内容:
server192.168.2.10
重启服务:
servicentprestart
2安装swift
安装python-software-properties
在资源仓库增加swift源:
add-apt-repositoryppa:
swift-core/release
更新:
apt-getupdate
安装依赖包:
apt-get--optionDpkg:
:
Options:
:
=--force-confold--assume-yesupdate
apt-getinstallpep8pylintpython-pipscreenunzipwgetpsmiscgit-corelsofopenssh-servervim-noxlocatepython-virtualenvpython-unittest2iputils-pingwgetcurltcpdumpeuca2oolspython-setuptoolspython-devpython-lxmlpython-pastescriptpython-pastedeploypython-pastesqlite3python-pysqlite2python-sqlalchemypython-mysqldbpython-webobpython-greenletpython-routeslibldap2-devlibsasl2-devpython-bcryptcurlgccpython-configobjpython-coveragepython-devpython-eventletpython-greenletpython-netifacespython-nosepython-pastedeploypython-setuptoolspython-simplejsonpython-webobpython-xattrsqlite3xfsprogs
2.1安装swift相关组件
apt-getinstallswiftpython-swiftopenssh-server
2.2创建并配置目录
创建目录:
mkdir–p/etc/swift
将目录/etc/swift的访问权限赋予swift用户:
chown–Rswift:
swift/etc/swift
2.3配置swift/etc/swift/swift.conf文件
修改/etc/swift/swift.conf文件,内容如下:
注意:
所有swift节点的swift_hash_path_suffix值可以随便取,但是都要一样。
3安装Proxy节点
3.1安装代理节点
apt-getinstallswift-proxymemcached
3.2创建SSL自签名认证
cd/etc/swift
opensslreq–new–x509–nodes–outcert.crt–keyoutcert.key
3.3修改memcached监听接口
perl–pi–e“s/-l127.0.0.1/-l192.168.2.20/”/etc/memcached.conf
重启缓存服务器:
servicememcachedrestart
3.4配置proxy-server.conf
proxy-server.conf配置信息如附件所示:
需要注意的是,proxy-server.conf文件里面没有下图所示的配置,会出现403错误:
proxy-server.conf通过ssl访问的话,需要在[DEFAULT]里面加上:
4配置节点信息(Ring)
4.1创建账户、容器、对象配置信息
cd/etc/swift
swift-ring-builderaccount.buildercreate1821
swift-ring-buildercontainer.buildercreate1821
swift-ring-builderobject.buildercreate1821
注意:
我们创建的这3个Ring文件,18表示将分区处理成2^18,2表示我们有3个zone,根据我们的zone数量来定义的,如果跟我们实际情况有差异,可能会在启动服务的时候报错。
第三个数字1表示限制分区数据的转移时间,这里为一小时。
4.2为存储节点添加物理映射信息
exportHOST_IP=192.168.2.20
swift-ring-builderobject.builderaddz1-${HOST_IP}:
6010/sdb1100
swift-ring-buildercontainer.builderaddz1-${HOST_IP}:
6011/sdb1100
swift-ring-builderaccount.builderaddz1-${HOST_IP}:
6012/sdb1100
exportHOST_IP=192.168.2.21
swift-ring-builderobject.builderaddz2-${HOST_IP}:
6010/sdb1100
swift-ring-buildercontainer.builderaddz2-${HOST_IP}:
6011/sdb1100
swift-ring-builderaccount.builderaddz2-${HOST_IP}:
6012/sdb1100
exportHOST_IP=192.168.2.22
swift-ring-builderobject.builderaddz3-${HOST_IP}:
6010/sdb1100
swift-ring-buildercontainer.builderaddz3-${HOST_IP}:
6011/sdb1100
swift-ring-builderaccount.builderaddz3-${HOST_IP}:
6012/sdb1100
4.3验证ring的内容
swift-ring-builderobject.builder
swift-ring-buildercontainer.builder
swift-ring-builderaccount.builder
4.4平衡ring
平衡ring的意思,实际上就是生成最终的ring。
执行下面的命令可能需要一点时间:
swift-ring-builderobject.builderrebalance
swift-ring-buildercontainer.builderrebalance
swift-ring-builderaccount.builderrebalance
4.5确保/etc/swift所有权属于swift用户
chown–Rswift:
swift/etc/swift/*
4.6重启代理服务
swift-initproxyrestart
5配置存储节点
5.1安装swift相关组件
apt-getinstallswift-accountswift-containerswift-objectxfsprogs
5.2在每个节点的设备上安装XFS卷
fdisk/dev/sdb
mkfs.xfs–Isize=1024/dev/sdb1
echo“/dev/sdb1/srv/node/sdb1xfsnoatime,nodiratime,nobarrier,logbufs=800”>>/etc/fstab
mkdir–p/srv/node/sdb1
mount/srv/node/sdb1
chown–Rswift:
swift/srv/node/*
5.3创建备份配置文件/etc/rsyncd.conf
相关配置在附件中:
5.4配置rsync开机启动
在/etc/default/rsync里将RSYNC_ENABLE=false改成true:
perl–pi-e‘s/RSYNC_ENABLE=false/RSYNC_ENABLE=true’/etc/default/rsync
启动rsync服务:
servicersyncstart
5.5配置swift日志文件
1、创建swift日志文件:
在/etc/rsyslog.d/目录下创建文件:
10-swift.conf
10-swift.conf配置信息如下:
2、创建日志目录
mkdir–p/var/log/swift/
3、重启日志服务进程
servicersyslogrestart
5.6创建/etc/swift/account-server.conf
5.7创建/etc/swift/container-server.conf
5.8创建/etc/swift/object-server.conf
5.9启动swift所有服务
swift-initallstart
5.10验证swift服务
1、通过curl
curl-d'{"auth":
{"tenantName":
"admin","passwordCredentials":
{"username":
"admin","password":
"zhanyunToken"}}}'-H"Content-type:
application/json"http:
//192.168.2.10:
35357/v2.0/tokens|python-mjson.tool
2、使用swift
swift-V2-Ahttp:
//192.168.2.10:
5000/v2.0-Uadmin:
admin-KzhanyunTokenstat
3、使用swift创建文件夹
swift-V2-Ahttp:
//192.168.2.10:
5000/v2.0-Uadmin:
admin-KzhanyunTokenpostmyfiles
5、使用swift上传文件
swift-V2-Ahttp:
//192.168.2.10:
5000/v2.0-Uadmin:
admin-KzhanyunTokenoploadmyfilesyourfilepathandName
6备注
6.1rsync相关错误
1、namelookupfailedfor192.168.2.21:
Nameorservicenotknown
在每个swift节点修改/etc/hosts文件,加入其他swift节点的IP和hostname,如下:
2、container-replicatorERRORrsyncfailedwith5:
['rsync','--quiet','--no-motd','--timeout=10','--contimeout=1','--whole-file','
3、swifterror:
[Errno32]Brokenpipe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OpenStack Ubuntu Swift多节点安装手册 Swift 节点 安装 手册