LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2951|回复: 3

redhat cluster suite FAQ 的一些翻译(2) -- GFS

[复制链接]
发表于 2007-10-9 14:29:51 | 显示全部楼层 |阅读模式
redhat cluster suite FAQ 的一些翻译(2) -- GFS

本文遵循 知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆 License。

非商业性使用
许可人允许他人复制、发行、展览、表演、放映、广播或者通过信息网络向公众传播本作品。但是,除非取得许可人同意,被许可人不得将本作品用于商业目的。

相同方式共享
许可人只允许他人采用与自己的作品所使用的协议相同的许可协议,来发行演绎作品。

Kevinzou(kissingwolf@gmail.com)
分发此文时,请保留上述文字!

1.什么是gfs,我为什么需要它?

GFS是一种运行在集群节点上的集群文件系统。象其它的文件系统一样,它基本上是一个运行在顶部的vfs(虚拟文件系统)层的内核模块。它可以控制如何将数据储存在一个块设备或逻辑卷上。为了使一组计算机( "节点" )合作共享数据和更新,你需要GFS的协调能力和一组锁协议。目前推崇的一个集群锁协议是DLM (分布式锁管理器),DLM也是一个内核模块。它的职责是确保节点在集群中分享SAN数据的时候加锁 ,以使节点间干净互斥的访问和更新数据。

他文件系统例如 ext3,并不支持集群互锁方式,如果在集群中使在此类文件系统存放多机共享数据的时候,将很快出现脏数据甚至数据被破坏。


2.我在集群中配置GFS的时候需要那些硬件?

你需要某种形式的共享存储---光纤通道和iscsi是比较典型的方式。如果你没有光纤通道或者iscsi,可以使用gnbd代替。此外你还需要两个或两个以上的计算机并用网络设备将其连接起来。


3.我可以使用目前品牌电脑直接作GFS集群存储吗?

不能,GFS不是直接让个人电脑与共享存储,它还需要如SAN与光纤通道交换机等携同完成存储。现货供应电脑没有提供共享存储。


4.一个GFS文件系统支持的最大规模是多少?

GFS 6.1 (rhel 4上的 )在32位RHEL集群系统上支持16TB 。如果集群中所有节点是64位的RHEL ( x86-64 或ia64 ) ,最大理论为8EB(exabytes) 。我们实地考察报告的4.5到50TB。仅测试到这些配置的原因是我们缺乏非常大的阵列系统:-)。


5.GFS或GFS2是否支持毫秒时间戳?

目前,GFS和GFS2不使用毫秒文件时间戳,他们还是用秒。这是为了维持兼容性,因为底层虚拟文件系统层的内核是使用秒时间戳的。如果内核有了变化以毫秒为时间戳,我们也会跟着改变。

人们通常并不关心毫秒,所以毫秒仅在使用例如nfs服务的时候比较重要。 例如,如果另一台电脑已经改变了磁盘上的数据,那么在最后那一刻此操作才为人所知。在gfs2 中我们正在策划实施的inode代号码,以掌握这些东西能更准确地比对时间戳。

