Jump to: navigation, search

InstallInstructions/Swift/CentOS

< InstallInstructions/Swift
Revision as of 23:04, 10 November 2011 by Peter (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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/