8. 测试swift(在Proxy主机上测试)
1. 初始化swauth
swauth-prep -K swauthkey #执行成功的话则不会有任何信息显示
#在这一步经常会出现Auth subsystem prep failed: 500 ServerError这种错误,发生错误的原因可能是你的/srv下的目录的拥有者不是属于swift用户。
2. 添加用户
swauth-add-user -A :8080/auth/ -K swauthkey -a test tester testing #在tenant test中添加tester用户并设置密码为testing
3. 检测swift运行状态
swift -A :8080/auth/v1.0 -U test:tester -K testing stat -v #运行成功则会返回类似如下的信息
StorageURL::8080/v1/AUTH_84841e28-93a8-4e9c-a295-f9734f25da01
AuthToken: AUTH_tkfacf171def344d03bf01519e93327f3c
Account:AUTH_ 84841e28-93a8-4e9c-a295-f9734f25da01
Containers:0
Objects:0
Bytes:0
Accept-Ranges:bytes
X-Trans-Id:txa0c57ad0fd6d435b8287ca111ca0269a
注:红色字体部分是根据具体情况而定的,并不是每个人系统返回都是一样的,假如出现了错误你可以在/var/log/swift/目录下查询到相应的信息
9. 上传和下载文件(在Proxy主机上测试)1. 获取X-Storage-Token和X-Storage-Url
curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' :8080/auth/v1.0 #执行完该条语句会返回相应的信息,例如(返回信息的一小部分):
HTTP/1.1200 OK
X-Storage-Url::8080/v1/AUTH_84841e28-93a8-4e9c-a295-f9734f25da01
X-Storage-Token:AUTH_tkfacf171def344d03bf01519e93327f3c
X-Auth-Token:AUTH_tkfacf171def344d03bf01519e93327f3c
2. 创建container和列出容器
curl -X PUT -D - -H "X-Auth_Token:AUTH_tkfacf171def344d03bf01519e93327f3c"http://127.0.0.1:8080/v1/AUTH_84841e28-93a8-4e9c-a295-f9734f25da01/cynric #创建cyrnic容器,红色部分是上一步返回的信息
swift -A :8080/auth/v1.0 -U test:tester -K testing list #查看test用户的container列表
3. 上传和列出文件
swift -A :8080/auth/v1.0 -U test:tester -K testing upload cynric/etc/swift/proxy-server.conf #将/etc/swift/proxy-server.conf文件上传到cynric容器中
swift -A :8080/auth/v1.0 -U test:tester -K testing list cynric #列出cynric容器中的文件
4. 下载文件
swift -A :8080/auth/v1.0 -U test:tester -K testing download cynric #将cynric容器下的所有文件下载到本地
注意:如果上传文件的时候,有嵌套目录,则上传到swift上后,也是以嵌套目录的形式存在,下载后,会在当前目录创建一样的嵌套目录。