• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > OpenStack之swift安装笔记,openstackswift

OpenStack之swift安装笔记,openstackswift

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含openstack swift 安装,openstack swift,openstack安装,openstack安装教程,openstack安装部署等服务器相关知识,网友希望可以进行参考

OpenStack之swift安装笔记,openstackswift


    在顺利的安装部署了KeyStone之后,原以为swift的安装调试也会如KeyStone一般,但过程却充满了坎坷,在结合源代码中的一些函数之后,终于成功的完成了swift的安装,并实验了上传下载文件等功能,下面整理了swift的安装过程,并对遇到的问题进行了总结,希望对遇到同样问题的人有些启示或帮助。安装过程依然参考的是OpenStack的官方安装手册,但补充了一些细节。在安装之前,先简单的介绍一下Swift是什么、主要功能是什么。OpenStack的对象存储(Swift)是一个多租户的、高可扩展的对象存储系统,通过RESTful HTTP API管理着大量的非结构化数据,在部署对象存储之前必须至少安装了身份服务(KeyStone)。Swift包含的组件包括:

    代理服务依赖于认证和授权机制,如果使用身份服务完成认证和授权的话,则在配置管理swift之前,首先要在keystone中创建swift的认证信息和endpoint。对象存储在控制节点上不适用SQL数据库。由于之前已经成功部署了KeyStone,所以这里就不在赘述KeyStone的安装过程,直接进入Swift的安装。本次安装是在单节点的虚拟机进行的,也就是控制节点和存储节点部署在相同的主机中,操作系统为CentOS7.1。首先在KeyStone中创建Swift的用户、服务及endpoint,具体命令及结果如下:

[openstack@localhost ~]$ keystone user-create --name swift --pass 123456
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |                                  |
| enabled  |               True               |
|    id    | ed4f45ac3e8a4ac683d54b642e61ac04 |
|   name   |              swift               |
| username |              swift               |
+----------+----------------------------------+
keystone user-role-add --user swift --role admin --tenant service
[openstack@localhost ~]$ keystone service-create --name swift --type object-store
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
| description |                                  |
|   enabled   |               True               |
|      id     | 094cc0da43e348f8b792f77ef99f8e7e |
|     name    |              swift               |
|     type    |           object-store           |
+-------------+----------------------------------+
[openstack@localhost ~]$ keystone endpoint-create --region regionOne --service swift --publicurl 'http://localhost:8080/v1/AUTH_%(tenant_id)s' --internalurl 'http://localhost:8080/v1/AUTH_%(tenant_id)s' --adminurl 'http://localhost:8080/v1/AUTH_%(tenant_id)s'
+-------------+-----------------------------------------------------------------+
|   Property  |                              Value                              |
+-------------+-----------------------------------------------------------------+
|   adminurl  |                    http://locoalhost:8080/v1/                   |
|      id     |                 c0da7d196e204e038766740e405dbbce                |
| internalurl | http://locoalhost:8080/v1/AUTH_2835009c452b4d408f95ff5a920fc877 |
|  publicurl  | http://locoalhost:8080/v1/AUTH_2835009c452b4d408f95ff5a920fc877 |
|    region   |                            regionOne                            |
|  service_id |                 094cc0da43e348f8b792f77ef99f8e7e                |
+-------------+-----------------------------------------------------------------+
    然后安装proxy-server,swift客户端、memcached等:yum install openstack-swift-proxy python-swiftclient python-keystone-auth-token python-keystonemiddleware memcached。上面命令中的python-keystone-auth-token是无法安装的,当使用yum安装时将会报如下的异常信息:没有可用软件包 python-keystone-auth-token。经过在OpenStack的官网确认,该问题属于文档中的错误,直接忽略该问题或者执行yum install openstack-swift-proxy python-swiftclient  python-keystonemiddleware memcached。安装执行完毕后,执行下面的命令下载proxy-server.conf文件:

curl -o /etc/swift/proxy-server.conf https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/proxyserver.conf-sample
    下载完成后需要对文件中的配置参数进行修改,修改的具体内容如下:

  • 在[DEFAULT]中指定端口号、用户名和配置文件目录:
[DEFAULT]
...
bind_port = 8080
user = swift
swift_dir = /etc/swift
  • 在[pipeline:main]中,启用合适的模块:
[pipeline:main]
pipeline = authtoken cache healthcheck keystoneauth proxy-logging proxy-server
  • 在[app:proxy-server]中,启用用户管理功能:
[app:proxy-server]
...
allow_account_management = true
account_autocreate = true
  • 在[filter:keystoneauth]中配置合适的操作角色;
[filter:keystoneauth]
use = egg:swift#keystoneauth
...
operator_roles = admin,_member_
  • 在[filter:authtoken]中配置认证服务的相关信息:
