InstallInstructions/Swift/CentOS

openstack swift install on centos 6

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]

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

default_swift_cluster = local#https://10.38.10.127:8080/v1

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

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

secrets file = /etc/rsyncd.secrets

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) chown -R swift:swift /srv/1

37) 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/

Published by Google Docs–Report Abuse–Updated automatically every 5 minutes