本文参照官方教程:http://docs.openstack.org/project-install-guide/object-storage/draft/environment-networking.html

我们要设置的swift节点名称为object1,主控节点和proxy节点都是controller。

在controller节点的/etc/hosts文件里写上节点名称和ip地址,必须是能ping通的地址,同理,swift节点的/etc/hosts文件要写上各种地址。

在controller节点上进行以下操作:

source /root/admin-openrc.sh #必须找到该配置文件

创建swift用户:

openstack user create --domain default --password-prompt swift

给swift用户赋予admin角色权限

openstack role add --project service --user swift admin

创建swift服务:

openstack service create --name swift --description "OpenStack Object Storage" object-store

创建endpoints:

openstack endpoint create --region RegionOne object-store public http://controller:8080/v1/AUTH_%\(tenant_id\)s
openstack endpoint create --region RegionOne object-store internal http://controller:8080/v1/AUTH_%\(tenant_id\)s
openstack endpoint create --region RegionOne object-store admin http://controller:8080/v1

安装需要的组件:

yum install openstack-swift-proxy python-swiftclient python-keystoneclient python-keystonemiddleware memcached

下载配置文件:

curl -o /etc/swift/proxy-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/newton

修改配置文件/etc/swift/proxy-server.conf:

[DEFAULT]
bind_port = 8080
user = swift
swift_dir = /etc/swift
[pipeline:main]
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server
[app:proxy-server]
use = egg:swift#proxy
...
account_autocreate = True
[filter:keystoneauth]
use = egg:swift#keystoneauth
...
operator_roles = admin,user
[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211 #这里有时候需要改成127.0.0.1:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = swift
password = 要设置的swift用户的密码
delay_auth_decision = True
[filter:cache]
use = egg:swift#memcache
...
memcache_servers = controller:11211 #这里有时候需要改成127.0.0.1:11211

接下来在storage节点上操作,也就是swift节点,若节点机器有多个,需要在每台节点机器上都执行
安装依赖组件:

yum install xfsprogs rsync

预先连接几块未格式化的硬盘,不要挂载和格式化,然后执行以下命令,一般为两块到三块

mkfs.xfs /dev/sdb
mkfs.xfs /dev/sdc
mkfs.xfs /dev/sdd

创建对应的挂载节点目录:

mkdir -p /srv/node/sdb
mkdir -p /srv/node/sdc
mkdir -p /srv/node/sdd

修改以下文件/etc/fstab:

/dev/sdb /srv/node/sdb xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
/dev/sdc /srv/node/sdc xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
/dev/sdd /srv/node/sdd xfs noatime,nodiratime,nobarrier,logbufs=8 0 2

挂载盘:

mount /srv/node/sdb
mount /srv/node/sdc
mount /srv/node/sdd

修改/etc/rsyncd.conf文件:

uid = swift
gid = swift
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
address = storage节点用来与外部访问的地址
[account]
max connections = 2
path = /srv/node/
read only = False
lock file = /var/lock/account.lock
[container]
max connections = 2
path = /srv/node/
read only = False
lock file = /var/lock/container.lock
[object]
max connections = 2
path = /srv/node/
read only = False
lock file = /var/lock/object.lock

创建并重启服务:

systemctl enable rsyncd.service
systemctl start rsyncd.service

以上是针对proxy连接组件的安装配置,接下来是account组件的配置,先安装组件包:

yum install openstack-swift-account openstack-swift-container openstack-swift-object

修改/etc/swift/account-server.conf文件:

[DEFAULT]
...
bind_ip = storage(swift)节点用于外部访问的连接地址
bind_port = 6002
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = True
[pipeline:main]
pipeline = healthcheck recon account-server
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift

修改container的配置文件/etc/swift/container-server.conf:

[DEFAULT]
...
bind_ip =storage(swift)节点用于外部访问的连接地址
bind_port = 6001
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = True
[pipeline:main]
pipeline = healthcheck recon container-server
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift

修改object配置文件/etc/swift/object-server.conf:

[DEFAULT]
...
bind_ip =storage(swift)节点用于外部访问的连接地址
bind_port = 6000
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = True
[pipeline:main]
pipeline = healthcheck recon object-server
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift
recon_lock_path = /var/lock

给节点赋予权限

chown -R swift:swift /srv/node
mkdir -p /var/cache/swift
chown -R root:swift /var/cache/swift
chmod -R 775 /var/cache/swift
 
 
 
 
 
 

 

openstack swift节点安装手册1-节点配置的更多相关文章

  1. openstack swift节点安装手册3-最后的安装配置及验证

    以下步骤都在controller节点上执行 1.远程获取/etc/swift/swift.conf文件: curl -o /etc/swift/swift.conf https://git.opens ...

  2. openstack June all-in-one 安装手册

    by lt,hyc 1.安全规范 表1:openstack用户和密码值设置 用户名 含义  本文的设置值 Admin openstack管理员用户 ADMIN_PASS Keystone openst ...

  3. openstack swift节点安装手册2-创建rings

    以下步骤需要在controller节点上进行操作: 切换到/etc/swift目录下进行如下操作: 一.创建account ring 1.创建account.builder文件 swift-ring- ...

  4. IDM主机上安装融合应用程序配置框架

    IDM主机上安装融合应用程序配置框架   安装Oracle融合应用程序>设置>身份和访问管理节点安装融合应用程序配置框架 由于我们使用Oracle VirtualBox虚拟机这一次,我们在 ...

  5. 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置

    本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...

  6. (九)OpenStack---M版---双节点搭建---Swift(单节点)安装和配置

    ↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 本次搭建仅采用Compute单节点做swift组件 1.Controller安装并配置控制节点 ...

  7. openstack--5--控制节点和计算节点安装配置nova

    Nova相关介绍 目前的Nova主要由API,Compute,Conductor,Scheduler组成 Compute:用来交互并管理虚拟机的生命周期: Scheduler:从可用池中根据各种策略选 ...

  8. Ubuntu 12.04 Openstack Essex 安装(单节点)

    这是陈沙克一篇非常好的博文,当时在进行openstack排错的时候,多亏了这篇文章里面有些内容 帮我找到了问题的所在: 原文:http://www.chenshake.com/ubuntu-12-04 ...

  9. openstack grizzly版cloud控制节点安装

    openstack-ubuntu-create 参考官方文档 三个节点:cloud :控制节点内网:10.10.10.10外网:172.16.56.252 network:网络节点内网:10.10.1 ...

随机推荐

  1. jnlp初次试用

    1.jnlp是什么?是java提供的一种让你可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个 java应 用程序.好处就不用说了,如果你的java应用程序 ...

  2. __slots__,__doc__,__del__,__call__,__iter__,__next__迭代器协议(三十六)

    1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 2.引子:使用点来访问属性本质就是在访问类或者对象的__dic ...

  3. 求n(n>=2)以内的质数/判断一个数是否质数——方法+细节优化

    #include <stdio.h> #include <stdlib.h> //判断i是否质数,需要判断i能否被(long)sqrt(i)以内的数整除 //若i能被其中一个质 ...

  4. Ruler.java

    /****************************************************************************** * Compilation: javac ...

  5. 静态代码块、构造代码块、构造方法优先级(重点)-------java基础总结

    package com.mon11.day11; /** * 类说明 : * @author 作者 : chenyanlong * @version 创建时间:2017年11月11日 */ publi ...

  6. 虚拟化技术之KVM

    虚拟化技术之KVM 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是虚拟化 其实虚拟化技术已经不是一个新技术了,上个世纪六十年代IBM公司已经在使用,只不过后来(上个世纪八 ...

  7. Jenkins部署实战篇

    Jenkins部署实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.持续集成理论 1>.开发写代码的演变过程 1.1>.一个开发单打独斗,撸代码,开发网站,自由 ...

  8. apache服务Forbidden 403问题精彩总结

    部署apache服务Forbidden 403问题小结 ForbiddenYou don't have permission to access / on this server. http错误代码4 ...

  9. H5利用canvas实现海报功能

    最近接到一个需求,微信中用户上传图片生成海报.这个需求比较常规,实现思路也比较简单,通过利用用户的input输入,对所上传的图片进行处理,最后通过第三方库html2canvas合成对应的图片即可.思路 ...

  10. 转--Python标准库之一句话概括

    作者原文链接 想掌握Python标准库,读它的官方文档很重要.本文并非此文档的复制版,而是对每一个库的一句话概括以及它的主要函数,由此用什么库心里就会有数了. 文本处理 string: 提供了字符集: ...