使用GlusterFS在Ubuntu上的高可用性存储集群
介绍
原文: http : //blogama.org
在本教程中,我将向您展示如何以可扩展的方式安装GlusterFS以创建存储集群,从Ubuntu 8.04 LTS服务器上的2台服务器开始。 文件将被复制和拆分,所有服务器是某种RAID 10(raid 1与<4服务器)。 拥有每台100GB硬盘的4台服务器,总存储容量为200GB,如果一台服务器发生故障,数据仍将保持不变,并且故障服务器上的文件将复制到其他工作的服务器上。
GlusterFS是一种能够缩放到几个peta字节的集群文件系统。 它将Infiniband RDMA或TCP / IP互连的各种存储砖聚合成一个大型并行网络文件系统。 存储砖可以由任何商品硬件制成,如具有SATA-II RAID和Infiniband HBA的x86-64服务器。
2.安装
首先你需要安装一些软件:
sudo su
apt-get install sshfs build-essential flex bison byacc vim wget
现在我们需要从源头安装保险丝:
cd /root/
wget http://europe.gluster.org/glusterfs/fuse/fuse-2.7.4glfs11.tar.gz
tar -zxvf fuse-2.7.4glfs11.tar.gz
cd /root/fuse-2.7.4glfs11
接下来我们编译保险丝:
./configure
make && make install
接下来我们将安装GlusterFS:
获得相同的确切版本,否则有很好的机会,它不工作。 我尝试使用2.0.0rc1和1.3.12,并有一些问题(1.4.0rc7工作正常)。cd /root/
wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.0rc2.tar.gz
tar -zxvf glusterfs-2.0.0rc2.tar.gz
cd /root/glusterfs-2.0.0rc2/
休息一下,编译:
./configure
make && make install
由于某些原因,库正在错误的目录,所以我们需要(如果有人有一个干净的修复,请发布!):
cp /usr/local/lib/* -R /usr/lib/
接下来,我们创建一些稍后将使用的文件夹:
mkdir /mnt/glusterfs
mkdir /data/
mkdir /data/export
mkdir /data/export-ns
mkdir /etc/glusterfs/
3.服务器配置
在您进一步之前,您需要知道GlusterFS以客户端/服务器的方式工作。 我们将做的是让我们的服务器为客户端和服务器为GlusterFS。
让我们从服务器配置文件开始所有服务器:
vi /etc/glusterfs/glusterfs-server.vol
并使其看起来像这样:
# file: /etc/glusterfs/glusterfs-server.vol volume posix type storage/posix option directory /data/export end-volume volume locks type features/locks subvolumes posix end-volume volume brick type performance/io-threads option thread-count 8 subvolumes locks end-volume volume posix-ns type storage/posix option directory /data/export-ns end-volume volume locks-ns type features/locks subvolumes posix-ns end-volume volume brick-ns type performance/io-threads option thread-count 8 subvolumes locks-ns end-volume volume server type protocol/server option transport-type tcp option auth.addr.brick.allow * option auth.addr.brick-ns.allow * subvolumes brick brick-ns end-volume
现在做:
glusterfsd -f /etc/glusterfs/glusterfs-server.vol
启动服务器守护进程。