Openstack Swift安装(二)

上一篇里我们在Controller上安装好了Swift-proxy。

本篇中我们就来安装Swift在Storage上的组件。

安装和配置Storage结点

Note: 如果你有多个Storage结点,你需要将本文的操作在每一台Storage结点上都重复一遍。

准备工作

1) 准备存储设备

在前面我介绍 Swift All In One 安装的时候,用了回环设备虚拟了一个存储设备。

不过这次我们不是要当做是生产环境安装嘛,还用回环设备就显得有点low。

既然我们是虚拟机,首先虚拟两个硬盘出来吧。

下面的操作推荐使用root用户

2) 安装工具软件

安装一下这两个东西。

apt-get install xfsprogs rsync

3) 格式化磁盘

我们新加的两个硬盘分别被标识成了/dev/sdb和/dev/sdc。

我们需要将它们格式化成xfs格式。

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

4) 建立两个硬盘对应的挂载点

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

5) 设置开机自动挂载

编辑/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

6) 正式挂载

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

上面这些步骤和我们设置SAIO时是类似的。

7) 设置rsync

按照下面的模板编辑/etc/rsyncd.conf文件(如果没有就新建一个)

address后面的IP地址是Storage Node在Management网络上的IP地址。

uid = swift
gid = swift
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
address = 10.20.0.3

[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

8) 启用rsync

首先编辑/etc/default/rsync,找到其中的RSYNC_ENABLE,将值设为true

RSYNC_ENABLE=true

然后用如下命令开启rsync服务

service rsync start

我们可以在Controller上运行一下下面的命令来验证rsync的安装情况。

rsync rsync://[email protected]

正确的响应应当类似下面:

account
container
object

安装和设置组件

1) 首先当然还是安装组件

apt-get install swift swift-account swift-container swift-object

2) 分别下载配置文件样例来覆盖原有的配置文件

curl -o /etc/swift/account-server.conf \\
  https://git.openstack.org/cgit/openstack/swift/plain/etc/account-server.conf-sample?h=stable/liberty
curl -o /etc/swift/container-server.conf \\
  https://git.openstack.org/cgit/openstack/swift/plain/etc/container-server.conf-sample?h=stable/liberty
curl -o /etc/swift/object-server.conf \\
  https://git.openstack.org/cgit/openstack/swift/plain/etc/object-server.conf-sample?h=stable/liberty
  

3) 我们首先来进行/etc/swift/account-server.conf的配置

首先来看[DEFAULT]段落:

[DEFAULT]
...
bind_ip = 10.20.0.3
bind_port = 6002
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = true

然后是[pipeline:main]

[pipeline:main]
pipeline = healthcheck recon account-server

接下来再看[filter:recon]

[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift

4) 然后我们配置一下/etc/swift/container-server.conf

还是首先来看[DEFAULT]

[DEFAULT]
...
bind_ip = 10.20.0.3
bind_port = 6001
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = true

和上面同样,接下来是[pipeline:main]

[pipeline:main]
pipeline = healthcheck recon container-server

然后是[filter:recon]

[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift

5) 我们还有最后一个文件/etc/swift/object-server.conf需要配置

和上面一样,首先需要修改[DEFAULT]

[DEFAULT]
...
bind_ip = 10.20.0.3
bind_port = 6000
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = true

然后是[pipeline:main]

[pipeline:main]
pipeline = healthcheck recon object-server

最后同样是[filter:recon]

[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift
recon_lock_path = /var/lock

6) 最后给一些目录设置权限

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

至此,在Storage结点上的Swift就配置结束了。

接下来我们要进行对象环的设置。。。。。。

这篇已经这么长了。

那么,接下来的内容在:Openstack Swift安装(三)