首页 > 系统相关 >Linux 磁盘管理-存储设备及类型介绍(超详细)

Linux 磁盘管理-存储设备及类型介绍(超详细)

时间:2024-09-04 10:52:03浏览次数:13  
标签:存储 SAN Linux 文件系统 NAS 服务器 磁盘 存储设备 数据

今天给伙伴们分享一下Linux 磁盘管理-存储设备及类型介绍,希望看了有所收获。

我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!

如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文档。爱运维,爱生活。

在这里插入图片描述

磁盘阵列有三种架构分别为:DAS,NAS,SAN,这时面我们着重了解下他们的用途。

1、SAN

  • SAN(Storage Area Network) 存储区域网络——是一个网络上的磁盘
  • 通过光纤通道交换机连接存储阵列和服务器主机,最后成为一个专用存储网络。
  • SAN提供了一种与现有LAN连接的简易方法,并且通过同一物理通道支持广泛使用的SCSI和IP协议。
  • SAN允许企业独立地增加它们的存储容量。
  • SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据放在哪里,服务器都可以直接存取所需的数据。
  • 采用了光纤接口,SAN还具有更高的带宽。
1、SAN优点
  • 将存储和服务器隔离,简化了存储管理,能够统一、集中的管理各种资源。

  • 使存储更为高效。通常网络中,可能一个服务器可用空间用完了,另一个服务器还有很多可用空间。SAN把所有存储空间有效的汇集在一起,每个服务器都享有访问组织内部的所有存储空间的同等权利。这一方法能降低文件冗余度。

  • SAN能屏蔽系统的硬件,可以同时采用不同厂商的存储设备

2、SAN不足
  • 跨平台性能没有NAS好,价格偏高,搭建SAN比在服务器后端安装NAS要复杂的多。
3、SAN又分IP-SAN和FC-SAN
1、IP-SAN
  • IP-SAN 是由ISCSI卡存储组成的。SAN是一种将存储设备、连接设备和接口集成在一个高速网络中的技术。SAN本身就是一个存储网络,承担了数据存储任务,SAN网络与LAN业务网络相隔离,存储数据流不会占用业务网络带宽。

  • 这样降低的总体的成本。不在像SAN那样还需要独有的存储网络。完全依托与IP网络。但是由于在数据备份中。数据量是非常庞大的。所有非常的占有IP网络的带宽。所以在IP-SAN网络中 备份链路一般要重新开辟一条链路,完全专用IP网络的资源。

2、FC-SAN
  • 面对迅速增长的数据存储需求,企业和服务提供商渐渐开始选择FC-SAN作为网络基础设施,因为SAN具有出色的可扩展性。事实上,SAN比传统的存储架构具有更多显著的优势。例如,传统的服务器连接存储通常难于更新或集中管理。每台服务器必须关闭才能增加和配置新的存储。相比较而言,FC-SAN不必宕机和中断与服务器的连接即可增加存储。FC-SAN还可以集中管理数据,从而降低了总体拥有成本。

img

  • 利用光纤通道技术,FC-SAN可以有效地传输数据块。通过支持在存储和服务器之间传输海量数据块,SAN提供了数据备份的有效方式。因此,传统上用于数据备份的网络带宽可以节约下来用于其他应用。

  • 开放的、业界标准的光纤通道技术还使得FC-SAN非常灵活。FC-SAN克服了传统上与SCSI相连的线缆限制,极大地拓展了服务器和存储之间的距离,从而增加了更多连接的可能性。改进的扩展性还简化了服务器的部署和升级,保护了原有硬件设备的投资。

  • FC-SAN可以更好地控制存储网络环境,适合那些基于交易的系统在性能和可用性方面的需求。SAN利用高可靠和高性能的光纤通道协议来满足这种需要。

