感谢支持
我们一直在努力

Ubuntu 12.04 LTS 上安装swift1.4.8

  • 0.环境
  • 1.安装依赖库
  • 2.准备磁盘
  • 3.构建ring
  • 4.安装swift

    • 4.1 apt-get install安装
    • 4.2源代码安装

  • 5.更改配置文件
  • 6.启动服务  
    0.环境
     
        操作系统:Ubuntu 12.04 LTS,swift版本:1.4.8。四台机器,IP地址分别为:
        192.168.1.11,
        192.168.1.12,
        192.168.1.13,
        192.168.1.14.
    由于swift的全分布式特点,故每个节点都作为存储节点,并选用192.168.1.11作为proxy server。
    磁盘分区如下:

     
     
    1.安装依赖库
        所有节点都需要安装的:
     

     

    Python-netifaces
    python-setuptools
    python-eventlet
    python-pastedeploy
    python-xattr
    xfsprogs


     
            以上软件包可以直接使用apt-get install来安装。一个比较特殊的包:python-webob。该包在ubuntu软件源中的版本是1.1.1(ubuntu12.04).而这个版本有个bug,会导致swift client使用HEAD无法正常的获取content-length。比如,获取文件尺寸,得到的结果永远是 13。解决方法是在ubuntu软件包网站下载1.0.8版本的deb安装包,然后手工安装。安装包我已经下载,见附件。
     
    2.准备磁盘
        选取某一个磁盘分区做存储,本例使用sda5.
       
     

     

     mkfs.xfs -i size=1024 /dev/sda5


    在/etc/fstab中添加
        

     

     /dev/sda5 /srv/node/sda5 xfs noatime,nodiratime,nobarrier,logbufs=8   0   0


    挂载磁盘分区
      
     

     

    sudo mount /srv/node/sda5


     
    3.构建ring
        

     

    swift-ring-builder account.builder create 18 3 1


            18: 用于指定分区数。分区数目为2的幂次,如18,则分区数是2的18次方。
            3:文件副本数目
            1:分区移动的最小时间间隔,单位是小时。
     

    swift-ring-builder account.builder add z1-192.168.1.11:6002/sda5  100
    swift-ring-builder account.builder add z2-192.168.1.12:6002/sda5  100
    swift-ring-builder account.builder add z3-192.168.1.13:6002/sda5  100
    swift-ring-builder account.builder add z4-192.168.1.14:6002/sda5  100


            100 代表设备的权重。可以根据磁盘的容量设定对应值,比如2T的100,则1T的可以是50。
     
        swift-ring-builder account.builder可以检测配置,确认无误后,使用swift-ring-builder account.builder rebalance重新平衡。成功之后会在当前目录生成 account.ring.gz 文件。
     
        使用同样的方式构建 container和object的ring。container服务端口是6001,object的服务端口是6000。特别需要注意的是:一旦ring投入使用,更改配置的时候要针对该ring,不能重新构建,否则,很多数据可能会404.
        最后将生成的account.ring.gz,container.ring.gz,object.ring.gz分发至各个节点的/etc/swift目录。 
  • 4.安装swift

    4.1 apt-get install安装

        sudo apt-get install swift即可。

    4.2源代码安装
       从github上下载源代码。
     
     

     

     git clone https://github.com/openstack/swift.gitswift
     cd swift
     git checkout 1.4.8   #使用git tag 可以查看所有的版本
     sudo Python setup.py install –record log.txt   # –record log.txt 可以记录安装信息,需要卸载的时候只需执行sudo cat file.txt | xargs rm -rf 。


    注:使用apt-get install 安装的方式更利于维护和升级。如果要做二次开发的话,使用源代码安装比较好。
    5.更改配置文件
        所有的节点都需要配置文件如下:
     

         /etc/rsyncd.conf     #所有机器配置一样,系统中没有,见附件。
         /etc/default/rsync   #系统自带,只需要将RSYNC_ENABLE=false更改为RSYNC_ENABLE=true。
         /etc/swift/swift.conf
         /etc/swift/account-server.conf
         /etc/swift/container-server.conf
         /etc/swift/object-server.conf


     
            proxy server还要 /etc/swift/proxy-server.conf。除此之外,proxy-server需要安装memcached(sudo apt-get install memcached)做缓存。
            其他的配置见附件。
     
     
    6.启动服务

    如果采用源代码安装,则需要添加swift用户(当然也可以不添加,在配置文件里面指定相应的用户名即可)

     

    sudo groupadd swift
    sudo useradd swift -g swift.  


        更改文件的所有者:

     

    sudo chown -R swift:swift /etc/swift
    sudo chown -R swift:swift /srv/node


        所有节点启动服务:
     

     

    sudo swift-init object-server start
    sudo swift-init object-replicator start
    sudo swift-init object-updater start
    sudo swift-init object-auditor start
    sudo swift-init container-server start
    sudo swift-init container-replicator start
    sudo swift-init container-updater start
    sudo swift-init container-auditor start
    sudo swift-init account-server start
    sudo swift-init account-replicator start
    sudo swift-init account-auditor start

        启动proxy-server :
     

     

     sudo swift-init proxy-server start


     
     
    参考资料:
     1.openstack 官方文档http://docs.openstack.org/trunk/openstack-object-storage/admin/content/ch_installing-openstack-object-storage.html
     2. 使用Swauth认证多节点安装Swift http://www.linuxidc.com/Linux/2012-04/58100.htm

    更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

    赞(0) 打赏
    转载请注明出处:服务器评测 » Ubuntu 12.04 LTS 上安装swift1.4.8
    分享到: 更多 (0)

    听说打赏我的人,都进福布斯排行榜啦!

    支付宝扫一扫打赏

    微信扫一扫打赏