关于GFS文件系统的概念
GFS的全称是Google file System,为了满足Google迅速增长的数据处理要求,Google设计并实现的Google文件系统(GFS)。Google文件系统是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务,也可以提供容错功能。
谷歌“三宝”是“Google文件系统”,“BigTable大表”,“MapReduce算法”。至今除了谷歌,在数据中心维护上还没有谁自己开发文件系统这种十分底层的技术,有了自己的文件系统,谷歌就可以有效的组织庞大的数据,服务器和存储,并用它们工作。作为谷歌“三宝”的其中之一,GFS的技术优势不言而喻。
GFS在很多方面上与之前出现过的分布式文件系统有着许多相似的地方,比如性能、可扩展性、可靠性和可用性。但是,它的设计更多地基于我们对于我们的应用的特性的观察和技术环境,包括现在的和将来可能出现的,因此也与之前的文件系统设计有着显著的不同。Google仔细地考察过传统的取舍,并且在设计空间中对各种不同方案做了深入的研究。
关于GFS文件系统结构功能
GFS文件系统为分布式结构,它是一个高度容错网络文件系统,主要chunkserver由一个master(主)和众多chunkserver(大块设备)构成的,体系结构如下图:
GFS文件系统的工作过程:
Red Hat 企业版 GFS 文件系统配置
前提在安装OS的时候记得选择集群和集群存储省得实际配置时缺少必要的包和程序,负责server的主机需要把gnome桌面安装上。
一:环境 三台普通PC电脑,或虚拟机,ip和主机名如下
二:修改相应主机的hosts 和network 示例如下
# vi /etc/hosts
192.168.3.38 gfs01
192.168.3.37 gfs02
192.168.3.36 gfs03
# vi /etc/sysconfig/network IP对应的主机名
三:使用system-config-cluster 产生cluster.conf(gfs01-server)可以利用GUI工具配置。步骤如下:
四:启动服务(三台主机)
# service cman start
# service clvmd start
# service gfs start
# service rgmanager start
启动上面cman需要注意点如果启动失败,提示”cman not started: two_node set but there are more than 2 nodes” 错误可以先service cman stop 再启动。
五:export 分区(gfs01 “server”)
# sbin/gnbd_serv -v -n # gnbd_export -d /dev/sdb1 -e gfsTest -c
-d指定设备,-e指定集群名称,-c创建 客户端gnbd_import 时用到
检查export结果:
# gnbd_export -v -l
六:节点import gfs01 的分区(gfs02,gfs03)
# modprobe gnbd
# gnbd_import -v -i gfs0
将产生/dev/gnbd/gfsTest, gfsTest 为gfs01 export 时的名称。
检查import 结果:
# gnbd_import -v -l
七:在客户端节点上建立gfs文件系统并挂载(gfs02,gfs03)
# modprobe gfs # gfs_mkfs -p lock_dlm -t gfsCluster:gfs -j 2 /dev/gnbd/gfsTest
其中gfsCluster为集群的名称,gfs为文件系统的类型,lock-dlm为锁协议。
八:节点挂载gfs文件系统(gfs02,gfs03)
# mkdir /gfsTest # mount -t gfs /dev/gnbd/gfsTest /gfsTest
评论
2条评论
写评论xuxu
误导群众 红帽是 global file system 谷歌是 google file system引用 ” GFS 简要说明,它有两种:1. Google文件系统:GFS是GOOGLE实现的是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。欲了解更多,可以访问:http://www.codechina.org/doc/google/gfs-paper/introduction.html2. Redhat 的GFS(Global File System)GFS(Global File System)自己以本地文件系统的形式出现。多个Linux机器通过网络共享存储设备,每一台机器都可以将网络共享磁盘看作是本地磁盘,如果某台机器对某个文件执行了写操作,则后来访问此文件的机器就会读到写以后的结果。可以根据对性能或是可扩展性,或者以经济性多个原则进行不同方案的部署。”
lzp00
红帽的gfs 是global fs的简称。和google的gfs不是一个东西。