Jump to: navigation, search

Difference between revisions of "InstallInstructions/Swift/CentOS"

m (Text replace - "__NOTOC__" to "")
 
Line 1: Line 1:
__NOTOC__
+
 
 
openstack swift install on centos 6
 
openstack swift install on centos 6
  

Latest revision as of 23:29, 17 February 2013

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