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目录。 
    • 1
    • 2
    • 下一页

    相关内容