由于实验室项目需要云存储系统,因此在实验室服务器上搭建一个基于OpenStack swift的云存储系统。

最开始按照官方网站上介绍的方法,使用SAIO方式安装http://docs.openstack.org/developer/swift/development_saio.html,但是中间经常安装到最后,测试的时候,认证不成功,而且安装的过程比较繁琐,于是采用了git的安装方式git clone https://github.com/NewpTone/SAIO.git,将SAIO下载来之后,运行里面的脚本就自动安装,但是中间也出现了最后认证的问题,swift使用的是tempauth认证,于是按照http://blog.sina.com.cn/s/blog_4b8481f70100x9kk.html,将认证换成了swauth,最后才终于测试成功。

然后把SAIO里面的脚本研究了下,其实它就是把安装过程都写在了一个脚本里面,实现自动化,我就把swauth安装的过程加进去,再对swauth的部分进行配置,就完成了可以测试成功的安装脚本。

以下是安装脚本的内容:

#!/bin/bash

sudo apt-get install python-software-properties

sudo apt-get update

sudo apt-get install curl gcc git-core memcached python-coverage python-dev python-nose python-setuptools python-simplejson python-xattr sqlite3 xfsprogs python-eventlet python-greenlet python-pastedeploy python-netifaces python-pip

sudo pip install mock

if ! [ -e /srv ]
then
    sudo mkdir /srv
fi

sudo mkfs.xfs -i size=1024 /srv/swift-disk

#the following has something wrong
sudo echo "/srv/swift-disk /mnt/sdb1 xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 0" >> /etc/fstab

sudo mkdir -p /mnt/sdb1

sudo mount /mnt/sdb1

sudo mkdir -p /mnt/sdb1/1 /mnt/sdb1/2 /mnt/sdb1/3 /mnt/sdb1/4

sudo chown swift:swift /mnt/sdb1/*

for x in 1 2 3 4
do
  ln -f -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/ /srv/2/ /srv/3/ /srv/4/ /var/run/swift

#Add to /etc/rc.local (before the exit 0):

#mkdir -p /var/cache/swift /var/cache/swift2 /var/cache/swift3 /var/cache/swift4
#chown <your-user-name>:<your-group-name> /var/cache/swift*
#mkdir -p /var/run/swift
#chown <your-user-name>:<your-group-name> /var/run/swift

#settting up rsync
sudo cp rsyncd.conf /etc/

echo "RSYNC_ENABLE=true" >> /etc/default/rsync
service rsync restart

sudo mkdir -p ~/bin

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

sudo git clone https://github.com/openstack/python-swiftclient.git
cd python-swiftclient
sudo python setup.py develop
cd ..

sudo git clone https://github.com/gholt/swauth.git
cd swauth
sudo python setup.py develop
cd ..

if [ -e /home/swift/.bashrc ]
then
   sudo echo -e "export SWIFT_TEST_CONFIG_FILE=/etc/swift/test.conf  \\n export PATH=${PATH}:~/bin" >> /home/swift/.bashrc
   sudo source ~/.bashrc
fi

#configure swift and related conf
if ! [ -e /etc/swift ]
then
    sudo mkdir /etc/swift
fi
sudo chown swift:swift /etc/swift
sudo cp --recursive conf/* /etc/swift/
#cp rsyncd.conf /etc
#sudo service rsync restart

#sudo cp --recursive bin/* ~/bin
sudo chmod +x bin/*

cd bin
sudo ./remakerings
cd ..

sudo cp ~/saio-setup/swift/test/sample.conf /etc/swift/test.conf

cd swift
sudo ./.unittests
cd ..

cd bin

sudo ./startmain
cd ..

swift-init proxy reload
swauth-prep -K swauth -A http://127.0.0.1/auth/
echo "swauth-prep finished"
echo "SAIO setup finished!"

其它的诸如rsyncd.conf,container-server等,按照官方SAIO安装方式进行配置即可。

然后就可以进行测试了:

在安装过程中会出现下面这种问题:

请忽略它,它并不会影响后面的操作。

OpenStack swift安装的更多相关文章

  1. openstack swift 安装(单独对象存储服务)

    参考:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/swift.html 安装YUM包 yum install centos-re ...

  2. 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置

    本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...

  3. openstack swift节点安装手册3-最后的安装配置及验证

    以下步骤都在controller节点上执行 1.远程获取/etc/swift/swift.conf文件: curl -o /etc/swift/swift.conf https://git.opens ...

  4. openstack swift节点安装手册1-节点配置

    本文参照官方教程:http://docs.openstack.org/project-install-guide/object-storage/draft/environment-networking ...

  5. Swift安装

    Server1 .Update sudo apt-get update sudo apt-get upgrade . sudo apt-get install bridge-utils .IP 3.1 ...

  6. 理解 OpenStack Swift (3):监控和一些影响性能的因素 [Monitoring and Performance]

    本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...

  7. 理解 OpenStack Swift (2):架构、原理及功能 [Architecture, Implementation and Features]

    本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...

  8. OpenStack Swift集群与Keystone的整合使用说明

    之前已经介绍了OpenStack Swift集群和Keystone的安装部署,最后来讲一讲Swift集群与Keystone的整合使用吧. 1. 简介 本文档描述了Keystone与Swift集群的整合 ...

  9. OpenStack Keystone安装部署流程

    之前介绍了OpenStack Swift的安装部署,采用的都是tempauth认证模式,今天就来介绍一个新的组件,名为Keystone. 1. 简介 本文将详细描述Keystone的安装部署流程,并给 ...

随机推荐

  1. JQuery 事件器的介绍

    基本用法 $(元素). 事件( 事件属性); 常见事件 示例 说明 $(selector).click()  被选元素的点击事件 $(selector).dblclick()  被选元素的双击事件 $ ...

  2. 2014年辛星完全解读Javascript第一节

    ***************概述*************** 1.Javascript是一种原型化继承的基于对象的动态类型的脚本语言,它区分大小写,主要运行在客户端,用户即使响应用户的操作并进行数 ...

  3. GPU CUDA常量内存使用

    #include <cuda.h> #include <stdio.h> int getMulprocessorCount(){ cudaDeviceProp prop; cu ...

  4. final, finally, finalize的区别

    1.final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承. 内部类要访问局部变量,局部变量必须定义成final类型 2.finally是异常处理语句结构的一部分,表示总是执 ...

  5. Core管道中的处理流程3

    通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流程[下]:管道是如何构建起来的? 在<中篇>中,我们对管道的构成以及它对请求的处理流程进行了详细介绍,接下 ...

  6. POJ3613 Cow Relays [矩阵乘法 floyd类似]

    Cow Relays Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7335   Accepted: 2878 Descri ...

  7. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]:谢勤政-11061197,吴润凡-11061185

    一,关于结对编程 结对编程的优点: 1)在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作能有更强的解决问题的能力. 2)对开发人员自身来说,结对工作能带来更多的信心,高质量的产出能带来更高 ...

  8. Codeforces Round #360 div2

    Problem_A(CodeForces 688A): 题意: 有d天, n个人.如果这n个人同时出现, 那么你就赢不了他们所有的人, 除此之外, 你可以赢他们所有到场的人. 到场人数为0也算赢. 现 ...

  9. Hanoi

    递归解决 汉诺塔 class Han{ int num; int steps; Han(int num){ this.num=num; } void total() { System.out.prin ...

  10. 【HDU 3038】 How Many Answers Are Wrong (带权并查集)

    How Many Answers Are Wrong Problem Description TT and FF are ... friends. Uh... very very good frien ...