Fork me on GitHub
Suzf  Blog

GlusterFS 集群文件系统介绍

来源:http://opensgalaxy.com

作者:久坐尘埃

1.GlusterFS概述

GlusterFS是Scale-Out存储解决方案Gluster的 核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或 InfiniBand RDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负载提 供优异的性能。

图1 GlusterFS统一的挂载点

GlusterFS 支持运行在任何标准IP网络上标准应用程序的标准客户端,如图2所示,用户可以在全局统一的命名空间中使用NFS/CIFS等标准协议来访问应用数据。 GlusterFS使得用户可摆脱原有的独立、高成本的封闭存储系统,能够利用普通廉价的存储设备来部署可集中管理、横向扩展、虚拟化的存储池,存储容量 可扩展至TB/PB级。GlusterFS主要特征如下:

扩展性和高性能

GlusterFS 利用双重特性来提供几TB至数PB的高扩展存储解决方案。Scale-Out架构允许通过简单地增加资源来提高存储容量和性能,磁盘、计算和I/O资源都 可以独立增加,支持10GbE和InfiniBand等高速网络互联。Gluster弹性哈希(Elastic Hash)解除了GlusterFS对元数据服务器的需求,消除了单点故障和性能瓶颈,真正实现了并行化数据访问。

高可用性

GlusterFS 可以对文件进行自动复制,如镜像或多次复制,从而确保数据总是可以访问,甚至是在硬件故障的情况下也能正常访问。自我修复功能能够把数据恢复到正确的状 态,而且修复是以增量的方式在后台执行,几乎不会产生性能负载。GlusterFS没有设计自己的私有数据文件格式,而是采用操作系统中主流标准的磁盘文 件系统(如EXT3、ZFS)来存储文件,因此数据可以使用各种标准工具进行复制和访问。

全局统一命名空间

全 局统一命名空间将磁盘和内存资源聚集成一个单一的虚拟存储池,对上层用户和应用屏蔽了底层的物理硬件。存储资源可以根据需要在虚拟存储池中进行弹性扩展, 比如扩容或收缩。当存储虚拟机映像时,存储的虚拟映像文件没有数量限制,成千虚拟机均通过单一挂载点进行数据共享。虚拟机I/O可在命名空间内的所有服务 器上自动进行负载均衡,消除了SAN环境中经常发生的访问热点和性能瓶颈问题。

弹性哈希算法

GlusterFS 采用弹性哈希算法在存储池中定位数据,而不是采用集中式或分布式元数据服务器索引。在其他的Scale-Out存储系统中,元数据服务器通常会导致I/O 性能瓶颈和单点故障问题。GlusterFS中,所有在Scale-Out存储配置中的存储系统都可以智能地定位任意数据分片,不需要查看索引或者向其他 服务器查询。这种设计机制完全并行化了数据访问,实现了真正的线性性能扩展。

弹性卷管理

数 据储存在逻辑卷中,逻辑卷可以从虚拟化的物理存储池进行独立逻辑划分而得到。存储服务器可以在线进行增加和移除,不会导致应用中断。逻辑卷可以在所有配置 服务器中增长和缩减,可以在不同服务器迁移进行容量均衡,或者增加和移除系统,这些操作都可在线进行。文件系统配置更改也可以实时在线进行并应用,从而可 以适应工作负载条件变化或在线性能调优。

基于标准协议

Gluster […]

How-to fix failed to load ZFS module

在debian 8  使用的过程中 发现 zfs 无法加载

相关的软件包已经安装了

x 是一个正整数

获得注册的模块的版本号

尝试手工编译模块

If you get the same error, then reinstall the headers package:

重新加载

Reference
[1] https://github.com/zfsonlinux/zfs/issues/1155

[译]Glusterfs Quick Start Guide

Step 1 – Have at least two nodes

在这两个节点上系统为 Fedora 22 (or later)这里以 Ubuntu 14.04.4 LTS 为例
主机名称为:
— 172.16.9.10 eva.suzf.net  eva
— 172.16.9.20 cali.suzf.net cali

内部网络互连
至少俩块硬盘,一个安装 OS,一个用来做 GlusterFS 的存储(sdb)。你会想从操作系统安装单独的GlusterFS存储,这将模拟真实的部署。

