swift 安装历程

本文详细介绍了在Ubuntu上安装Swift的过程,包括创建Swift用户、建立存储区域、配置rsync、日志文件设置、下载Swift源码、配置各节点、创建运行脚本以及进行测试。遇到的权限问题和解决方案也被详细记录,为读者提供了一步一步的指导。
摘要由CSDN通过智能技术生成
安装环境:ubuntu 11.10 desktop版本
参考文献: http://docs.openstack.org/developer/swift/development_saio.html#loopback-section
                 http://limu713.blog.163.com/blog/static/150869042011645655986/
                 http://wenku.baidu.com/view/aa04a27401f69e314332940d.html

                 http://www.cnblogs.com/yuxc/archive/2011/09/24/2188295.html

NOTE:step1--5 均需以root身份进行相关操作。当前用户修改root用户的命令可采取sudo passwd root命令

step1.  安装依赖软件:
            1.apt-get install python-software-properties(安装源仓库添加工具包)
            2.add-apt-repository ppa:swift-core/release(添加swift仓库
add-apt-repository ppa:swift-core/ppa不知道这两者之间有什么区别,我选择了前者)
            3.apt-get update(更新源列表,最好先把源改为最佳源,我用的是163的源。参考文章linux常见问题集)

            4.apt-get install curl gcc git-core memcached python-coverage python-devpython-nose python-setuptools python-simplejson python-xattr sqlite3xfsprogs python-eventlet python-greenlet python-pastedeploypython-netifaces python-pip

            5.pip install mock(note:
pip is a tool for installing and managing Python packages

step2:创建swift用户

sudo useradd -mk /home/swift -s /bin/bash swift

sudo password swift
       groupadd swift
       usermod -a -G swift swift(由于我创建的swift组里面仅仅包含swift用户,而swift用户也仅仅属于swift组,所以我没有添加-a选项)
        note:groupadd swift ; useradd swift -g swift 也是可行的。

 

编辑/etc/sudoers,添加以下一行

# User alias specification

swift   ALL=(ALL) NOPASSWD:ALL
note:在这一步的时候我出现了不能添加的问题,这是由于sudoers只是可读文件,不具有写权限。这个也很简单,直接用chmod命令修改即可添加,添加完成后还得修改为回原来的只读属性。我是后来在swift用户下运行sudo XX XX命令的时候提示出错的,按照提示错处再次通过chmod命令修改文件属性即可解决该问题。



step3. 建立存储区域
note:值得注意的是这里有两种方式建立存储区域,可以使用单独的分区或者环路设备来作为存储区域。之前采用了单独分区结果一直出错,特别是在分出一个区来格式化为xfs格式的时候出现了一系列问题。究其根本是对于linux文件系统的不熟悉与linux这种命令行操作方式的不熟悉导致的。虽然经过痛苦的出错纠错后成功了解决了这个问题。却在后面tempauth认证中出错了。最后忍痛直接重新开始做,采用了环路设备来存储,结果得到顺利进行下去了。与此同时为了后面需要用到新建用户来使用swift,自己也安装网上创建了swift:swift,当然你也可以创建其他用户名和用户组,

        dd if=/dev/zero of=/srv/swift-disk bs=1024 count=0 seek=1000000

       mkfs.xfs -i size=1024 /srv/swift-disk
       Edit /etc/fstab and add   /srv/swift-disk /mnt/sdb1 xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 0
       
mkdir /mnt/sdb1
       mount  /mnt/sdb1

mkdir /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4

chown -R swift:swift /mnt/sdb1/*

mkdir /srv

for x in {1..4}; do ln -s /mnt/sdb1/$x /srv/$x; done

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/swift

chown -R swift:swift /etc/swift /srv/[1-4]/ /var/run/swift 

//注意不要忘记/srv/[1-4]/后面的这个斜杠

//请务必验证/srv下各个目录的属主正确性,以及链接的正确性

        最后,把下面两行加入到/etc/rc.local文件的exit 0之前。

mkdir /var/run/swift

chown –R swift:swift /var/run/swift

step4. 配置rsync(配置文件见附件

编辑/etc/default/rsync:

RSYNC_ENABLE设置为true

重启服务:

service rsync restart



step5.(可选)创建单独的日志文件
        Create /etc/rsyslog.d/10-swift.conf:(见附件
        修改/etc/rsyslog.conf:

$PrivDropToGroup adm

 

mkdir -p /var/log/swift/hourly

chown -R syslog.adm /var/log/swif
       chmod -R g+w /var/log/swift
        service rsyslog restar


step6.下载swift源码和设置测试环境(step1---5是root权限下进行的,下面的将以swift用户进行操作
   

su - swift

mkdir ~/bin
       //笨笨熊的办法是采用bzr进行版本下载的。

    bzr init-repo swift(建立共享仓库swift)

cd ~/swift; bzr branch lp:swift trunk(建立swift的拷贝,并下载code。(branch alias get and clone))

cd ~/swift/trunk; sudo python setup.py develop
      但是在进行code下载的时候出现了错误,由于有其他办法所以也就没去深究解决之。下面是我采用直接从openstack里clone出源码//

      git clone  https://github.com/openstack/swift.git
        cd  ~/swift;
        sudo python setup.py develop

git clone https://github.com/openstack/python-swiftclient.git
cd ~/python-swiftclient; sudo python

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值