1、机器
192.168.1.211 Proxy Node
192.168.1.212 Storage Node
192.168.1.213 Storage Node
192.168.1.214 Storage Node
系统为SLES11sp1
2、配置软件源
因为公司服务器无法连外网,所以配置局域网源和本地源来搭建环境
上传ISO镜像文件到各台机器
SLES-11-SP4-DVD-x86_64-GM-DVD1.iso
每台机器挂载镜像,配置本地源
# mkdir /mnt/cdrom
# mount -o loop SLES-11-SP4-DVD-x86_64-GM-DVD1.iso /mnt/cdrom
# mount
/home/SLES-11-SP4-DVD-x86_64-GM-DVD1.iso on /mnt/cdrom type iso9660 (ro)
# vi /etc/zypp/repos.d/Local-iso.repo
[local-iso]
name=local iso repo
enabled=1
autorefresh=1
baseurl=file:/mnt/cdrom/
type=yast2
gpgcheck=0
http局域网源
/etc/zypp/repos.d # cat Icehouse.repo
[Icehouse]
name=Icehouse
enabled=1
autorefresh=1
baseurl=http://192.168.1.206:8080/download.opensuse.org/repositories/Cloud/OpenStack/Icehouse/SLE_11_SP3/
type=rpm-md
3、创建swift用户并配置权限
创建组
# groupadd swift
创建用户
# useradd -g swift -d /home/swift -s /bin/bash -m swift
为swift赋予sudo
# vi /etc/sudoers
在root ALL=(ALL) ALL一行下添加
swift ALL=(ALL) NOPASSWD:ALL
# passwd swift
5、基础配置
注意关闭SElinux和防火墙
分别在四台机器上安装依赖
# su - swift
sudo zypper install curlgcc memcached rsync sqlite3 xfsprogs Git-core libffi-dev python-setuptools
sudo zypper install python-coverage python-dev python-nose python-simplejson python-xattr python-eventlet python-greenlet python-pastedeploy python-netifaces python-pip python-dnspython python-mock python-swiftclient openstack-swift
注:
python-swiftclient是客户端工具,可以在服务器上安装使服务器只充当客户端。
每个节点上配置
~> sudo chown -R swift:swift /etc/swift
~> /etc/swift> cat swift.conf
[swift-hash]
#random unique strings that can neverchange(DO NOT LOSE)
swift_hash_path_prefix = 'od -t x8 -N 8 -An < /dev/random'
swift_hash_path_suffix = 'od -t x8 -N 8 -An < /dev/random'
6、安装配置proxy
sudo zypper install openstack-swift-proxy memcached
启动memcached
/usr/sbin # # ./memcached -d -m 10 -u swift -l 192.168.1.211 11211 -c 256 -P /tmp/memcached/pid
注:
memcached为什么这样启动,而不是在配置文件里写入是因为我发现写入配置文件后启动服务并没有生效。
/usr/sbin # service memcached status
Checking for service memcached
running
/usr/sbin # netstat -an | grep 11211
tcp 0 0 192.168.1.211:11211 0.0.0.0:* LISTEN
udp 0 0 192.168.1.211:11211 0.0.0.0:*
查看配置后的文件
/etc/swift> grep -v "^#" /etc/swift/proxy-server.conf | grep -v "^$"
[DEFAULT]
user = swift
bind_port = 8090
workers = 8
[pipeline:main]