分布式文件系统--------GlusterFS最佳实战 推荐 原创 asd1123509133 2017-06-15 17:49:20 博主文章分类:分布式文件系统 ©著作权 文章标签 文件系统 分布式 Glusterfs 文章分类 分布式 服务器 ©著作权归作者所有:来自51CTO博客作者asd1123509133的原创作品,请联系作者获取转载授权,否则将追究法律责任 1. 背景 GlusterFS 是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBand RDMA(一种支持多并发链接的“转换线缆”技术)网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负载提供优异的性能。 GlusterFS支持运行在任何标准IP网络上标准应用程序的标准客户端2. 优势 * 线性横向扩展和高性能 * 高可用性 * 全局统一命名空间 * 弹性哈希算法和弹性卷管理 * 基于标准协议 * 完全软件实现(Software Only) * 用户空间实现(User Space) * 模块化堆栈式架构(Modular Stackable Architecture) * 原始数据格式存储(Data Stored in Native Formats) * 无元数据服务设计(No Metadata with the Elastic Hash Algorithm)3. 环境 server_1 CentOS 7.2.1511 (Core) 192.168.60.201 server_2 CentOS 7.2.1511 (Core) 192.168.60.2024. 安装 * server_1 安装centos-release-gluster[root@server_1 ~]# yum install centos-release-gluster -y * server_1 安装 glusterfs-server[root@server_1 ~]# yum install glusterfs-server -y * server_1 启动 glusterfs-server 服务[root@server_1 ~]# systemctl start glusterd * server_2 安装centos-release-gluster[root@server_2 ~]# yum install centos-release-gluster -y * server_2 安装 glusterfs-server[root@server_2 ~]# yum install glusterfs-server -y * server_2 启动 glusterfs-server 服务[root@server_2 ~]# systemctl start glusterd 5. 建立信任池 [ 信任单向建立即可 ] * server_1 对 server_2 建立信任[root@server_1 ~]# gluster peer probe 192.168.60.202 peer probe: success. * 查看信任池建立情况[root@server_1 ~]# gluster peer status Number of Peers: 1 Hostname: 192.168.60.202 Uuid: 84d98fd8-4500-46d3-9d67-8bafacb5898b State: Peer in Cluster (Connected) [root@server_2 ~]# gluster peer status Number of Peers: 1 Hostname: 192.168.60.201 Uuid: 20722daf-35c4-422c-99ff-6b0a41d07eb4 State: Peer in Cluster (Connected) 6. 创建分布式卷 * server_1 和 server_2 创建数据存放目录[root@server_1 ~]# mkdir -p /data/exp1 [root@server_2 ~]# mkdir -p /data/exp2 * 使用命令创建分布式卷,命名为test-volume[root@server_1 ~]# gluster volume create test-volume 192.168.60.201:/data/exp1 192.168.60.202:/data/exp2 force volume create: test-volume: success: please start the volume to access data * 查看卷信息[root@server_1 ~]# gluster volume info test-volume Volume Name: test-volume Type: Distribute Volume ID: 457ca1ff-ac55-4d59-b827-fb80fc0f4184 Status: Created Snapshot Count: 0 Number of Bricks: 2 Transport-type: tcp Bricks: Brick1: 192.168.60.201:/data/exp1 Brick2: 192.168.60.202:/data/exp2 Options Reconfigured: transport.address-family: inet nfs.disable: on [root@server_2 ~]# gluster volume info test-volume Volume Name: test-volume Type: Distribute Volume ID: 457ca1ff-ac55-4d59-b827-fb80fc0f4184 Status: Created Snapshot Count: 0 Number of Bricks: 2 Transport-type: tcp Bricks: Brick1: 192.168.60.201:/data/exp1 Brick2: 192.168.60.202:/data/exp2 Options Reconfigured: transport.address-family: inet nfs.disable: on * 启动卷[root@server_1 ~]# gluster volume start test-volume volume start: test-volume: success7. 创建复制卷 [ 对比Raid 1 ] * server_1 和 server_2 创建数据存放目录[root@server_1 ~]# mkdir -p /data/exp3 [root@server_2 ~]# mkdir -p /data/exp4 * 使用命令创建复制卷,命名为repl-volume[root@server_1 ~]# gluster volume create repl-volume replica 2 transport tcp 192.168.60.201:/data/exp3 192.168.60.202:/data/exp4 force volume create: repl-volume: success: please start the volume to access data * 查看卷信息[root@server_1 ~]# gluster volume info repl-volume Volume Name: repl-volume Type: Replicate Volume ID: 1924ed7b-73d4-45a9-af6d-fd19abb384cd Status: Created Snapshot Count: 0 Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: 192.168.60.201:/data/exp3 Brick2: 192.168.60.202:/data/exp4 Options Reconfigured: transport.address-family: inet nfs.disable: on [root@server_2 ~]# gluster volume info repl-volume Volume Name: repl-volume Type: Replicate Volume ID: 1924ed7b-73d4-45a9-af6d-fd19abb384cd Status: Created Snapshot Count: 0 Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: 192.168.60.201:/data/exp3 Brick2: 192.168.60.202:/data/exp4 Options Reconfigured: transport.address-family: inet nfs.disable: on * 启动卷[root@server_1 ~]# gluster volume start repl-volume volume start: repl-volume: success8. 创建条带卷 [ 对比Raid 0 ] * server_1 和 server_2 创建数据存放目录[root@server_1 ~]# mkdir -p /data/exp5 [root@server_2 ~]# mkdir -p /data/exp6 * 使用命令创建复制卷,命名为raid0-volume[root@server_1 ~]# gluster volume create raid0-volume stripe 2 transport tcp 192.168.60.201:/data/exp5 192.168.60.202:/data/exp6 force volume create: raid0-volume: success: please start the volume to access data * 查看卷信息[root@server_1 ~]# gluster volume info raid0-volume Volume Name: raid0-volume Type: Stripe Volume ID: 13b36adb-7e8b-46e2-8949-f54eab5356f6 Status: Created Snapshot Count: 0 Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: 192.168.60.201:/data/exp5 Brick2: 192.168.60.202:/data/exp6 Options Reconfigured: transport.address-family: inet nfs.disable: on [root@server_2 ~]# gluster volume info raid0-volume Volume Name: raid0-volume Type: Stripe Volume ID: 13b36adb-7e8b-46e2-8949-f54eab5356f6 Status: Created Snapshot Count: 0 Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: 192.168.60.201:/data/exp5 Brick2: 192.168.60.202:/data/exp6 Options Reconfigured: transport.address-family: inet nfs.disable: on * 启动卷[root@server_1 ~]# gluster volume start raid0-volume volume start: raid0-volume: success9. 客户端应用 * 安装glusterfs-cli[root@client ~]# yum install glusterfs-cli -y * 创建挂载目录[root@client ~]# mkdir /mnt/g1 /mnt/g2 /mnt/g3 * 挂载卷[root@server_1 ~]# mount.glusterfs 192.168.60.201:/test-volume /mnt/g1 [root@server_1 ~]# mount.glusterfs 192.168.60.202:/repl-volume /mnt/g2 [root@server_1 ~]# mount.glusterfs 192.168.60.201:/raid0-volume /mnt/g310. 扩展卷 * 创建存放目录[root@server_1 ~]# mkdir -p /data/exp9 * 扩展卷[root@server_1 ~]# gluster volume add-brick test-volume 192.168.60.201:/data/exp9 force volume add-brick: success * 重新均衡[root@server_1 ~]# gluster volume rebalance test-volume start volume rebalance: test-volume: success: Rebalance on test-volume has been started successfully. Use rebalance status command to check status of the rebalance process. ID: 008c3f28-d8a1-4f05-b63c-4543c51050ec11. 总结以需求驱动技术,技术本身没有优略之分,只有业务之分。 赞 收藏 评论 分享 举报 上一篇:Docker--------Dockerfile实战 下一篇:Docker--------docker-compose编排最佳实战 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 分布式文件服务器FastDFS 5.1什么是FastDFSFastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker se 文件上传 Storage 服务器 Redission分布式锁 定时测试类: pom 依赖:<!--使用redisson作为分布式锁--><dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.16.8</version& springboot redission 分布式锁 扣减 java 关于分布式操作系统几个问题 关于LAXCUS分布式操作系统 Windows 应用场景 并行计算 部署GlusterFS分布式文件系统,实战!!! 关于GlusterFS分布式文件系统的相关理论知识可以参考博文:GlusterFS分布式文件系统群集理论知识详解这里就不多说了,实战开始!!!一、部署群集环境实验环境,如图:服务器的相关信息,如图:1.准备环境在所有节点上执行以下操作:开启4台虚拟机,按照表中添加相应的磁盘,并通过fdisk分区、mkfs格式化,创建相应的挂载目录,并将格式化的磁盘挂载到相应的目录中。最后根据实际情况,可以选择修改 部署GlusterFS分布式文件系统实战 GlusterFS分布式文件系统 分布式系统要做的任务就是把多台机器有机的组合、连接起来,让其协同完成一件任务,可以是计算任务,也可以是存储任务。如果一定要给近些年的分布式系统研究做一个分类的话,大概可以包括三大部分:1. 分布式存储系统 2. 分布式计算系统 3. 分布式管理系统这是一个范围比较广的话题,今天我们就来简单了解一下分布式存储系统的Gluserfs.GlusterFS是Scale-Out存储解决方案Gluster的核 FS 分布式 Gluster 分布式文件系统glusterfs 块存储:单机存储:硬盘+LVM直连存储:磁盘阵列(主机插卡PCI-E用专业的线),数据库用得比较多。存储区域网:SAN(FC-SAN)主机用HBA卡分布式文件系统:安装glusterfs两台虚拟机同时rpm-ivfhttps://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpmyuminstallcentos-release-glus linux 分布式 文件系统 分布式文件系统---GlusterFS介绍 GlusterFS概述GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够 支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBand RDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负载提 文件系统 分布式 GlusterFS GlusterFs分布式文件系统群集 GlusterFs是一个开源分布式文件系统GlusterFs主要由存储服务器,客户端及NFS/samba存储网关组成,GlusterFs特点:扩展性和高性能,高可用性,全局统一命名空间,弹性卷管理,基于标准协议GlusterFs术语:Brick(存储块),Vlume(逻辑卷),FUSE(内核模块),VFS,Glusterd(后台管理进程)GlusterFs的工作原理:弹性HASH算法的优点:1)保 GlusterFS分布式文件系统群集 配置GlusterFS分布式文件系统 拓扑图:推荐步骤:在Centos01到Centos04,在每台服务器创建四个分区格式化为XFS文件系统自动设置开机自动挂载在Centos01到Centos04安装glusterFS分布式存储系统创建配置glusterfs群集和创建分布式条带卷、分布式复制卷、分布式卷、条带卷实验步骤:一.在Centos01到Centos04,在每台服务器创建四个分区格式化为XFS文件系统自动设置开机自动挂载1.在C 自动挂载 文件系统 重新启动 glusterfs分布式文件系统初探 公司有几台就服务器,正好有个项目对磁盘的容量以及性能有一定的要求,故而寻求分布式文件系统方面的知识,最终采用了glusterfs。以下对部署以及测试过程潦做记录。 glusterfs分布式文件系统采用C/S模式,其中客户端作为对外提供服务的点,并且负责分配管理数据在后端多台server间的存储。 &nb 分布式文件系统 glusterfs 配置glusterfs分布式文件系统 第一台服务器添加磁盘添加大小为20g第二台虚拟机添加新磁盘添加大小20g第三台虚拟机添加磁盘添加大小20g第四台虚拟机添加磁盘大小为20g在centos01创建四个分区创建分区格式化为xfs文件系统创建磁盘挂载目录修改配置文件设置开机自动挂载重启系统查看自动挂载在centos02创建四个分区创建分区格式化为xfs文件系统创建磁盘挂载目录修改配置文件设置开机自动挂载重启查看自动挂载 在centos0 自动挂载 分布式文件系统 GlusterFS分布式文件系统使用简介 0 术语简介GlusterFS是一个开源的分布式文件系统。更多特性介绍附录的参考务器的一个导出目录。可以通过主机名和目录名来标识,如'SERVER:EXPORT'Client: 挂载了GFS卷的设备Extended Attributes:xattr是一个文件系统的特性,其支持用户或程序关联文件/目录和元数据。FUSE:Filesyst... 数据 客户端 服务器 56.GlusterFS分布式文件系统 GlusterFS分布式文件系统GlusterFS是一个开源的分布式文件系统,软件的结构设计良好,易于扩展和配置,通过各个模块的灵活搭配得到针对性的解决方案。可解决一下问题:网络存储,联合存储,冗余备份,大文件的负载均衡。可靠性也未经过长时间的考验,还不适合应用于提供24小时不间断服务的产品环境。目前适用于大数据量的离线应用。GlusterFS通过infiniband RDMA或者TCP/IP的方 Linux 分布式 分布式文件系统---GlusterFS安装配置 一、环境规划GlusterFS服务端:10.100.0.41/10.100.0.44GlusterFS客户端:10.100.0.43二、所需软件包glusterfs-server-3.4.2-1.el6.x86_64glusterfs-3.4.2-1.el6.x86_64三、安装 3.1、服务端安装#wget -P /etc/yum.repos.d http: 文件系统 分布式 GlusterFs 换个角度看GlusterFS分布式文件系统 2014-03-12 17:40 刘爱贵 博客 字号:T | TGlusterFS是一个开源的分布式文件系统,这个系统并不完美。本文深入谈谈GlusterFS当下的问题和不足,从而更加深入地理解GlusterFS系统,期望帮助大家进行正确的系统选型决策和规避应用中的问题。AD:GlusterFS(GNU ClusterFile System)是一个开源的分布式文件系统,它的历史可以追溯到2006 用户 历史 左右 可靠性 GlusterFS 活跃度 MFS分布式文件系统(实战!!!) MFS工作原理分布式原理分布式文件系统就是把一些分散在多台计算机上的共享文件夹,集合到一个共享文件夹内,用户要访问这些文件夹的时候,只要打开一个文件夹,就可以的看到所有链接到此文件夹内的共享文件夹。MFS原理MFS是一个具有容错性的网络分布式文件系统,它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。MFS的组成•元数据服务器(Master):在整个体系中负责管理文件系统,维护 MFS 分布式文件系统FastDFS实战 (4kb-500MB之间)角色: client tracker群 storage群环境:两台 分别安装 tracker群 storage群Tracker Server:跟踪服务器,主要做调度工作,在访问中起负载均衡的作用。在内存中记录集群中group和storage的状 服务器 server storage 分布式文件系统MFS、Ceph、GlusterFS、Lustre的比较 分布式文件系统MFS、Ceph、GlusterFS、Lustre的比较 MFS Ceph GlusterFS L MFS分布式文件系统架构实战 MFS分布式文件系统架构实战MFS文件系统的组成架构:如图元数据服务器(Master):负责管理文件系统,维护元数据;元数据日志服务器(c):备份Master服务器的变化日志文件;数据存储服务器(ChunkServer):真正存储数据的服务器;客户端(Client)可像挂载NFS一样挂载MFS文件系统案例环境:第一步:搭建Masterserver准备工作:servicefirewalldstops MFS 分布式 文件 系统 分布式内存文件系统Alluxio实战 前言 Alluxio是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存在Alluxio里的文件。把Alluxio是架构在最底层的分布式文件存储和上层的各种计算框架之间的一种中间件,其前身为Tachyon。 Alluxio起源于Alluxio公司创始人李浩源读博期间在 UC Berk 分布式 分布式