Ubuntu下Swift单节点安装测试小结

1      环境准备
1.1        版本
Linux系统版本:Ubuntu Server 12.04.1 LTS;

Swift版本:1.0(稍后安装);

Python版本:2.7.3(稍后安装);

Python-swiftclient版本:1.3.0(稍后安装)。

1.2        节点IP
IP:192.168.1.107。

1.3        替换镜像(可选步骤)
网速较慢或者安装软件失败的情况下,可以考虑替换成国内的镜像:

vsroot@ubuntu:~$ sudo sed -i's#us.archive.ubuntu.com#mirrors.163.com#g' /etc/apt/sources.list

vsroot@ubuntu:~$ sudo apt-get update

1.4        系统时间
vsroot@ubuntu:~$ date #查看系统时间是否正确,正确的话则忽略下面两步

vsroot@ubuntu:~$ sudo date -s"2013-11-04 15:05:57" #设置系统时间

vsroot@ubuntu:~$ sudo hwclock –w #写入硬件时间

1.5        关闭防火墙
请确保已关闭SELinux。

vsroot@ubuntu:~$ sudo ufw disable #关闭防火墙

2      通用的OS配置
2.1        创建Swift用户
vsroot@ubuntu:~$ sudo useradd -mk/home/swift -s /bin/bash swift

vsroot@ubuntu:~$ sudo passwd swift # 不妨把用户swift的密码设置成swift

编辑/etc/sudoers,在文件末尾添加以下内容:

vsroot@ubuntu:~$ sudo vim /etc/sudoers

# User alias specification

swift  ALL=(ALL) NOPASSWD:ALL

之后就可以切换到swift用户进行后续操作了:

vsroot@ubuntu:~$ su swift

2.2        安装Swift依赖库
swift@ubuntu:~$ sudo apt-get install curlgcc memcached rsync sqlite3 xfsprogs git-core libffi-dev python-setuptools

swift@ubuntu:~$ sudo apt-get installpython-coverage python-dev python-nose python-simplejson python-xattrpython-eventlet python-greenlet python-pastedeploy python-netifaces python-pippython-dnspython python-mock

2.3        安装Swift相关软件
swift@ubuntu:~$ sudo add-apt-repositorycloud-archive:grizzly

swift@ubuntu:~$ sudo apt-get update

swift@ubuntu:~$ sudo apt-get install swiftpython-swiftclient openssh-server

2.4        创建Swift工作目录
swift@ubuntu:~$ sudo mkdir -p /etc/swift

swift@ubuntu:~$ sudo chown -R swift:swift/etc/swift/

2.5        创建Swift配置文件
swift@ubuntu:~$ cat>/etc/swift/swift.conf <<EOF

[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`

EOF

2.6        设置IP的环境变量
根据自身真实IP设置如下:

swift@ubuntu:~$ export LOCAL_NET_IP=192.168.1.107

考虑到export命令只对当前用户的当前会话生效,也可以考虑将环境变量写到/etc/profile中:

swift@ubuntu:~$ sudo vim /etc/profile

swift@ubuntu:~$ source /etc/profile #当前会话立即生效

2.7        创建Swift服务目录并修改开机配置文件
swift@ubuntu:~$ sudo mkdir -p/var/cache/swift /var/cache/swift2 /var/cache/swift3 /var/cache/swift4

swift@ubuntu:~$ sudo chown swift:swift/var/cache/swift*

swift@ubuntu:~$ sudo mkdir -p/var/run/swift

swift@ubuntu:~$ sudo chown swift:swift/var/run/swift

swift@ubuntu:~$ sudo vim /etc/rc.local

sudo mkdir -p /var/cache/swift/var/cache/swift2 /var/cache/swift3 /var/cache/swift4

sudo chown swift:swift /var/cache/swift*

sudo mkdir -p /var/run/swift

sudo chown swift:swift /var/run/swift

exit 0

3      配置Proxy服务
3.1        安装swift-proxy库
swift@ubuntu:~$ sudo apt-get installswift-proxy memcached

3.2        配置memcached并监听默认的端口
swift@ubuntu:~$ sudo perl -pi -e "s/-l127.0.0.1 /-l $LOCAL_NET_IP/" /etc/memcached.conf # 替换成自己的IP

3.3        重启memcached服务器
swift@ubuntu: ~$ sudo service memcachedrestart

最好检查一下memcached服务是否已经正常启动。

3.4        创建Proxy服务器配置文件
swift@ubuntu:~$ cat>/etc/swift/proxy-server.conf <<EOF

[DEFAULT]

bind_port = 8080

workers = 1

user = swift

log_facility = LOG_LOCAL1

eventlet_debug = true

 

[pipeline:main]

# Yes, proxy-logging appears twice. This isnot a mistake.

pipeline = healthcheck proxy-logging cachetempauth proxy-logging proxy-server

 

[app:proxy-server]

use = egg:swift#proxy

allow_account_management = true

account_autocreate = true

 

[filter:tempauth]

use = egg:swift#tempauth

user_admin_admin = admin .admin.reseller_admin

user_test_tester = testing .admin

user_test2_tester2 = testing2 .admin

user_test_tester3 = testing3

 

[filter:healthcheck]

use = egg:swift#healthcheck

 

[filter:cache]

use = egg:swift#memcache

memcache_servers = $LOCAL_NET_IP:11211

 

[filter:proxy-logging]

use = egg:swift#proxy_logging

EOF

3.5        确保所有配置文件都属于swift用户
swift@ubuntu:~$ sudo chown -R swift:swift/etc/swift

相关推荐