注意:
GlusterFS 在 […]

[译]How-to set up a redundant storage pool with ZFS and Ubuntu

如果您的数据没有冗余,没有备份,它几乎是不存在的。

大公司将处理任何数据量巨大的关键交易数据,采取数据冗余和备份措施确保数据安全。已经成为行业内的标准。但是对于中小型公司、SOHO(小型办公室、家庭办公室)来说,他们无法承受数据丢失所造成的损失。

不像大公司,许多小型企业,SOHO的和个人工作室甚至没有IT部门,更别说CTOs和CIOs了。

我曾亲自处理庞大的数据 – 我有超过6TB的存储。我在家里有一台文件服务器;
上面有我储存的家庭照片和我的所有文档,这是我生命中最重要的部分之一。

[译] Couchbase 使用 cbrestore 恢复数据

恢复使用 cbbackup 命令备份的 bucket 数据,使用 cbrestore 命令 恢复数据到一个 新的群集的bucket中。

当恢复数据的时候,你不得不根据你正在执行的还原类型选择一个合适的还原序列。恢复群集数据的方法 取决于备份群集的方式。

如果使用 cbbackup 备份 bucket 数据,你可以恢复数据到相同或者不同配置的群集中去。 这是因为cbbackup存储格式为bucket的数据的信息使其能够被恢复到新的群集上。

注意:如果数据是使用直接拷贝文件的方式备份的, 之后你恢复数据的时候必须恢复到相同群集中。

cbrestore 从使用 cbbackup 命令备份的数据中取信息存储到群集中。群集的配置不必匹配备份数据时所使用的。它可以在灾难恢复的情况下,将数据传送到一个新的群集中。或者是更新或者是扩展现有的群集版本。

[译] Couchbase 使用 cbbackup 备份

cbbackup 工具 是一个灵活的备份命令,使您可以备份本地数据和远程节点和涉及您的集群数据的不同组合:

单节点单buckets
单节点上所有buckets
整个群集上单个buckets
整个群集上所有buckets

备份可以在一个单独的节点直接拷贝文件,也可以通过连接远程群集然后通过数据流的形式保存到备份位置。备份可以运行在运行的节点或集群或脱机节点上执行。

cbbackup 命令可以以一种容易恢复的格式储存数据。当需要恢复的时候使用 cbrestore,你可以还原数据到任何配置的群集。源和目的群集不需要满足你使用 cbbackup 命令时保存的信息。

[译] Couchbase backup and restore

定期备份整个群集的数据,当需要恢复数据的时候可以最小化数据的不一致性。

备份你的数据应该是你的集群上定期的任务,以确保您不会在严重的硬件或安装失败的情况下丢失信息。

有许多用于执行备份的方法:

使用 cbbackup
该 cbbackup命令,可以在单个节点,单桶,或整个群集备份到一个灵活的备份架构,它可以将数据恢复到相同或不同的集群和水桶。所有的备份可以实时集群或节点上执行。该命令 cbbackup 是最灵活和推荐的备份工具。

使用 文件副本
正在运行的或脱机集群可以通过复制每个节点上的文件进行备份。使用这种方法,你只能还原到相同的配置群集。

注意:
由于Couchbase Server的灵活的特性,不可能创建整个集群的一个完整的即时备份和快照。因为数据总是被更新或修改,这是不可能采取正确的快照。
您必须备份和恢复整个集群,以尽量减少任何数据不一致。Couchbase是每个项目总是一致的,但不保证完全一致集群或顺序持久性。

 相关连接

使用 cbbackup 备份
使用 cbrestore 恢复
使用 cbbackup 备份 bucket 的数据,使用命令 cbrestore 恢复数据到一个新的集群的bucket。
cbbackupwrapper 和 cbrestorewrapper
Couchbase Server企业版两个新工具提高吞吐量数据库备份程序:cbbackupwrapper和cbrestorewrapper。
增量备份和恢复
增量备份和恢复使管理员备份快速备份在数据库中修改的数据,使得备份和恢复更有效对于较大的数据集群。

父主题: 管理指南