OpenStack Object Storage(swift)安装文档.docx_第1页
OpenStack Object Storage(swift)安装文档.docx_第2页
OpenStack Object Storage(swift)安装文档.docx_第3页
OpenStack Object Storage(swift)安装文档.docx_第4页
OpenStack Object Storage(swift)安装文档.docx_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Swift在Ubuntu系统上的安装与配置由于环境有限,并且刚开始着手swift,因此选择的是最简单的安装方式,所有组件都部署在一台机器上,即SAIO(Swift All In One)安装方式。一、系统ubuntu 10.04 Desktop机器ip:5官方网站:/参考文档:/development_saio.html二、SAIO的安装注意:2.12.5必须以root身份进行操作2.1、安装依赖包1. apt-get install python-software-properties2. add-apt-repository ppa:swift-core/release3. apt-get update4. apt-get install curl gcc git-core memcached python-configobj python-coverage python-dev python-nose python-setuptools python-simplejson python-xattr sqlite3 xfsprogs python-webob python-eventlet python-greenlet python-pastedeploy python-netifaces5. Install anything else you want, like screen, ssh, vim, etc.2.2、创建swift用户注意:不要使用useradd命令创建,ubuntu中useradd命令默认不会创建用户主目录,使用adduser命令创建swift用户adduser swift编辑/etc/sudoers,添加以下一行# User alias specificationswift ALL=(ALL) NOPASSWD:ALL2.3、使用环路设备来存储1. mkdir /srv2. dd if=/dev/zero of=/srv/swift-disk bs=1024 count=0 seek=1000000(modify seek to make a larger or smaller partition)3. mkfs.xfs -i size=1024 /srv/swift-disk4. Edit /etc/fstab and add/srv/swift-disk /mnt/sdb1 xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 05. mkdir /mnt/sdb16. mount /mnt/sdb17. mkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/48. chown swift:swift /mnt/sdb1/*9. for x in 1.4; do ln -s /mnt/sdb1/$x /srv/$x; done10. mkdir -p /etc/swift/object-server /etc/swift/container-server /etc/swift/account-server /srv/1/node/sdb1 /srv/2/node/sdb2 /srv/3/node/sdb3 /srv/4/node/sdb4 /var/run/swift11. chown -R swift:swift /etc/swift /srv/1-4/ /var/run/swift Make sure to include the trailing slash after /srv/1-4/12. Add to /etc/rc.local (before the exit 0):mkdir /var/run/swiftchown swift:swift /var/run/swift2.4、设置rsync1. Create /etc/rsyncd.conf:uid = swiftgid = swiftlog file = /var/log/rsyncd.logpid file = /var/run/rsyncd.pidaddress = account6012max connections = 25path = /srv/1/node/read only = falselock file = /var/lock/account6012.lockaccount6022max connections = 25path = /srv/2/node/read only = falselock file = /var/lock/account6022.lockaccount6032max connections = 25path = /srv/3/node/read only = falselock file = /var/lock/account6032.lockaccount6042max connections = 25path = /srv/4/node/read only = falselock file = /var/lock/account6042.lockcontainer6011max connections = 25path = /srv/1/node/read only = falselock file = /var/lock/container6011.lockcontainer6021max connections = 25path = /srv/2/node/read only = falselock file = /var/lock/container6021.lockcontainer6031max connections = 25path = /srv/3/node/read only = falselock file = /var/lock/container6031.lockcontainer6041max connections = 25path = /srv/4/node/read only = falselock file = /var/lock/container6041.lockobject6010max connections = 25path = /srv/1/node/read only = falselock file = /var/lock/object6010.lockobject6020max connections = 25path = /srv/2/node/read only = falselock file = /var/lock/object6020.lockobject6030max connections = 25path = /srv/3/node/read only = falselock file = /var/lock/object6030.lockobject6040max connections = 25path = /srv/4/node/read only = falselock file = /var/lock/object6040.lock2. Edit the following line in /etc/default/rsync:RSYNC_ENABLE=true3. service rsync restart2.5、日志设置(可选)1. Create /etc/rsyslog.d/10-swift.conf:# Uncomment the following to have a log containing all logs together#local1,local2,local3,local4,local5.* /var/log/swift/all.log# Uncomment the following to have hourly proxy logs for stats processing#$template HourlyProxyLog,/var/log/swift/hourly/%$YEAR%$MONTH%$DAY%$HOUR%#local1.*;local1.!notice ?HourlyProxyLoglocal1.*;local1.!notice /var/log/swift/proxy.loglocal1.notice /var/log/swift/proxy.errorlocal1.* local2.*;local2.!notice /var/log/swift/storage1.loglocal2.notice /var/log/swift/storage1.errorlocal2.* local3.*;local3.!notice /var/log/swift/storage2.loglocal3.notice /var/log/swift/storage2.errorlocal3.* local4.*;local4.!notice /var/log/swift/storage3.loglocal4.notice /var/log/swift/storage3.errorlocal4.* local5.*;local5.!notice /var/log/swift/storage4.loglocal5.notice /var/log/swift/storage4.errorlocal5.* 2. Edit /etc/rsyslog.conf and make the following change:$PrivDropToGroup adm3. mkdir -p /var/log/swift/hourly4. chown -R syslog.adm /var/log/swift5. service rsyslog restart注意:2.62.9必须以swift身份进行操作2.6、获取代码和设置测试环境1. su - swift2. mkdir /bin3. Check out the swift repo with git clone /openstack/swift.git4. Build a development installation of swift, for example: cd /swift; sudo python setup.py develop5. Edit /.bashrc and add to the end:export SWIFT_TEST_CONFIG_FILE=/etc/swift/func_test.confexport PATH=$PATH:/bin6. . /.bashrc2.7、配置各个节点(以下这些文件不存,需要自己创建)1. Create /etc/swift/proxy-server.conf:DEFAULTbind_port = 8080user = swiftlog_facility = LOG_LOCAL1pipeline:mainpipeline = healthcheck cache tempauth proxy-serverapp:proxy-serveruse = egg:swift#proxyallow_account_management = trueaccount_autocreate = truefilter:tempauthuse = egg:swift#tempauthuser_admin_admin = admin .admin .reseller_adminuser_test_tester = testing .adminuser_test2_tester2 = testing2 .adminuser_test_tester3 = testing3filter:healthcheckuse = egg:swift#healthcheckfilter:cacheuse = egg:swift#memcache2. Create /etc/swift/swift.conf:swift-hash# random unique string that can never change (DO NOT LOSE)swift_hash_path_suffix = changeme3. Create /etc/swift/account-server/1.conf:DEFAULTdevices = /srv/1/nodemount_check = falsebind_port = 6012user = swiftlog_facility = LOG_LOCAL2pipeline:mainpipeline = account-serverapp:account-serveruse = egg:swift#accountaccount-replicatorvm_test_mode = yesaccount-auditoraccount-reaper4. Create /etc/swift/account-server/2.conf:DEFAULTdevices = /srv/2/nodemount_check = falsebind_port = 6022user = swiftlog_facility = LOG_LOCAL3pipeline:mainpipeline = account-serverapp:account-serveruse = egg:swift#accountaccount-replicatorvm_test_mode = yesaccount-auditoraccount-reaper5. Create /etc/swift/account-server/3.conf:DEFAULTdevices = /srv/3/nodemount_check = falsebind_port = 6032user = swiftlog_facility = LOG_LOCAL4pipeline:mainpipeline = account-serverapp:account-serveruse = egg:swift#accountaccount-replicatorvm_test_mode = yesaccount-auditoraccount-reaper6. Create /etc/swift/account-server/4.conf:DEFAULTdevices = /srv/4/nodemount_check = falsebind_port = 6042user = swiftlog_facility = LOG_LOCAL5pipeline:mainpipeline = account-serverapp:account-serveruse = egg:swift#accountaccount-replicatorvm_test_mode = yesaccount-auditoraccount-reaper7. Create /etc/swift/container-server/1.conf:DEFAULTdevices = /srv/1/nodemount_check = falsebind_port = 6011user = swiftlog_facility = LOG_LOCAL2pipeline:mainpipeline = container-serverapp:container-serveruse = egg:swift#containercontainer-replicatorvm_test_mode = yescontainer-updatercontainer-auditorcontainer-sync8. Create /etc/swift/container-server/2.conf:DEFAULTdevices = /srv/2/nodemount_check = falsebind_port = 6021user = swiftlog_facility = LOG_LOCAL3pipeline:mainpipeline = container-serverapp:container-serveruse = egg:swift#containercontainer-replicatorvm_test_mode = yescontainer-updatercontainer-auditorcontainer-sync9. Create /etc/swift/container-server/3.conf:DEFAULTdevices = /srv/3/nodemount_check = falsebind_port = 6031user = swiftlog_facility = LOG_LOCAL4pipeline:mainpipeline = container-serverapp:container-serveruse = egg:swift#containercontainer-replicatorvm_test_mode = yescontainer-updatercontainer-auditorcontainer-sync10. Create /etc/swift/container-server/4.conf:DEFAULTdevices = /srv/4/nodemount_check = falsebind_port = 6041user = swiftlog_facility = LOG_LOCAL5pipeline:mainpipeline = container-serverapp:container-serveruse = egg:swift#containercontainer-replicatorvm_test_mode = yescontainer-updatercontainer-auditorcontainer-sync11. Create /etc/swift/object-server/1.conf:DEFAULTdevices = /srv/1/nodemount_check = falsebind_port = 6010user = swiftlog_facility = LOG_LOCAL2pipeline:mainpipeline = object-serverapp:object-serveruse = egg:swift#objectobject-replicatorvm_test_mode = yesobject-updaterobject-auditor12. Create /etc/swift/object-server/2.conf:DEFAULTdevices = /srv/2/nodemount_check = falsebind_port = 6020user = swiftlog_facility = LOG_LOCAL3pipeline:mainpipeline = object-serverapp:object-serveruse = egg:swift#objectobject-replicatorvm_test_mode = yesobject-updaterobject-auditor13. Create /etc/swift/object-server/3.conf:DEFAULTdevices = /srv/3/nodemount_check = falsebind_port = 6030user = swiftlog_facility = LOG_LOCAL4pipeline:mainpipeline = object-serverapp:object-serveruse = egg:swift#objectobject-replicatorvm_test_mode = yesobject-updaterobject-auditor14. Create /etc/swift/object-server/4.conf:DEFAULTdevices = /srv/4/nodemount_check = falsebind_port = 6040user = swiftlog_facility = LOG_LOCAL5pipeline:mainpipeline = object-serverapp:object-serveruse = egg:swift#objectobject-replicatorvm_test_mode = yesobject-updaterobject-auditor2.8、创建运行swift运行的脚本1. Create /bin/resetswift.If you did not set up rsyslog for individual logging, remove the find /var/log/swift. line:#!/bin/bashswift-init all stopfind /var/log/swift -type f -exec rm -f ;sudo umount /mnt/sdb1sudo mkfs.xfs -f -i size=1024 /srv/swift-disksudo mount /mnt/sdb1sudo mkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4sudo chown swift:swift /mnt/sdb1/*mkdir -p /srv/1/node/sdb1 /srv/2/node/sdb2 /srv/3/node/sdb3 /srv/4/node/sdb4sudo rm -f /var/log/debug /var/log/messages /var/log/rsyncd.log /var/log/syslogsudo service rsyslog restartsudo service memcached restart2. Create /bin/remakerings:#!/bin/bashcd /etc/swiftrm -f *.builder *.ring.gz backups/*.builder backups/*.ring.gzswift-ring-builder object.builder create 18 3 1swift-ring-builder object.builder add z1-:6010/sdb1 1swift-ring-builder object.builder add z2-:6020/sdb2 1swift-ring-builder object.builder add z3-:6030/sdb3 1swift-ring-builder object.builder add z4-:6040/sdb4 1swift-ring-builder object.builder rebalanceswift-ring-builder container.builder create 18 3 1swift-ring-builder container.builder add z1-:6011/sdb1 1swift-ring-builder container.builder add z2-:6021/sdb2 1swift-ring-builder container.builder add z3-:6031/sdb3 1swift-ring-builder container.builder add z4-:6041/sdb4 1swift-ring-builder container.builder rebalanceswift-ring-builder account.builder create 18 3 1swift-ring-builder account.builder add z1-:6012/sdb1 1swift-ring-builder account.builder add z2-:6022/sdb2 1swift-ring-builder account.builder add z3-:6032/sdb3 1swift-ring-builder account.builder add z4-:6042/sdb4 1swift-ring-builder account.builder rebalance3. Create /bin/startmain:#!/bin/bashswift-init main start4. Create /bin/startrest:#!/bin/bashswift-init rest start2.9、脚本测试1. 添加/bin/*的执行权限chmod +x /bin/*2. 重新产生ringsremakerings输出以下信息:Device z1-:6010/sdb1_ with 1.0 weight got id 0Device z2-:6020/sdb2_ with 1.0 weight

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论