2、NAS

  • NAS(Network Attached Storage:网络附属存储)——是一个网络上的文件系统,就是一台小型的云端硬盘服务器,也是一台小电脑,在家里接上网络,就可以透过网络读写这台NAS服务器上的资料了,可提供跨平台文件共享功能,应用:文档图片电影共享,云存储。NAS即插即用,支持多平台。

  • NAS通常在一个LAN上占有自己的节点,无需应用服务器的干预,允许用户在网络上存取数据,在这种配置中,NAS集中管理和处理网络上的所有数据,将负载从应用或企业服务器上卸载下来,有效降低总拥有成本,保护用户投资。

  • NAS有一关键问题,即备份过程中的带宽消耗,NAS仍使用网络进行备份和恢复。NAS的一个缺点是它将存储事务由并行SCSI连接转移到网络上,也就是说LAN除了必须处理正常的最终用户传输流外,还必须处理包括备份操作的存储磁盘请求。

  • NAS需要服务器自己搜索它的硬盘

1、NFS(NAS的一种)
  • NFS 全称是 Network FileSystem,NFS 和其他文件系统一样,是在 Linux 内核中实现的,因此 NFS 很难做到与 Windows 兼容。NFS 共享出的文件系统会被客户端识别为一个文件系统,客户端可以直接挂载并使用。

  • NFS 的实现使用了 RPC(Remote Procedure Call) 的机制,远程过程调用使得客户端可以调用服务端的函数。由于有 VFS 的存在,客户端可以像使用其他普通文件系统一样使用 NFS 文件系统,由操作系统内核将 NFS 文件系统的调用请求通过 TCP/IP 发送至服务端的 NFS 服务,执行相关的操作,之后服务端再讲操作结果返回客户端。

2、Samba(CIFS,NAS的一种)
  • NFS 只能在 Unix 系统间进行共享,而 Windows 对其支持很有限。因此有人就在 Linux/Unix 系统中实现了 Windows 文件共享所使用的 CIFS 协议,也叫做 SMB(Simple Message Block)协议。这使得 Windows/Linux/Unix 间可以自由的进行文件共享。

  • samba 主要监听在这几个端口:137/udp, 138/udp, 139/tcp, 445/tcp

  • 在 Windows 中共享的文件系统,可以在 Linux 中使用 samba 客户端访问,或者直接挂载访问。

3、DAS

  • DAS(Direct Attached Storage,直接外挂存储)是存储方式的一种方案。这种存储方式的服务器结构如同PC机架构,外部数据存储设备(如磁盘阵列、光盘机、磁带机等)都直接挂接在服务器内部总线上,数据存储设备是整个服务器结构的一部分,同样服务器也担负着整个网络的数据存储职责。

  • DAS这种直连方式,能够解决单台服务器的存储空间扩展、高性能传输需求,并且单台外置存储系统的容量,已经从不到1TB,发展到了2TB,随着大容量硬盘的推出,单台外置存储系统容量还会上升。此外,DAS还可以构成基于磁盘阵列的双机高可用系统,满足数据存储方式对高可用的要求。

  • 直连式存储与服务器主机之间的连接通常采用SCSI连接,SCSI通道是IO瓶颈;服务器主机SCSI ID资源有限,能够建立的SCSI通道连接有限。

  • 无论直连式存储还是服务器主机的扩展,从一台服务器扩展为多台服务器组成的群集(Cluster),或存储阵列容量的扩展,都会造成业务系统的停机

4、FC-SAN,IP-SAN,NAS,DAS区别

  • SAN 应用于大型的数据中心(比如银行 保险业),IP-SAN 应用于中型的企业,在一个整体的大型的数据中心, IP-SAN是无法和SAN相比的。毕竟一条专用的存储区域网要比再IP网络中,在速率上要快很多。但成本就比SAN要低很多了,IP-SAN还是以块作为存储的,你可以认为它是含阵列功能的硬盘。

  • NAS应用于小型企业(无法实现数据库的备份。只工作在文件级的应用上)。 NAS存储服务器,与我们做共享文件夹类似。就是 一个是服务器+磁盘阵列+硬盘。

img

5、本地存储

1、windows 操作系统

