第一章 CFS集群文件系统简介
一、CFS集群文件系统
应用环境:个人理解为当多个节点需要同时操作一个文件系统,更准确的说是访问同一个分区LUN时就需要使用集群文件系统,而在实际工作中,通常是san技术和gfs2的结合,也就是san实现的是硬件级别的设备关联,而gfs2文件系统实现软件级别的数据存储机制,关键是文件锁分布在各个节点上,要保证各个节点失效后的通知机制,就必须配合高可用集群来完成。
集群文件系统CFS意义:
当多个主机挂载相同的文件系统,并且同时进行写操作的时候,需要一种高级别的锁机制,所以有了CFS文件系统。
CFS集群文件系统的分类:
GFS2
特点:共享式文件系统、支持日志、64最小存储单位、兼容POSIX、读写缓存、支持在线扩容,支持直接I/O、配额管理、ACL、SELINUX。
OCFS2
分布式文件系统:
分布式文件系统(DFS)把一些分散的(分布在局域网内各个计算机上)共享文件夹,集合成一个文件夹内(虚拟共享文件夹)利用分布式文件夹,对于用户来说,要访问这些共享文件夹时,只要打开这个虚拟共享文件夹,就可以看到所有链接到虚拟共享文件夹内的共享文件夹。用户感觉不到这些个共享文件是分散于各个计算机上的。分布式文件系统的好处是:集中访问。简化操作。提高文件存取效率。
通常是将多个存储节点结合起来共同实现存储的功能,实现了无限扩容的可能,实现上是将多个节点的存储空间整合起来,形成一个抽象的虚拟存储空间,在存储数据时类似raid5的存储机制,在工作机制上,也需要一个专门用来管理存储的称为“名称节点”namenode,其他真正存储数据的称为datenode,(此名称来源于HDFS,其他分布式系统类似)。
DFS分布式文件系统分类:
NFS:网络文件系统,最早,特点是由客户端定期检查修改内容,减少服务器端工作,适用于小网络。
HDFS:适用于存储单个大文件。
mooseFS:
MOGIFEFS:适用于存储小文件。最常用
参考文件:http://www.51cto.com/art/201507/483773.htm
实验:
cman+rgmanager实现高可用集群,iscsi搭建共享存储,集群文件系统使用gfs2,gfs2需要同时安装gfs2-utils,每个节点都需要一个存储日志的区域,这个存储区域是在共享存储上的。
回顾:
nas实际上就是一个文件服务器,是应用级别的存储,san实际上是在scsi协议的一种扩展,是块级别的存储,包括fc-san、ip-san,FCOE、IB。
iscsi既可以封装在软件层,也可以封装在硬件层,通常将iscsi协议封装在硬件层的称为HBA卡,而将iscsi封装在内核层,而将tcp/ip分装在硬件层,这样的设备称为ToE,最简单常见的就是将iscsi和tcp都封装在内核层,然后再经硬件封装成帧格式的是网卡了。
iscsi的实现方式有很多种,包括tgtadm、但通常实现的是共享存储。
所谓共享存储就是多个节点共享同一个存储空间,也就是多个节点通过文件锁机制,同时挂载一个相同的存储分区,这个分区通常是gfs格式的,保证多节点在进行写操作的时候不会造成文件系统崩溃,但是多节点共享一个存储空间势必造成存储的一个瓶颈 ,无论是线路的还是存储设备自身的性能都会造成很大的压力。
所以扩展性能的方式就有了两种,一种是“向上扩展”,简单提升存储设备或者线路性能,而“向外扩展”,就像我们前面提到了负载均衡,将多个节点捆绑起来共同完成数据的存储过程,这里我们就称为分布式文件系统。
比如DFS(分布式文件系统)同样是“共享式的文件系统”,区别就是跨越了多个节点的,通过虚拟出一块磁盘的抽象文件系统
CFS(集群文件系统),也是共享式文件系统,常见的就是gfs2,通过mkfs命令进行创建和格式化,也可以创建虚拟卷,来动态增加删除容量,这就需要clvm来完成。
本文转自 blackstome 51CTO博客,原文链接:http://blog.51cto.com/137783/1968769,如需转载请自行联系原作者