openstack swift install on centos 6
1. proxy install
1) check your python version must>= 2.6
2) yum install libvirt
3) yum install memcached
4) yum install xfsprogs
5) yum install python-setuptools python-devel python-simplejson python-config
6) easy_install webob
7) easy_install eventlet
8) install xattr-0.6.2.tar.gz, python setup.py build, python setup.py install
9) install coverage-3.5.1.tar.gz, python setup.py build, python setup.py install
10) wget "http://www.openstack.org/projects/storage/latest-release/"
python setup.py build
python setup.py install
11) wget "https://github.com/downloads/gholt/swauth/swauth-lucid-build-1.0.2-1.tgz"
python setup.py build
python setup.py install
12) mkdir /etc/swift
13) yum install openssh-server
14) yum install git-core
15) vi /etc/swift/swift.conf
[swift-hash]
# random unique string that can never change (DO NOT LOSE)
swift_hash_path_suffix = `od -t x8 -N 8 -A n</dev/random`
16) goto /etc/swift/
17) openssl req -new -x509 -nodes -out cert.crt -keyout cert.key
18) service memcached restart, ps -aux | grep mem
495 16954 0.0 0.1 330756 816 ? Ssl 18:19 0:00 memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid
19) easy_install netifaces
20) vi /etc/swift/proxy-server.conf
[DEFAULT]
cert_file = /etc/swift/cert.crt
key_file = /etc/swift/cert.key
bind_port = 8080
workers = 8
user = swift
log_facility = LOG_LOCAL0
allow_account_management = true
[pipeline:main]
pipeline = healthcheck cache swauth proxy-server
[app:proxy-server]
use = egg:swift#proxy
allow_account_management = true
account_autocreate = true
log_facility = LOG_LOCAL0
log_headers = true
log_level =DEBUG
[filter:swauth]
use = egg:swauth#swauth
#use = egg:swift#swauth
default_swift_cluster = local#https://10.38.10.127:8080/v1
# Highly recommended to change this key to something else!
super_admin_key = swauthkey
log_facility = LOG_LOCAL1
log_headers = true
log_level =DEBUG
allow_account_management = true
[filter:healthcheck]
use = egg:swift#healthcheck
[filter:cache]
use = egg:swift#memcache
memcache_servers = 10.38.10.127:11211<http://10.38.10.127:11211>
21) config /etc/rsyslog.conf
local0.* /var/log/swift/proxy.log
local1.* /var/log/swift/swauth.log
21) build the ring, i have 3 node, 1 proxy
swift-ring-builder account.builder create 18 3 1
swift-ring-builder account.builder add z1-10.38.10.109:6002/sdb1 1
swift-ring-builder account.builder add z2-10.38.10.119:6002/sdb1 1
swift-ring-builder account.builder add z3-10.38.10.114:6002/sdb1 1
swift-ring-builder object.builder rebalance
swift-ring-builder account.builder rebalance
swift-ring-builder object.builder create 18 3 1
swift-ring-builder object.builder add z1-10.38.10.109:6000/sdb1 1
swift-ring-builder object.builder add z2-10.38.10.119:6000/sdb1 1
swift-ring-builder object.builder add z3-10.38.10.114:6000/sdb1 1
swift-ring-builder object.builder rebalance
swift-ring-builder container.builder create 18 3 1
swift-ring-builder container.builder add z1-10.38.10.109:6001/sdb1 1
swift-ring-builder container.builder add z2-10.38.10.119:6001/sdb1 1
swift-ring-builder container.builder add z3-10.38.10.114:6001/sdb1 1
swift-ring-builder container.builder rebalance
22) easy_install configobj
23) easy_install nose
24) easy_install simplejson
25) easy_install xattr
26) easy_install eventlet
27) easy_install greenlet
28) easy_install pastedeploy
29) groupadd swift
30) useradd -g swift swift
31) chown -R swift:swift /etc/swift/
32) service rsyslog restart
33) swift-init proxy start
2. storage node install
1) yum install python-setuptools python-devel python-simplejson python-configobj python-nose
2) yum install openssh-server
3) easy_install webob
4) yum install curl gcc memcached sqlite xfsprogs
5) easy_install eventlet
6) wget "http://pypi.python.org/packages/source/x/xattr/xattr-0.6.2.tar.gz#md5=5fc899150d03c082558455483fc0f89f"
python setup.py build
python setup.py install
7) wget "http://pypi.python.org/packages/source/c/coverage/coverage-3.5.1.tar.gz#md5=410d4c8155a4dab222f2bc51212d4a24"
python setup.py build
python setup.py install
8) yum install libvirt
9) groupadd swift
10) useradd -g swift swift
11) mkdir -p /etc/swift
12) chown -R swift:swift /etc/swift/
13) cp swift.conf account.ring.gz container.ring.gz object.ring.gz /etc/swift/ (scp from proxy server)
14) yum install xfsprogs
15) wget "http://www.openstack.org/projects/storage/latest-release/"
python setup.py build
python setup.py install
16) vi /etc/rsyncd.conf
# rsyncd.conf
secrets file = /etc/rsyncd.secrets
#motd file = /etc/rsyncd.motd
#read only = yes
#list = yes
uid = root
gid = root
use chroot = no
max connections = 5
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[domain]
comment = welcome
path = /var/www/domain/
auth users = root
hosts allow = 10.38.10.114, 127.0.0.1, 10.38.10.119, 10.38.10.109, 10.38.10.122
hosts deny = *
list = true
read only = no
[account]
max connections = 2
path = /home/swift/
read only = false
lock file = /var/lock/account.lock
[container]
max connections = 2
path = /home/swift/
read only = false
lock file = /var/lock/container.lock
[object]
max connections = 2
path = /home/swift/
read only = false
lock file = /var/lock/object.lock
17) rsync --daemon
18) vi /etc/swift/account-server.conf
[DEFAULT]
bind_ip = 10.38.10.109
workers = 2
mount_check = false
bind_port = 6002
log_facility = LOG_LOCAL0
devices = /srv/1/node
[pipeline:main]
pipeline = account-server
[app:account-server]
use = egg:swift#account
[account-replicator]
log_name = account-replicator
log_facility = LOG_LOCAL1
[account-auditor]
log_name = account-auditor
log_facility = LOG_LOCAL1
[account-reaper]
log_facility = LOG_LOCAL1
19) vi /etc/swift/container-server.conf
[DEFAULT]
bind_ip = 10.38.10.109
workers = 2
mount_check = false
bind_port = 6001
log_facility = LOG_LOCAL0
devices = /srv/1/node
[pipeline:main]
pipeline = container-server
[app:container-server]
use = egg:swift#container
[container-replicator]
[container-updater]
[container-auditor]
[container-sync]
20) vi /etc/swift/object-server.conf
[DEFAULT]
bind_ip = 10.38.10.109
workers = 2
mount_check = false
bind_port = 6000
log_facility = LOG_LOCAL0
devices = /srv/1/node
[pipeline:main]
pipeline = object-server
[app:object-server]
use = egg:swift#object
[object-replicator]
[object-updater]
[object-auditor]
21) yum install python-setuptools
22) esay_install netifaces
23) easy_install pastedeploy
24) vi /etc/rsyslog.conf
local0.* /var/log/swift/account.log
local1.* /var/log/swift/account-rest.log
25) mkdir /srv
26) dd if=/dev/zero of=/srv/swift-disk bs=1024 count=0 seek=1000000
27) mkfs.xfs -i size=1024 /srv/swift-disk
28) vi /etc/fstab
/srv/swift-disk /mnt/sdb1 xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 0
29) mkdir /mnt/sdb1
30) mount /mnt/sdb1
31) mkdir /mnt/sdb1/1
32) chown swift:swift /mnt/sdb1/*
33) ln -s /mnt/sdb1/1 /srv/1
34) mkdir -p /etc/swift/object-server /etc/swift/container-server /etc/swift/account-server /srv/1/node/sdb1 /var/run/swift
35) chown -R swift:swift /etc/swift /srv/1/ /var/run/swift
36) swift-init all start
3. test
swauth-prep -A https://10.38.10.127:8080/auth/ -K swauthkey
refer:
http://swift.openstack.org/development_saio.html
http://swift.openstack.org/howto_installmultinode.html
http://www.openstack.org.cn/bbs/forum.php?mod=viewthread&tid=264
https://answers.launchpad.net/swift/+question/162957
http://www.vpsee.com/2011/08/install-openstack-nova-on-centos/