6.为什么gfs_tool setflag  inherit_directio 不影响new_files_directio ?
我作了如下操作:
[root@node-01#] gfs_tool setflag inherit_directio my_directory
[root@node-01#] gfs_tool gettune my_directory

回显:
new_files_directio = 0


是这样的: inherit_directio和new_files_directio是两回事。如果你看了gfs_tool的manpage,你会发现 inherit_directio运行在一个单独的目录,而new_files_directio则是一个文件系统范围的" settune "值。如你所做的:
gfs_tool setflag inherit_directio my_directory

你告诉文件系统说,只有你的目录和所有新的档案在该目录应该有这样的属性,这就是为什么只要你在这个目录中,你的测试正如人们预料的。它基本上是设置在目录内存inode上的一个属性。如若你做:
gfs_tool settune mount-point new_files_directio 1
new_files_directio值就会改变,并且作用于整个挂接点,而不只是该目录中。当然你可以看到gfs_tool gettune my_directory为全局标记。



7.我听说GFS "NFS故障切换" 可防止数据丢失。这是否属实?

不,这不是真的。它可以防止由于节点苏醒或切换导致的数据一致性问题,而由于用户错误地发送写消息给磁盘时而产生的数据丢失,它无法避免。

简单的事实是,在电脑突然关机时没有人能对数据丢失负责。如果突然关机的时候一个客户正在写,其存储的数据将丢失。如果突然关机的时候另一台服务器正在写,本地缓存的数据将丢失,除非该文件系统是使用了"同步(sync)"选项。不幸的是"同步(sync)"选项是以庞大的性能损耗为代价的。GFS的日志可以尽量减少和防范这方面的损失。

"NFS故障切换", 是指如果集群故障恢复域中的一个NFS服务器节点出现宕机情况(这是到目前为止最可能出现的情况),NFS服务将切换到另一台运行GFS的集群故障恢复域节点上。请求该操作的NFS客户会在请求超时后重发操作要求,改请求将被接管NFS故障恢复服务的那个节点的NFS服务所响应。GFS将保证其数据完整而非脏数据。


8.我已经对设备作了mkfs的操作,但当我挂接的时候系统总是抱怨我“没有权限”(permission denied)挂接它!
你可能在mkfs的时候使用了错误的集群名 。使用' dmesg '看看GFS到底在抱怨什么。如果这是前面提到的问题,你可以使用gfs_tool或另一mkfs操作来修复它。

即使这是不是你的问题(通常情况下是你的问题),如果你发现问题越来越多,使用dmesg来查看内核的抱怨也是一个很好的习惯。


9. 有没有简单的方法查看我集群中的那些节点挂接了GFS ?

首先要看你的GFS使用的是何种锁方式。

如果你使用DLM方式的 ,使用这个命令就可以从任意已挂接GFS的节点上得到回显:

#cman_tool services

如果你使用GULM方式 ,或者不是一个已挂接GFS的节点,这里的另一种方式这样做:

#for i in `grep "<clusternode name" /etc/cluster/cluster.conf | cut -d '"' -f2` ; do ssh $i "mount | grep gfs" ; done

当然有个前提: 你在每个节点上都相互作了ssh key !



10.gfs_tool df 后回显inodes 100%  被使用了是什么问题?

不像ext3 文件系统,GFS在他需要inode的时候会动态分配inode 。因此这不是一个问题,不用管它!
发表于 2007-10-11 00:06:00 | 显示全部楼层
不错的好东西  

回复 支持 反对

使用道具 举报

发表于 2007-10-28 23:14:05 | 显示全部楼层
老师出品,必属精品。
回复 支持 反对

使用道具 举报

发表于 2007-11-10 21:32:45 | 显示全部楼层
近年来IT行业的发展让IT从业者的薪资待遇也水涨船高,但是不是每一个IT人都对自己的薪资满意?当工作两三年,摆脱职场菜鸟的尴尬时,大家心里最期盼的就是加薪升职。
不过,并不是每个人都能成功,那有没有其他途径呢,条条大路通罗马,做软件开发的小姚就用自己的故事证明了IT人只要勤于思考,始终保持学习心态,加薪绝对可能。
今年已工作3年的小姚在经过了一段时间的考虑后,决定辞去工作,培训充电,为谋求高薪做准备。几个月后,小姚成功入职中国银行软件测试中心,薪水也由原来的5000元变成现在的8000元,他通过“蛙跳”战术实现了自己的加薪梦。
小姚原来在一家软件开发企业工作,工作两三年时,勤奋的小姚薪水已达到5000元,这对很多初入职场的人来说,已经不错,但小姚觉得自己掌握的开发语言随着这几年的技术发展,已谈不上主流,在原来的公司加薪希望不大,以当时状态,通过跳槽加薪也希望渺茫。因此他决定选择一家可靠的培训机构再学一门测试语言,技多不压身,这是小姚当时最朴实的想法,另外,他也想通过充电,加快职场奔跑的速度。
通过对多家培训机构的比较及自身的工作经历,小姚选择了一直专注于中国高端IT培训的北大青鸟软件测试(北大测试)培训班,学习软件测试技术。进入北大测试(btesting)后,白盒测试、黑盒测试、Oracle等,小姚学到了很多。在和北大测试老师、同学相处的过程中,小姚也始终保持一个学习者的心态,在项目实战阶段,小姚充分发挥组长作用,带领组内学员顺利完成了项目实战。
毕业时,中国银行软件研发中心到北大测试(btesting)招聘,由于小姚先前工作的公司曾做过中国银行的外包业务,小姚对中国银行的业务体系及技术架构比较了解,加之他在面试中以出色的表现,被中国银行软件测试中心以8000元月薪录用。
小姚的经历可圈可点,这一切离不开他的努力、毅力、技术和业务知识的积累。他的事例也具有一定的典型意义,当请小姚谈一下经验时,谦逊的小姚谈了几点他对职场新人的建议:
1、技术和业务同样重要的,“技术是业务沟通的一个中间工具,两者缺一不可,否则技术就没有用武之地了。”他认为,对程序员来说,至少应熟练掌握一门开发语言。
2、学习过程中,不仅要学习编程语言,还要提高逻辑能力,即思考问题的思路和工作方法。
3、沟通很关键。“平时工作中,我很喜欢观察团队领导及同事的工作方法和为人处事方式,与团队的沟通和协作相对比较顺畅,工作自然能顺利高效完成。”
小姚是北大测试(btesting)众多学员中的一员,他的经历说明培训能充分提高自身竞争力。北大测试培训专家建议,当IT人面临升职加薪瓶颈时,根据自己的教育背景和工作经验选择恰当的培训,学习新的知识及技能,可以实现职场“蛙跳”,成功加薪升职。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表