Glusterfs+Swift 对外提供对像存储
虽然Glusterfs本身对外只提供POSIX兼容的文件存储, 它也可以借助OpenStack的Swift对外提供对象存储。
?
?
我的实验环境为Fedora18,其他环境在命令格式上可能略有不同:
1.安装依赖包
?
yum install glusterfs glusterfs-server glusterfs-fuse glusterfs-swift glusterfs-swift-account glusterfs-swift-container glusterfs-swift-object glusterfs-swift-proxy glusterfs-swift-plugin?
新版F19中glusterfs-swift-plugin已经改名为glusterfs-ufo
旧版中glusterfs-swift-*这些包与原生的openstack-swift-*包是冲突的,新版F19已经全部使用openstack-swift-*的包。
?
2. 启动Glusterd服务
?
systemctl start glusterd.service?
3.新建/启动glusterfs卷
?
gluster volume create $myvolname $myhostname:$pathtobrickgluster volume start $myvolname
?
4.生成证书
?
cd /etc/swiftopenssl req -new -x509 -nodes -out cert.crt -keyout cert.key
?
5. 配置UFO
编辑/etc/swift/proxy-server.conf文件,加入
bind_port = 443cert_file = /etc/swift/cert.crt
key_file = /etc/swift/cert.key
?到[DEFAULT]标题下。
?
加入
user_$myvolname_$username=$password .admin?到[filter:tempauth]
注: 自己设用户名和密码,下面会用到。
?
加入
memcache_servers = 127.0.0.1:11211?到[filter:cache]
?
6. 启动memcache服务
?
systemctl start memcached.service?
7.启动Swift
?
swift-init main start?
8. 配置完毕,下面我们开始使用对像存储
?
首先我们需要将用户名和密码发送给proxy-server做认证,它会返回一个token, 就好比一把钥匙。每次操作对象存储都需要提供这把钥匙
?
curl -v -H 'X-Storage-User: $myvolname:$username' -H 'X-Storage-Pass: $password' -k https://$myhostname:443/auth/v1.0(authtoken similar to AUTH_tk2c69b572dd544383b352d0f0d61c2e6d)
?
接下来我们需要创建一个container容器。
Swift 层次结构依次为: account,? 容器container,? 对像object。
对应glusterfs:? 卷volume, 文件夹, 文件
?
curl -v -X PUT -H 'X-Auth-Token: $authtoken' https://$myhostname:443/v1/AUTH_$myvolname/$mycontainername -k?
下面就可以对文件对象进行操作:
?
创建文件curl -v -X PUT -H 'X-Auth-Token: $authtoken' https://$myhostname:443/v1/AUTH_$myvolname/$mycontainername -k
上传文件
curl -v -X PUT -T $filename -H 'X-Auth-Token: $authtoken' -H 'Content-Length: $filelen' https://$myhostname:443/v1/AUTH_$myvolname/$mycontainername/$filename -k
下载文件
curl -v -X GET -H 'X-Auth-Token: $authtoken' https://$myhostname:443/v1/AUTH_$myvolname/$mycontainername/$filename -k > $filename
?
参考:
http://www.gluster.org/2012/09/howto-using-ufo-swift-a-quick-and-dirty-setup-guide/