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-Url
和 X-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