windows上常见文件系统 exFAT,NTFS,FAT32

  • NTFS:最早出现在windowsNT的日志文件系统,有文件加密(权限管理)、磁盘文件压缩(节省磁盘空间)、目录索引(方便快速查找)、支持长文件名(255个字符)、磁盘预警、大容量(根据簇的不同最大容量可以达到16~256TB,但存储文件过多,由于索引增多,文件碎片化可能会导致实际性能下降)、记录操作日志(数据安全)等特性
  • FAT32:较早的文件系统类型,兼容性好,但是最大仅支持2TB分区,NT内核仅限制为32GB,单个文件最大也仅4GB
  • exFAT:微软为了解决FAT32在大文件上表现不佳的问题,专门为闪存盘设计的文件系统类型。但是由于没有NTFS的许多特性并不适合作为系统分区使用
2、linux 操作系统

Linux操作系统下的文件系统 ext2、ext3、ext4、XFS和Btrfs,它们各自有不同的特点和适用场景。

  • ext2
    ext2是Linux操作系统最早的文件系统之一,它采用了基于磁盘组织的方式对文件进行存储,支持文件和目录的权限控制,但不支持日志功能。由于没有日志功能,如果系统崩溃或掉电,可能会导致文件系统损坏。

  • ext3
    ext3是在ext2的基础上添加了日志功能的文件系统,它可以记录文件系统的操作和状态,使得在系统崩溃或掉电时可以更快速地恢复文件系统的一致性。ext3支持较大的文件和分区,但在大文件和高并发读写的情况下,性能可能会受到一定的影响。

  • ext4
    ext4是在ext3的基础上进行改进的文件系统,它支持更大的文件和分区,提高了文件系统的性能和可靠性。ext4还支持更快速的文件系统检查和修复,同时也支持更高级的数据完整性保护机制。

  • XFS
    XFS是一种高性能、可伸缩的日志文件系统,它支持大文件和高并发读写,适用于大型服务器和高性能计算环境。XFS的日志机制更为健壮,代码结构也更为简洁,因此在高负载、高并发的情况下性能表现更为出色。

  • Btrfs
    Btrfs是一种新型的文件系统,它支持快照、压缩、数据镜像和数据校验等高级特性,适用于数据存储和备份。Btrfs还支持动态扩展和收缩文件系统大小,可以动态添加或删除磁盘,使得系统更为灵活和可靠。

6、分布式文件系统

  • 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。例如,用户可以“发表”一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就像使用本地驱动器一样

  • 计算机通过文件系统管理、存储数据,而信息爆炸时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,在容量大小、容量增长速度、数据备份、数据安全等方面的表现都差强人意。分布式文件系统可以有效解决数据的存储和管理难题:将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。

1. 谷歌文件系统(GFS)
  • 谷歌文件系统(GFS)是一个分布式文件系统,用于存储谷歌的海量数据。它具有高可靠性、高性能和可扩展性的特点。GFS采用了主从架构,将数据分片存储在多个机器上,通过冗余备份和数据迁移来提高数据的可靠性和可用性。GFS还具有快速恢复能力和自动数据分布功能,能够在节点故障和网络故障发生时保证数据的完整性。
2. Hadoop分布式文件系统(HDFS)
  • Hadoop分布式文件系统(HDFS)是Apache Hadoop项目的核心组件之一,用于存储和处理大规模数据集。HDFS采用了主从架构,将数据分片存储在多个机器上,通过冗余备份和数据迁移来提高数据的可靠性和可用性。HDFS具有高吞吐量、高容错性和高可扩展性的特点,适用于大规模数据的存储和处理。
3. Ceph
  • Ceph是一个分布式存储系统,具有高可靠性、高性能和可扩展性的特点。Ceph采用了对象存储的方式,将数据分散存储在多个节点上,通过冗余备份和数据迁移来提高数据的可靠性和可用性。Ceph还具有自动数据分布功能和动态扩展能力,能够根据数据量的变化自动调整存储节点的数量和位置。
