Swift All In One(SAIO,Swift单机版)部署文档(二)

上一篇内容请见这里


之前我们完成了基本环境的安装,Swift本身的安装以及一些依赖组件的配置。

配置节点(Node)

我们这里采用直接将默认的saio配置覆盖到/etc/swift的方式。

1) (可选)删除 /etc/swift 目录

sudo rm -rf /etc/swift

2) 现在我们重建/etc/swift的配置

cd $HOME/swift/doc
sudo cp -r saio/swift /etc/swift
cd -
sudo chown -R ${USER}:${USER} /etc/swift

3) 修改所有的*.conf文件中的<your-user-name>为当前用户名

find /etc/swift/ -name \\*.conf | xargs sudo sed -i \"s/<your-user-name>/${USER}/\"

创建Swift运行脚本

1) 我们还是复制一下saio里的样例脚本

mkdir -p $HOME/bin
cd $HOME/swift/doc
cp saio/bin/* $HOME/bin
cd -
chmod +x $HOME/bin/*

2) 编辑$HOME/bin/resetswift脚本

因为我们使用回环设备,所以我们这里需要设置一个环境变量

echo \"export SAIO_BLOCK_DEVICE=/srv/swift-disk\" >> $HOME/.bashrc

上面有一个可选的rsyslog日志,如果没有设置,需要把这个脚本里的find /var/log/swift...一行删去。

sed -i \"/find \\/var\\/log\\/swift/d\" $HOME/bin/resetswift

3) 接下来我们复制一些样例配置来运行测试

cp $HOME/swift/test/sample.conf /etc/swift/test.conf
echo \"export SWIFT_TEST_CONFIG_FILE=/etc/swift/test.conf\" >> $HOME/.bashrc

4) 注意我们需要把$HOME/bin目录加入PATH变量

echo \"export PATH=${PATH}:$HOME/bin\" >> $HOME/.bashrc
. $HOME/.bashrc

5) 创建rings

remakerings

6) 运行单元测试

$HOME/swift/.unittests

注意,运行单元测试并不需要任何swift的服务启动。

7) 开始运行swift服务

startmain

这个startmain脚本实际上做的任务是:

swift-init main start

使用curl工具进行测试

1) 首先用测试用户登录,获得 X-Storage-UrlX-Auth-Token

curl -v -H \'X-Storage-User: test:tester\' -H \'X-Storage-Pass: testing\' http://127.0.0.1:8080/auth/v1.0

2) 检查账户

curl -v -H \'X-Auth-Token: <token-from-x-auth-token-above>\' <url-from-x-storage-url-above>

注意根据上一步的返回值替换这里的内容。

3) 检查swift命令

swift -A http://127.0.0.1:8080/auth/v1.0 -U test:tester -K testing stat

4) 运行功能测试

$HOME/swift/.functests
$HOME/swift/.probetests

至此Swift All In One的安装及测试就完毕了。

此时应该可以直接使用Swift的各种API进行操作,建立容器以及创建对象了。


参考资料:

http://docs.openstack.org/developer/swift/development_saio.html