磁盘和文件系统
磁盘接口分类
-
IDE:全称 Integrated Drive Electronics,即“电子集成驱动器”,俗称 PATA 并口。它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。IDE 代表着硬盘的一种类型,但在实际的应用中,人们也习惯用 IDE 来称呼最早出现 IDE 类型硬盘 ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,比如 ATA(Advanced Technology Attachment)、Ultra ATA、DMA、Ultra DMA 等接口都属于 IDE 硬盘。其特点为:价格低廉,兼容性强,性价比高,数据传输慢,不支持热插拔等等。
-
SCSI 接口类型。其英文名称为:Small Computer System Interface。SCSI 并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI 接口具有应用范围广、多任务、带宽大、CPU 占用率低,以及热插拔等优点,但较高的价格使得它很难如 IDE 硬盘般普及,因此 SCSI 硬盘主要应用于中、高端服务器和高档工作站中。其特点为:传输速率高、读写性能好、可连接多个设备、可支持热插拔,但是价格相对来说比较贵。
-
SATA 接口类型,其英文名称为:Serial Advanced Technology Attachment。使用 SATA(Serial ATA)口的硬盘又叫串口硬盘。Serial ATA 采用串行连接方式,串行 ATA 总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。
-
SAS 接口类型,其英文名称为:Serial Attached SCSI。其可以向下兼容 SATA。具体来说,二者的兼容性主要体现在物理层和协议层的兼容。在物理层,SAS 接口和 SATA 接口完全兼容,SATA 硬盘可以直接使用在 SAS 的环境中,从接口标准上而言,SATA 是 SAS 的一个子标准,因此 SAS 控制器可以直接操控 SATA 硬盘,但是 SAS 却不能直接使用在 SATA 的环境中,因为 SATA 控制器并不能对 SAS 硬盘进行控制;在协议层,SAS 由 3 种类型协议组成,根据连接的不同设备使用相应的协议进行数据传输。其中串行 SCSI 协议 (SSP) 用于传输 SCSI 命令;SCSI 管理协议 (SMP) 用于对连接设备的维护和管理;SATA 通道协议 (STP) 用于 SAS 和 SATA 之间数据的传输。因此在这 3 种协议的配合下,SAS 可以和 SATA 以及部分 SCSI 设备无缝结合。其传输速率比 SATA 要快很多。
-
光纤通道,其为英文字母 Fibre Channel 的缩写。其最初设计也不是为了硬盘设计开发的接口,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等。
-
U.2 接口:这个接口又称为 SFF-8639,通道为 PCI-E 3.0 x4 。这说明有着极为惊人的传输速度。只支持 NVMe 协议,注意这个只是协议非物理的硬件。而作为硬盘最为重要的是数据线,当中的一头小的为接入主板,大的一头接入硬盘数据口。在大的一头外面还拖着一根电源线,这个跟主机电源相连接。而在主板上面的接口形态为两个并排的接口。目前主要用于企业级市场。因为价格昂贵,所以目前没有普及。支持的主板类型较少。
-
PCI-E 接口:在主板上面有个 PCI-E 接口,而固态硬盘上面也有这个接口类型的。这个类型的 PCI-E 接口硬盘是接入到主板上面的 PCI-E×16 接口上面的。因此不单单代表这个是固态硬盘的接口,还是主板上面的接口。所不同的是,可以看作显卡的为公口,而主板的为母口。要注意的是在主板上面这个接口同样的用来装显卡的。因此要装这个类型固态硬盘时候看,要购买双通道 PCI-Ex16 的主板,才可以同时满足插入主板以及显卡的要求。通过这个通道的固态硬盘目前都是最快的。
-
MSATA 接口硬盘:从 m 这个词就可以知道这种是迷你类型的固态硬盘接口,外观为两个缺口,一个短一个长。
-
M.2 接口:这个接口又称为 ngff 接口,是用来取代 msata 的迷你型接口,上述的传输速度有限。其中有两种协议,pcie 协议,以及传统的 sata 协议,前者数倍于后者的速度。当然这个需要主板的支持才行。主要有两种形态,第一种的只有一个缺口的如 msata 接口,但是缺口位置不同。这种一个缺口的多为走 pcie 通道。图三为两个缺口的 M.2 接口。多数为走 sata 通道速度稍慢,但是也有走 pcie 通道的。因此这个接口有两种形态。目前属于比较混乱的,还没有形成统一。所以购买时候要看清楚自己的笔记本是否支持。并且根据尺寸来划分,还有 2240 2260 2280 三种尺寸长度不一的 M.2 接口的固态硬盘。这个就是除了接口外还有长度之分。
文件系统分类
Linux
-
Linux:存在几十个文件系统类型:ext2,ext3,ext4,xfs,brtfs,zfs(man 5 fs 可以取得全部文件系统的介绍)
不同文件系统采用不同的方法来管理磁盘空间,各有优劣;文件系统是具体到分区的,所以格式化针对的是分区,分区格式化是指采用指定的文件系统类型对分区空间进行登记、索引并建立相应的管理表格的过程。
-
ext2 具有极快的速度和极小的 CPU 占用率,可用于硬盘和移动存储设备
-
ext3 增加日志功能,可回溯追踪
-
ext4 日志式文件系统,支持 1EB(1024*1024TB),最大单文件 16TB,支持连续写入可减少文件碎片。rhel6 默认文件系统
-
xfs 可以管理 500T 的硬盘。rhel7 默认文件系统
-
brtfs 文件系统针对固态盘做优化,
-
注:EXT(Extended file system)是延伸文件系统、扩展文件系统,ext1 于 1992 年 4 月发表,是为 linux 核心所做的第一个文件系统。
windows
- FAT16:MS—DOS 和 win95 采用的磁盘分区格式,采用 16 位的文件分配表,只支持 2GB 的磁盘分区,最大单文件 2GB,且磁盘利用率低
- FAT32:(即 Vfat)采用 32 位的文件分配表,支持最大分区 128GB,最大文件 4GB
- NTFS:支持最大分区 2TB,最大文件 2TB,安全性和稳定性非常好,不易出现文件碎片。
其他
- RAMFS:内存文件系统
- ISO 9660:光盘
- NFS:网络文件系统
- SMBAFS/CIFS:支持 Samba 协议的网络文件系统
- Linux swap:交换分区,用以提供虚拟内存。
- 原文作者:战神西红柿
- 原文链接:https://tomatoares.github.io/posts/composition-principle/%E7%A3%81%E7%9B%98%E4%B8%8E%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。