4. GlusterFS
  • GlusterFS是一个开源的分布式文件系统,用于存储和处理大规模数据集。GlusterFS采用了分布式存储的方式,将数据分散存储在多个节点上,通过冗余备份和数据迁移来提高数据的可靠性和可用性。GlusterFS还具有高性能、高可扩展性和易于管理的特点,适用于大规模数据的存储和处理。
5. Lustre
  • Lustre是一个高性能的并行分布式文件系统,用于存储和处理大规模数据集。Lustre采用了分布式存储的方式,将数据分散存储在多个节点上,通过冗余备份和数据迁移来提高数据的可靠性和可用性。Lustre还具有高吞吐量、低延迟和可扩展性的特点,适用于高性能计算和科学研究领域。
6. HBase
  • HBase是一个分布式的列式数据库,用于存储和处理大规模结构化数据。HBase采用了分布式存储的方式,将数据分散存储在多个节点上,通过冗余备份和数据迁移来提高数据的可靠性和可用性。HBase还具有高性能、高可扩展性和灵活的数据模型,适用于大规模数据的存储和查询。
7. Cassandra
  • Cassandra是一个分布式的列式数据库,用于存储和处理大规模结构化数据。Cassandra采用了分布式存储的方式,将数据分散存储在多个节点上,通过冗余备份和数据迁移来提高数据的可靠性和可用性。Cassandra还具有高性能、高可扩展性和容错性的特点,适用于大规模数据的存储和分析。
8. Swift
  • Swift是一个开源的分布式对象存储系统,用于存储和处理大规模非结构化数据。Swift采用了对象存储的方式,将数据分散存储在多个节点上,通过冗余备份和数据迁移来提高数据的可靠性和可用性。Swift还具有高性能、高可靠性和可扩展性的特点,适用于大规模非结构化数据的存储和访问。
9. MooseFS
  • MooseFS是一个开源的分布式文件系统,用于存储和处理大规模数据集。MooseFS采用了分布式存储的方式,将数据分散存储在多个节点上,通过冗余备份和数据迁移来提高数据的可靠性和可用性。MooseFS还具有高性能、高可靠性和易于管理的特点,适用于大规模数据的存储和处理。
10. Heketi
  • Heketi是一个开源的分布式存储管理器,用于管理和调度分布式存储系统。Heketi可以自动分配存储空间、调整存储节点和迁移数据,提高存储系统的可靠性和性能。Heketi还具有高可用性、可扩展性和易于管理的特点,适用于大规模分布式存储系统的管理和调度。

7、云存储

​ 云硬盘 cos sos es

  • 云存储是在云计算(Cloud Computing)概念上延伸和衍生发展出来的一个新的概念。

  • 云计算是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经计算分析之后将处理结果回传给用户。通过云计算技术,网络服务提供者可以在数秒之内,处理数以千万计甚至亿计的信息,达到和”超级计算机”同样强大的网络服务。

  • 云存储的概念与云计算类似,它是指通过集群应用、网格技术或分布式文件系统等功能,网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统,保证数据的安全性,并节约存储空间。

  • 简单来说,云存储就是将储存资源放到云上供人存取的一种新兴方案。使用者可以在任何时间、任何地方,透过任何可连网的装置连接到云上方便地存取数据。如果这样解释还是难以理解,那我们可以借用广域网和互联网的结构来解释云存储。

8、存储模式

存储模式分为文件存储、对象存储、块存储 ceph

1、文件存储
  • 文件存储带有文件系统,主要是以文件的形式存放数据,能将所有的目录、文件形成一个有层次的树形结构来管理,通过“树”不断伸展的枝丫就能找到你需要的文件。

  • 存储协议主要是NFS、CIFS等,以统一命名空间的形式共享一个存储空间,能够支持成百上千的用户进行访问并上传下载文件,共享非常方便。

文件存储应用场景

视频、影像等海量文件数据存储

  • 视频监控、视频编辑、金融票据、医疗影像等系统的视频、影像等非结构化数据的存储,在容量和文件数量方面对存储系统的规模都有很高的要求,采用文件存储能够保证数据写入实时高效,同时具备大容量和高可扩展的存储能力,全面满足用户复杂的业务需要。

