虽然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-plugi
n
新版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:$pathtobrick
gluster volume start $myvolname
gluster volume start $myvolname
4.生成证书
cd /etc/swift
openssl req -new -x509 -nodes -out cert.crt -keyout cert.key
openssl req -new -x509 -nodes -out cert.crt -keyout cert.key
5. 配置UFO
编辑/etc/swift/proxy-server.conf文件,加入
bind_port = 443
cert_file = /etc/swift/cert.crt
key_file = /etc/swift/cert.key
cert_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)
(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
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/
相关推荐
GlusterFS gluster peer probe <ip> # peer to other nodes (use flannel IP) gluster volume create <name> replicate <n> <ip>:<path> <ip2>:<path> # create replicated distributed fs ##火花 etcdctl get /...
GlusterFS 是一种开源的分布式文件系统,它可以将多个硬盘组合成一个大型存储系统,提供高性能、可扩展性和高可用性的存储解决方案。下面是 GlusterFS 的一些重要知识点: 1. Raid 概念 Raid(Redundant Array of ...
GlusterFS是一种开源的分布式文件系统,它能够提供高容量、高伸缩性的数据存储解决方案。在IT业界,GlusterFS广泛应用于构建大型存储集群,非常适合于需要处理大量数据和高并发访问的场合。GlusterFS101培训课程针对...
通过keepalived,实现多台GlusterFS高可用的存储配置方案。2个节点的GlusterFS无法避免脑裂问题,多台GlusterFS如何提供统一的挂载服务,通过该技术方案,完美的实现了VIP方式的高可用的GlusterFS存储方案。
GlusterFS(Gluster File System)是一种开源的分布式文件系统,其设计目标是扩展性非常强,能支持数PB(Petabytes)级别的大容量存储。它通过网络将多台服务器的物理磁盘聚合成一个单一的分布式存储池,并将数据...
GlusterFS 分布式文件系统 ...* 云存储:GlusterFS 适合云存储应用,例如对象存储、块存储等。 GlusterFS 是一种高性能、高可扩展性、高可用的分布式文件系统,适合大规模数据存储和高性能计算应用。
GlusterFS 是一个开源的分布式文件系统,能够提供高性能、高可用性的存储解决方案。它适用于各种场景,如云存储、媒体流传输以及大数据分析等。本文档详细介绍了如何在 Centos 6.6_x64 系统上安装配置 GlusterFS-...
通过将多个硬盘或存储节点组成一个集群,GlusterFS可以提供高可用性和可扩展性。它支持多种协议,如NFS、SMB、iSCSI等,允许不同类型的客户端访问存储。 2. **GlusterFS Server (glusterfs-server)**:这个组件是...
在代码规范和设计模式方面,glusterfs的模块化设计体现了面向对象的编程思想,每个`xlator`可以视为一个独立的对象,具有自己的属性和行为。通过接口定义和回调函数,实现了模块间的解耦合,提高了系统的可扩展性...
GlusterFS 5.0 是一个先进的、分布式文件系统,专为大规模的云存储和大数据应用而设计。它提供了一种可扩展、无中心、高性能的解决方案,支持PB级的数据存储。在Ubuntu 18.04上安装GlusterFS 5.0,可以为用户提供...
红帽针对vm储存做了优化使其更适合用于虚拟化存储.本文测试使用Glusterfs作为kvm后端存储,通过直接调用glustefs-api,绕过fuse访问虚拟机镜像,避免了fuse带来的性能损耗.
总的来说,这个压缩包提供了一整套在CentOS 7上部署和使用GlusterFS所需的软件包,对于构建大规模、高可用的分布式存储系统非常有帮助。通过理解每个组件的功能并正确安装和配置,你可以在数据中心或云环境中享受到...
卷管理则涵盖了创建、修改和删除存储卷的操作,存储卷是GlusterFS提供服务的基本单元。Brick管理是指对构成存储卷的基本存储单元进行管理,每个Brick都是一个实际的文件系统挂载点。 系统扩展维护部分讲解了如何...
GlusterFS,作为一款分布式文件系统,其设计与实现涵盖了多层面的技术细节,旨在提供高效、可扩展且灵活的数据存储解决方案。以下是对GlusterFS的关键技术知识点的详细解析。 ### GlusterFS概述 GlusterFS是一种...
GlusterFS是一个分布式文件系统解决方案,具有高度的可扩展性与容错...由于GlusterFS在Linux平台的良好支持,以及其对环境的低依赖性,它为那些寻求高效、可靠和经济的存储解决方案的用户提供了一个值得考虑的选择。
我个人给公司开发的使用ansible部署k8s的脚本,支持...addon 包括calico网络dns域名解析服务,dashboard, glusterfs+heketi和nfs存储部署 smoke_test 对环境做冒烟测试,包括 pod访问测试,dns访问测试,pv存储访问测试
由于两者在设计理念等各个方面有所不同,单纯的测试比较从功能应用的角度来说意义不大(如人们需要块及对象存贮时,目前GlusterFS只能部分提供或没有,块存贮也只能用于非生产环境,对象存贮还没有),但很多人使用...
综上所述,GlusterFS的结构体系设计围绕着高度模块化、无元数据服务的核心理念展开,辅以RDMA和InfiniBand等先进技术,旨在提供一个既高效又易于管理的分布式存储解决方案。其客户端与服务器之间的交互机制,以及...
总结来说,GlusterFS提供了一个高性能、高可靠性并且易于管理的分布式文件存储解决方案。其采用的去中心化设计和用户空间模式,使它能够在通用硬件上实现横向扩展,支持多种协议,并具备强大的扩展性和容错能力。...