linux高可用集群资源进阶之CFS

简介:

第一章    CFS集群文件系统简介

一、CFS集群文件系统

          

        应用环境:个人理解为当多个节点需要同时操作一个文件系统,更准确的说是访问同一个分区LUN时就需要使用集群文件系统,而在实际工作中,通常是san技术和gfs2的结合,也就是san实现的是硬件级别的设备关联,而gfs2文件系统实现软件级别的数据存储机制,关键是文件锁分布在各个节点上,要保证各个节点失效后的通知机制,就必须配合高可用集群来完成
集群文件系统CFS意义:

当多个主机挂载相同的文件系统,并且同时进行写操作的时候,需要一种高级别的锁机制,所以有了CFS文件系统。

0CA4DD20F47943CA9DCA32B9E9FD69B0

CFS集群文件系统的分类:

GFS2

特点:共享式文件系统、支持日志、64最小存储单位、兼容POSIX、读写缓存、支持在线扩容,支持直接I/O、配额管理、ACL、SELINUX。

OCFS2

分布式文件系统:

        分布式文件系统(DFS)把一些分散的(分布在局域网内各个计算机上)共享文件夹,集合成一个文件夹内(虚拟共享文件夹)利用分布式文件夹,对于用户来说,要访问这些共享文件夹时,只要打开这个虚拟共享文件夹,就可以看到所有链接到虚拟共享文件夹内的共享文件夹。用户感觉不到这些个共享文件是分散于各个计算机上的。分布式文件系统的好处是:集中访问。简化操作。提高文件存取效率。

        通常是将多个存储节点结合起来共同实现存储的功能,实现了无限扩容的可能,实现上是将多个节点的存储空间整合起来,形成一个抽象的虚拟存储空间,在存储数据时类似raid5的存储机制,在工作机制上,也需要一个专门用来管理存储的称为“名称节点”namenode,其他真正存储数据的称为datenode,(此名称来源于HDFS,其他分布式系统类似)。    

DFS分布式文件系统分类:

NFS:网络文件系统,最早,特点是由客户端定期检查修改内容,减少服务器端工作,适用于小网络。

HDFS:适用于存储单个大文件。

mooseFS:

MOGIFEFS:适用于存储小文件。最常用

40F51ED024EA4041A57AEDEB6360C6AD

参考文件: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,如需转载请自行联系原作者

相关文章
|
2天前
|
消息中间件 Java Kafka
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
本文介绍了Kafka集群的搭建过程,涵盖从虚拟机安装到集群测试的详细步骤。首先规划了集群架构,包括三台Kafka Broker节点,并说明了分布式环境下的服务进程配置。接着,通过VMware导入模板机并克隆出三台虚拟机(kafka-broker1、kafka-broker2、kafka-broker3),分别设置IP地址和主机名。随后,依次安装JDK、ZooKeeper和Kafka,并配置相应的环境变量与启动脚本,确保各组件能正常运行。最后,通过编写启停脚本简化集群的操作流程,并对集群进行测试,验证其功能完整性。整个过程强调了自动化脚本的应用,提高了部署效率。
【手把手教你Linux环境下快速搭建Kafka集群】内含脚本分发教程,实现一键部署多个Kafka节点
|
1月前
|
人工智能 算法 大数据
Linux内核中的调度算法演变:从O(1)到CFS的优化之旅###
本文深入探讨了Linux操作系统内核中进程调度算法的发展历程,聚焦于O(1)调度器向完全公平调度器(CFS)的转变。不同于传统摘要对研究背景、方法、结果和结论的概述,本文创新性地采用“技术演进时间线”的形式,简明扼要地勾勒出这一转变背后的关键技术里程碑,旨在为读者提供一个清晰的历史脉络,引领其深入了解Linux调度机制的革新之路。 ###
|
27天前
|
算法 前端开发 Linux
深入理解Linux内核调度器:CFS与实时性的平衡####
本文旨在探讨Linux操作系统的核心组件之一——完全公平调度器(CFS)的工作原理,分析其在多任务处理环境中如何实现进程间的公平调度,并进一步讨论Linux对于实时性需求的支持策略。不同于传统摘要仅概述内容要点,本部分将简要预览CFS的设计哲学、核心算法以及它是如何通过红黑树数据结构来维护进程执行顺序,同时触及Linux内核为满足不同应用场景下的实时性要求而做出的权衡与优化。 ####
|
2月前
|
监控 安全 Linux
使用NRPE和Nagios监控Linux系统资源的方法
通过遵循以上步骤,可以有效地使用NRPE和Nagios监控Linux系统资源,确保系统运行稳定,并及时响应任何潜在的问题。这种方法提供了高度的可定制性和灵活性,适用于从小型环境到大型分布式系统的各种监控需求。
54 2
|
4月前
|
资源调度 监控 网络协议
在Linux中,如何进行系统资源调度?
在Linux中,如何进行系统资源调度?
|
4月前
|
监控 算法 网络协议
在Linux中,如何进行网络资源的优化?
在Linux中,如何进行网络资源的优化?
|
4月前
|
存储 Prometheus 监控
在Linux中,如何进行系统资源的监控?
在Linux中,如何进行系统资源的监控?
|
4月前
|
缓存 监控 网络协议
在Linux中,如何进行系统资源的优化?
在Linux中,如何进行系统资源的优化?
|
4月前
|
监控 安全 Linux
在Linux中,如何进行网络资源的优先级管理?
在Linux中,如何进行网络资源的优先级管理?
|
4月前
|
Linux 虚拟化 数据中心
在Linux中,如何进行系统资源的隔离?
在Linux中,如何进行系统资源的隔离?