利用glusterfs构建网站分布集群存储

简介: 利用glusterfs构建网站分布集群存储 一、前言 GlusterFS是一个开源的分布式集群文件系统,于2011年被红帽收购。它具有高扩展性、高性能、高可用性、可横向扩展(scale-out)的弹性特点,借助tcp/ip或infiniBand RDMA(remote direct memory access)网络将物理分布的存储资源聚集一起,使用单一全局命名空间来管理数据,无元数据服务器设计使glusterfs没有单点故障隐患(通过有的弹性Hash算法),详细介绍请查看官网:www.gluster.org 。
利用glusterfs构建网站分布集群存储

一、前言
GlusterFS是一个开源的分布式集群文件系统,于2011年被红帽收购。它具有高扩展性、高性能、高可用性、可横向扩展(scale-out)的弹性特点,借助tcp/ip或infiniBand RDMA(remote direct memory access)网络将物理分布的存储资源聚集一起,使用单一全局命名空间来管理数据,无元数据服务器设计使glusterfs没有单点故障隐患(通过有的弹性Hash算法),详细介绍请查看官网:www.gluster.org 。
典型架构:存储服务器(Brick Server)、客户端(运行glusterfs客户端)、NFS/Samba存储网关(为没有运行glusterfs客户端提供访问)。

二、环境
三个虚拟机
操作系统:最小化安装CentOS6.5

2、部署说明
存储节点:
IP 主机名 Brick
172.16.2.165 node1 /home/rfs
172.16.2.166 node2 /home/rfs

客户端:
172.16.2.167

三、部署

三台机器都要作
# vi /etc/selinux/config
SELINUX=disabled
# chkconfig iptables off
# chkconfig iptables off


1、存储端安装(所有安装包打包在glusterfs.tar.gz中):
# yum -y install device-mapper device-mapper-libs device-mapper-event device-mapper-event-libs libaio libgssglue libtirpc libudev lvm2-libs rpcbind (目前centos默认已经安装这些包)

#tar zxvf  glusterfs.tar.gz
#cd glusterfs
#yum -y install *.rpm
# chkconfig glusterd on
# service glusterd start 

2、服务端配置:
ssh密钥登录(172.16.2.166上操作)[//如果所有服务器的root密码一样,此步骤不需要]:
# ssh-keygen
#mv .ssh/id_rsa.pub .ssh/authorized_keys
#scp -r .ssh root@172.16.2.XX:~/
其他节点做相同操作,除自身ip

建立peer关系(172.16.2.166上操作):
将2个存储节点组成一集群,本文在第一个节点执行,只需要在任意节点执行就OK。
[root@rfs-161 ~]# gluster peer probe node2
Probe successful

如果node2在peer表中被识别为ip地址,可能后面集群过程中会出现通讯问题, 
我们可以使用ip来进行修复: 

查看集群的节点信息:
[root@rfs-161 ~]# gluster peer status
Number of Peers: 1

Hostname: node2
Uuid: 7301f9e5-ba9e-4095-a78c-4741f801a715
State: Peer in Cluster (Connected)

建立卷(172.16.2.165与172.16.2.166其中一台上操作):
以/data/gluster为共享目录,创建名为datavol的卷,副本数为2:
mkdir /home/rfs
[root@rfs-161 ~]#  gluster volume create datavol replica 2 node1:/home/rfs node2:/home/rfs
Creation of volume img has been successful. Please start the volume to access data. 
建立卷时有三种模式:Stripe(RAID0)、Replicate(RAID1)和DHT(分布式Hash),默认是DHT,后边跟的数字意思是几个为1组,此示例中为2个为一组建立replica卷,类似RAID1。
配置文件:/etc/glusterfs/glusterfsd.vol

启动卷:
[root@rfs-161 ~]# gluster volume start datavol
Starting volume datavol has been successful 
查看卷状态:
[root@rfs-161 ~]# gluster volume info
Volume Name: datavol
Type: Replicate
Volume ID: b7863e25-2f26-4af9-b2bc-908b594ae900
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 172.16.2.165:/home/rfs
Brick2: 172.16.2.166:/home/rfs

此时,文件系统就准备就绪了,可以像挂载nfs分区一样挂载它了

3、客户端安装配置:
安装:
rpm -ivh glusterfs-3.5.0-2.el6.x86_64.rpm glusterfs-libs-3.5.0-2.el6.x86_64.rpm glusterfs-fuse-3.5.0-2.el6.x86_64.rpm

挂载:
mount -t glusterfs 172.16.2.165:/datavol /share/ (挂载任意一个节点即可)
mount -t nfs -o mountproto=tcp,vers=3 172.16.4.161:/datavol /share/ (使用NFS挂载,注意远端的rpcbind服务必须开启)
mount -t nfs -o rw,nfsvers=3,proto=tcp,port=38465,nolock,noacl,nocto,noatime,nodiratime,rsize=131072,wsize=524288,async,soft,bg,acregmin=3,acregmax=10,acdirmin=1,acdirmax=5 172.16.2.165:datavol /share
mount.nfs 172.16.2.165:/datavol /share/ -o nfsvers=3,proto=tcp 




相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
目录
相关文章
|
存储 Kubernetes 块存储
kubernetes的简单化数据存储StorageClass(建立和删除以及初步使用)(一)
kubernetes的简单化数据存储StorageClass(建立和删除以及初步使用)
394 0
|
9月前
|
存储 Kubernetes 数据安全/隐私保护
25-Kubernetes-数据存储-配置存储
25-Kubernetes-数据存储-配置存储
|
9月前
|
存储 Kubernetes 容器
24-Kubernetes-数据存储-高级存储
24-Kubernetes-数据存储-高级存储
|
10月前
|
存储 算法 5G
案例部署——GlusterFS分布式文件系统群集(一)
案例部署——GlusterFS分布式文件系统群集
456 0
|
10月前
|
数据安全/隐私保护
案例部署——GlusterFS分布式文件系统群集(二)
案例部署——GlusterFS分布式文件系统群集
|
自然语言处理 Kubernetes 监控
使用 Kubernetes 监控发现资源使用流量分布不均匀的问题 | 学习笔记
快速学习 使用 Kubernetes 监控发现资源使用流量分布不均匀的问题
678 0
使用 Kubernetes 监控发现资源使用流量分布不均匀的问题 | 学习笔记
|
存储 算法 NoSQL
集群-集群储存结构设计|学习笔记
快速学习集群-集群储存结构设计
73 0
集群-集群储存结构设计|学习笔记
|
存储 Kubernetes 容器
kubernetes的简单化数据存储StorageClass(建立和删除以及初步使用)(二)
kubernetes的简单化数据存储StorageClass(建立和删除以及初步使用)
253 0
|
Kubernetes API 调度
使用 Kubernetes 扩展专用游戏服务器:第4部分-缩减节点
使用 Kubernetes 扩展专用游戏服务器:第4部分-缩减节点
131 0
使用 Kubernetes 扩展专用游戏服务器:第4部分-缩减节点
|
存储 Kubernetes Cloud Native
Kubernetes 环境中使用 NAS 动态存储卷
K8S在应用中经常会用到nas共享存储卷,通常的使用方法是通过一个pv、pvc进行挂载,但当需要pv、pvc数量很大的时候,手动创建显得非常繁琐,这时动态数据卷的功能可以满足您的需求。本文将为您讲解如何在 Kubernetes 环境中使用 NAS 动态存储卷。
889 0
Kubernetes 环境中使用 NAS 动态存储卷