高性能计算

  • HPC高性能计算对存储并发性能的要求很高,传统的阵列式存储设备难以满足其要求,需要采用文件存储提供足够的并发性能。

大数据在线分析

  • 利用Hadoop等大数据分析平台对海量数据进行数据分析、数据挖掘,对存储容量提出较高要求,分布式存储系统提供海量存储空间的同时,支持Hadoop的协议共享,简化了部署难度。
2、对象存储
  • 对象存储包含“桶”(Bucket)和“对象”(Object)这两个概念。

  • 对象包含数据和元数据,每个对象都有一个唯一的“身份码”(对象ID)和“接入码”(Key),只有当“码”经过认证后,才能通过基于http协议的RESTful接口进行访问。

  • 不同于块存储和文件存储,对象是存在“桶”里的,桶就像万能的“百宝袋”,支持文件、照片、视频等不同类型的对象,而且再多的数据都能装得下。

  • 文件存储和对象存储都是非结构化数据存储的主要形态,两者的主要区别是什么呢?

  • 我们可以把非结构化数据的读写过程看作是在停车场停车和找车的过程,文件存储相当于自助停车而对象存储相当于代客泊车。

  • 文件存储就像自助停车一样,需要自己找到停车(文件)的位置(目录),记录下找到车的路线(路径),在取车时通过记录好的路线找到自己的车。

图片[1]-什么是文件存储、对象存储、块存储?-不念博客

  • 对象存储就像代客泊车,工作人员(对象存储)按照一定的规律替你把车(对象)停在停车场(桶)的某个位置,并且给你一张凭证(对象ID),取车时只需要凭停车凭证就可以由工作人员替你取出你的车,而你本人不需要知道车具体停哪里。

图片[2]-什么是文件存储、对象存储、块存储?-不念博客

对象存储应用场景

海量非结构化数据归档

  • 对象存储可提供完善的归档备份类解决方案,弹性扩展的集群可有效满足企业日益增长的存储需求。通过EC、多副本、多站点部署等策略提供可靠性保障;同时实现海量文件的高效检索。

数据分析与挖掘

  • 支持标准S3、NFS等协议,可与Hadoop等主流大数据平台实现无缝对接,全面纳管大数据存储。采用分布式架构及哈希算法实现负载均衡,可及时高效地响应业务存调需求。

企业云方案

  • 可为云就绪的数据中心提供智能存储,并可通过开放的API模式帮助云原生应用快速完成开发及业务上线。支持定制化IAM策略,并且能与云应用深度结合,协同为用户打造全面的企业云方案。
3、块存储
  • 块存储通常是裸盘(未格式化的硬盘)的形式,逻辑硬盘上有很多固定大小的数据分区,按照字节来存储和访问。

  • 通过iSCSI、FC等存储协议,将存储空间的位置告诉(映射给)操作系统,映射的存储资源就可以成为本地磁盘的一部分而进行使用。

  • 块存储主要用来存储数据库等结构化数据,在随机读写的速度和可靠性方面的强劲实力是最好的依靠。

块存储应用场景

实时交易类型应用

  • 采用高一致性、高可靠、低延迟的块存储进行部署,能够满足在实时交易类型应用的数据库等结构化数据的读写中,对数据一致性和读写效率的高要求。

分析处理类型应用

  • 数据仓库等联机分析处理应用为用户的经营决策提供支撑,块存储具备高性能、易管理的特性,可以有效保证分析过程的准确、高效。

虚拟化及容器云环境 vmware esxi

  • 私有云及混合云环境中本地存储的构建一般采用块存储的方式,块存储协议兼容性高、管理接口支持全面,对主流的虚拟化、云平台等具备全面的支持能力。