[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
...
auth_uri = http://localhost:5000/v2.0
identity_uri = http://localhost:35357
admin_tenant_name = service
admin_user = swift
admin_password = SWIFT_PASS #指定为使用keystone创建swift用户时设置的密码,比如123456
delay_auth_decision = true
  • 在[filter:cache]中,配置memcached的位置:
[filter:cache]
...
memcache_servers = 127.0.0.1:11211
    这样就完成了proxy-server的安装和部署,可以使用systemctl启动该服务了,但目前先不启动该服务,直到部署配置存储服务后。在安装存储服务之前,先为存储服务指定存储目录,这需要将磁盘分区挂载到存储目录。根据官方的安装手册,挂载的磁盘必须具备分区表,也就是该磁盘已经分区完毕。经过测试,该磁盘具备几个分区不重要,但必须执行了分区,可以使用fdisk命令进行磁盘分区操作。虽然Swift支持各种文件系统,但根据测试XFS文件系统具有最好的性能和稳定性,所以对磁盘分区后,比如/dev/sdb1,需要使用命令mkfs.xfs对/dev/sdb1进行格式化:mkfs.xfs /dev/sdb1。格式化完成后,创建挂载目录:mkdir -p /srv/node/,然后编辑/etc/fstab,添加下面语句:
/dev/sdb1 /srv/node/ xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
    最后挂载设备的存储目录:mount /srv/node,并修改该目录的所有者为运行swift的用户:chown -R swift:swift /srv/。挂载目录是swift一个潜在的容易出问题的地方,有可能是权限问题,也有可能和后面介绍的配置文件有关,具体的问题后面再详细介绍。挂载设备后,还需要修改/etc/rsyncd.conf文件,具体内容如下:
uid = swift
gid = swift
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
address = MANAGEMENT_INTERFACE_IP_ADDRESS
[account]
max connections = 2
path = /srv/
read only = false
lock file = /var/lock/account.lock
[container]
max connections = 2
path = /srv/
read only = false
lock file = /var/lock/container.lock
[object]
max connections = 2
path = /srv/
read only = false
lock file = /var/lock/object.lock
    做完准备工作后,执行下面的命令进行存储服务的安装,包括account-server、container-server和object-server:yum install openstack-swift-account openstack-swift-container openstack-swift-object。安装完成后,执行下面的命令下载account-server.conf、container-server.conf和object-server.conf文件:
curl -o /etc/swift/account-server.conf https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/account-server.conf-sample

curl -o /etc/swift/container-server.conf https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/container-server.conf-sample

curl -o /etc/swift/object-server.conf https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/object-server.conf-sample
    三个配置文件所要修改的内容很相似,因此仅对account-server.conf进行说明,其它两个文件不同的地方将进行标记。
  • 在[DEFAULT]中,配置ip地址、端口号、用户、配置文件所在目录和挂载目录,需要注意的地方是挂载目录,该目录为挂载点的上级目录,比如/dev/sdb1挂载到目录/srv/node目录,在该配置文件的中的挂载目录应该为/srv,而不是/srv/node。
[DEFAULT]
...
bind_ip = 127.0.0.1
bind_port = 6002 #不同的服务使用不同的端口
user = swift
swif
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • OpenStack之swift安装笔记,openstackswift

相关文章

  • MapReduce处理二次排序(分区-排序-分组),mapreduce二次
  • hdfs一致性模型,hdfs一致性
  • HDFS读文件解析,
  • 这会不会是顶好的实现万物互联的途径?--设备智能化改造,万物--
  • 每日定时导入hive数据仓库的自动化脚本,hive数据仓库脚本
  • TopicModel主题模型,topicmodel模型
  • jsp里input中获取当前时间,与WdatePicker配合使用,inputwdatepicker
  • Hadoop 源代码分析(三)对象序列化,hadoop序列化
  • HBase基本数据操作详解,HBase数据操作详解
  • 2015.6.8,2015年6月8日

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 【Spark】弹性分布式数据集RDD概述,sparkrdd概述
    • 联想台式机启天m4350 启用intel vt-x,m4350vt-x
    • 浅谈SaaS应用开发的难度,浅谈saas应用开发
    • RabbitMQ(python实现)学习之一:简单两点传输“Hello World”的实现,rabbitmqpython
    • Openstack Nova(九)----Instance 创建(Computer API & Conductor ),openstacknovaapi
    • Hbase namespace问题,hbasenamespace问题
    • (Kilo)Devstack Kilo版本localrc推荐,devstacklocalrc
    • MapReduce对输入多文件的处理,mapreduce输入处理
    • Elasticsearch 之 Facet,elasticsearchfacet
    • 配置tomcat默认项目,tomcat默认项目

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有