9、数据备份重要性

  • 自然灾害,如水灾、火灾、雷击、地震等不可抗力造成计算机系统和存储数据的破坏或丢失; 不可抗力

  • 计算机设备故障,其中包括存储介质的老化、失效;

  • 系统管理员及维护人员的误操作;

  • 病毒感染造成的数据破坏和网络上的“黑客”攻击;

如果对伙伴们有帮助,感谢关注支持**「想吃西红柿」「云原生运维实战派」**后续会有更多实用的运维技术分享给伙伴们,您的关注就是我最大的成就。

标签:存储,SAN,Linux,文件系统,NAS,服务器,磁盘,存储设备,数据
From: https://blog.csdn.net/mohuanfenghuang/article/details/141878474

相关文章

  • linux 基础操作
    LinuxOperationsoriginurl(https://ubuntu.com/tutorials/command-line-for-beginners#4-creating-folders-and-files)Fileoperatorsopenaterminal_shift+alt+t_showcurrentworkingdirectory_pwd_changedirectorycd*changedirectorytoroot_cd......
  • Linux-devops
    云原生时代:以Devops、SRE框架为指导,Docker/K8S/微服务为基础,用分布式方式加上Python和Go语言,构建一套云技术产品体系,以及进行高级管理工具的二次开发,实现属于公司自己的自动化运维体系以及云技术体系的自动化产品。使用的自动化运维产品,可以用rancherargoCDtecktonClgit......
  • Linux启动后自动登录root进入控制台
    通过修改/etc/inittab文件来实现1.buildroot编译出来的 /etc/inittab文件如下##Copyright(C)2001ErikAndersen<[email protected]>##Note:BusyBoxinitdoesn'tsupportrunlevels.Therunlevelsfieldis#completelyignoredbyBusyBoxinit.Ifyo......
  • 最新Kali Linux安装教程(非常详细)(附镜像包)
    镜像下载:链接:https://pan.baidu.com/s/1W2Jpl5_UNNFKaIs8fLIl7w?pwd=xxxx 提取码:xxxx  配置虚拟机这里我们以最新的vm17.5为例。进行配置虚拟机。1.创建新的虚拟机2.自定义3.直接下一步4.选择稍后安装操作系统因为kali是基于debian深度开发,这里我们选debia......
  • Linux服务器之TOP命令详解
    在做性能调优的过程中,我们经常需要用到top命令来查看服务器实时的资源占用情况,通过top命令,我们可以查看到服务器的各项性能指标以及各个进行的资源使用情况。命令格式:top[参数]命令参数:-b批处理-c显示完整的治命令-I忽略失效过程-s保密模式-S累积模式-i<......
  • 【Linux系列】AWK命令使用
    ......
  • 【Linux系列】SH 与 BASH 的区别:深入解析与使用案例
    ......
  • Linux内核的栈回溯dump_stack原理
    浅析ARMv8体系结构:Aarch64过程调用标准_aarch64-64-little(重磅原创)冬之焱:谈谈Linux内核的栈回溯与妙用-腾讯云开发者社区-腾讯云(tencent.com)ARM架构dump_stack实现分析(3.0printk%pS选项实现)测试程序:#include<stdio.h>intA(inta){}intB(){ inta=5; A(a);......
  • Linux C++ 开发7 - GDB常用命令汇总(你想了解的都在这)
    1.运行命令2.设置断点3.查看源码4.打印表达式5.查看运行信息5.1.设置和查看运行参数的Demo6.分割窗口7.参考文档上一篇《LinuxC++开发6-GDB调试》中我们讲解了GDB的调试流程和常用的调试方法。GDB的调试指令众多,我们这里针对常用的指令做一个汇总(按功能......
  • Linux C++ 开发7 - GDB常用命令汇总(你想了解的都在这)
    1.运行命令2.设置断点3.查看源码4.打印表达式5.查看运行信息5.1.设置和查看运行参数的Demo6.分割窗口7.参考文档上一篇《LinuxC++开发6-GDB调试》中我们讲解了GDB的调试流程和常用的调试方法。GDB的调试指令众多,我们这里针对常用的指令做一个汇总(按功能分......