Liunx磁盘管理(中)-CSDN博客
目录
一.硬盘类型
机械硬盘(HDD)
固态硬盘(SSD)
二.插拔方式
1. 热插拔(Hot Swapping)
2. 冷插拔(Cold Swapping)
3. 模块化插拔
4. 插拔式硬盘托架
三.硬盘接口
SATA(Serial ATA)
SCSI(Small Computer System Interface)
SAS(Serial Attached SCSI)
NVMe(Non-Volatile Memory Express)
IDE(Integrated Drive Electronics)
总结
四.Liunx系统磁盘与分区命名方式
传统命名方法:
分区命名:
使用by-uuid或by-label命名:
特殊设备命名:
五.分区
分区的目的
分区格式
分区类型
文件系统
Linux 文件系统是指 Linux 操作系统用来管理和组织数据的结构和机制。文件系统负责存储、检索和操作文件和目录,并确保数据的完整性和安全性。Linux 支持多种文件系统,以下是最常见的 Linux 文件系统:
Windows 文件系统(扩展了解)
注意事项
inode
硬盘的实际分区数量限制
关于65535个分区
一.硬盘类型
机械硬盘(HDD)
机械硬盘(HDD)是一种存储设备,使用旋转磁盘和读/写磁头来存储和检索数据。以下是机械硬盘的基本结构:
-
盘片(Platters):机械硬盘通常由多个盘片组成,每个盘片都是一个圆形的金属或玻璃基板,上面涂有磁性材料。
-
磁头(Read/Write Heads):每个盘片都有两个磁头,一个用于读取数据,另一个用于写入数据。磁头位于盘片上方和下方,通过磁性浮动臂和驱动器来移动。
-
磁道(Tracks):盘片被划分为多个同心圆轨道,称为磁道。每个磁道可以存储一定量的数据。
-
扇区(Sectors):每个磁道被划分为多个扇区,每个扇区可以存储固定大小的数据块,通常为512字节。
-
主轴(Spindle):盘片通过主轴连接在一起,并由电机驱动主轴旋转。通常,硬盘的转速以每分钟转数(RPM)来表示,如5400 RPM、7200 RPM或10000 RPM。
-
磁头臂(Actuator Arm):磁头臂是一个可移动的机械臂,上面安装有磁头。它通过电机和控制器的控制,可以在盘片上移动磁头。
-
磁头定位器(Head Positioner):磁头定位器负责精确定位磁头在盘片上的位置。它使用电磁力将磁头臂移动到正确的磁道上。
-
控制器(Controller):硬盘的控制器是一个电子设备,负责控制硬盘的操作。它管理磁头的移动、数据的读写、错误检测和纠正等功能。
当计算机需要读取或写入数据时,控制器将指令发送给磁头臂和磁头,使其移动到正确的位置,并在磁道上读取或写入数据。机械硬盘的工作原理基于磁性材料的磁化和反磁化过程,通过改变磁场的方向来存储和检索数据。然而,由于机械硬盘使用机械部件进行数据访问,因此速度较慢,且容易受到物理冲击和震动的影响。
- 特点:
- 容量大:机械硬盘通常提供较大的存储容量,适合存储大量数据。
- 成本低:与固态硬盘相比,机械硬盘的每 GB 成本较低。
- 寿命长:机械硬盘的磁性存储通常具有较长的寿命。
- 缺点:
- 速度较慢:与 SSD 相比,HDD 的读写速度较慢。
- 易碎:由于机械部件,HDD 容易受到冲击和振动的影响。
- 噪音和热量:HDD 在运行时可能产生噪音和热量。
固态硬盘(SSD)
固态硬盘是一种新型硬盘,使用闪存技术来存储数据,没有机械部件。
- 特点:
- 速度快:SSD 读写速度非常快,适合高性能需求。
- 耐用性强:SSD 没有机械部件,抗震能力强,适合便携设备。
- 无噪音:由于没有机械部件,SSD 运行时没有噪音。
- 缺点:
- 成本较高:SSD 每 GB 成本较高,容量较小。
- 磨损问题:SSD 的闪存有写入次数限制,可能会随着时间而磨损。
二.插拔方式
1. 热插拔(Hot Swapping)
热插拔是一种允许在系统运行时插入或拔出硬件组件的方式。它在不关闭系统电源的情况下进行硬件操作,通常用于高可用性和高可靠性环境。
- 应用场景:服务器、数据中心、RAID 阵列、外部硬盘、网络设备等。
- 优势:可以在不中断系统运行的情况下更换硬件,减少停机时间。
- 注意事项:需要硬件和软件的支持。确保插拔时遵循正确的步骤,以避免数据丢失或系统崩溃。
2. 冷插拔(Cold Swapping)
冷插拔是在系统关闭或断电的情况下插入或拔出硬件组件的方式。它要求在更换硬件前关闭设备电源。
- 应用场景:台式机、笔记本电脑、外部设备等。
- 优势:操作相对简单,不需要额外的技术支持。
- 注意事项:需要关闭电源,可能会导致系统停机。
3. 模块化插拔
模块化插拔涉及将硬件组件设计成模块,可以方便地插入或拔出。这种方式通常用于服务器、交换机和数据中心等。
- 应用场景:服务器、交换机、RAID 控制器、光纤模块等。
- 优势:提供灵活性,便于硬件升级和更换。
- 注意事项:确保模块与系统兼容,并遵循正确的安装步骤。
4. 插拔式硬盘托架
这种插拔方式用于硬盘和 SSD,允许在不打开机箱的情况下快速更换硬盘。
- 应用场景:服务器、NAS(网络附加存储)、数据中心等。
- 优势:方便硬盘更换,适用于高可用性环境。
- 注意事项:在插拔硬盘时,确保正确挂载和卸载,以避免数据损坏。
简单来分就是分为热插拔和非热插拔啦。
三.硬盘接口
SATA(Serial ATA)
SATA 是目前最常用的硬盘接口之一,主要用于消费级计算机和服务器。它具有以下特点:
- 广泛使用:用于连接 HDD、SSD 和光驱等。
- 速度:SATA 接口的传输速度从 SATA I 的 1.5 Gbps 到 SATA III 的 6 Gbps。
- 兼容性:许多计算机和服务器都支持 SATA 接口。
- 数据和电源分离:SATA 硬盘通常有单独的数据线和电源线。
SCSI(Small Computer System Interface)
SCSI 是一种老式的接口类型,通常用于服务器和专业存储系统。
- 多样性:SCSI 有多种变体,包括 Parallel SCSI、SAS(Serial Attached SCSI)等。
- 可靠性:SCSI 通常用于高可靠性和高性能的场景。
- 扩展性:SCSI 支持多个设备的连接,适用于大规模存储系统。
SAS(Serial Attached SCSI)
SAS 是 SCSI 的一种序列化版本,常用于企业级存储和服务器。
- 高性能:SAS 支持更高的传输速度,比 SATA 更适合高性能场景。
- 多设备支持:SAS 可以在同一条总线上支持多个设备。
- 向后兼容:SAS 支持 SATA 硬盘,这使得其在企业环境中具有更高的灵活性。
NVMe(Non-Volatile Memory Express)
NVMe 是一种专为固态硬盘(SSD)设计的接口和协议,通常通过 PCIe(Peripheral Component Interconnect Express)总线连接。
- 极高性能:NVMe 提供比 SATA 和 SAS 更高的传输速度,适合高性能计算和数据中心应用。
- 并行化:NVMe 支持多队列和并行操作,提高了 SSD 的性能。
- 直接与 CPU 通信:NVMe 通过 PCIe 通信,减少了数据传输的延迟。
IDE(Integrated Drive Electronics)
IDE 是一种老式的硬盘接口类型,主要用于较旧的计算机系统。
- 并行接口:IDE 是一种并行接口,使用较宽的数据线。
- 过时:IDE 现在很少使用,已被 SATA 取代。
总结
选择硬盘接口取决于你的硬件和性能需求。对于消费级计算机,SATA 是最常用的;对于企业级存储,SAS 和 NVMe 是更好的选择。
IDE(已经淘汰---也叫ATA)
SATA (Serial ATA),是当前主流的一种硬盘接口
SCSI(小型计算机的接口--很少了)
SAS代替了scsi (Serial Attached SCSI),当前SAS接口居多
IDE和SATA的区别:
- 接口不同,传输的速率不同。IDE根据规范,最高到133MB/s, 而SATA3.0,可达6Gb/S,速度差距巨大
- SATA支持热插拔
SAS与SCSI的区别
- 接口不同
- SAS兼容SATA,SCSI不兼容SATA
四.Liunx系统磁盘与分区命名方式
在Linux系统中,硬盘设备通常使用一些标准的命名约定。这些约定基于设备的类型、连接方式以及系统内的位置。以下是一些常见的硬盘设备命名约定:
-
传统命名方法:
- 在许多Linux发行版中,硬盘设备的名称通常以字母开始,后跟数字。
- 最常见的硬盘设备命名方式是
/dev/sdX
,其中s
代表 SCSI(尽管现代系统中的大多数硬盘使用SATA,但命名方式继承自SCSI),X
是从a
开始的字母,依次表示系统中的每个硬盘。例如,第一块硬盘是/dev/sda
,第二块是/dev/sdb
,以此类推。
-
分区命名:
- 在传统的硬盘设备命名基础上,如果硬盘被分为多个分区,那么分区会在硬盘名称后面加上数字。例如,第一块硬盘的第一个分区是
/dev/sda1
,第二个分区是/dev/sda2
,以此类推。
- 在传统的硬盘设备命名基础上,如果硬盘被分为多个分区,那么分区会在硬盘名称后面加上数字。例如,第一块硬盘的第一个分区是
-
使用
by-uuid
或by-label
命名:- 在
/dev/disk/
目录下,你会找到按 UUID(Universally Unique Identifier)或标签命名的设备。UUID在格式化分区时生成,并且是唯一的;标签是你可以为分区设置的名称。 - 按 UUID 命名的硬盘设备可能看起来像这样:
/dev/disk/by-uuid/123e4567-e89b-12d3-a456-426614174000
。 - 按标签命名的硬盘设备可能看起来像这样:
/dev/disk/by-label/MyLabel
。
- 在
-
特殊设备命名:
- 有时,你可能会看到一些特殊设备命名,比如
/dev/nvmeXnY
,其中nvmeX
表示 NVMe 硬盘,nY
表示硬盘上的命名空间。 - 其他特殊命名方式包括
/dev/mmcblkX
(用于 MMC/SD 卡)和/dev/loopX
(用于 loopback 设备)。
- 有时,你可能会看到一些特殊设备命名,比如
总之,设备命名方式取决于硬盘的类型、连接方式、分区以及其他特性。了解这些命名约定可以帮助你更好地管理和配置硬盘设备。
五.分区
在Linux系统中,硬盘分区通常用于将一块硬盘分成多个部分,以实现更好的数据管理、隔离、安全和性能优化。以下是有关硬盘分区的基础知识,以及可以创建的分区数量的详细信息。
分区的目的
- 文件分类:
- 分区可以帮助组织和管理文件。例如,将操作系统文件与用户数据文件分开。
- 多操作系统:
- 多个分区允许在同一硬盘上安装多个操作系统。
- 数据隔离:
- 将数据隔离在不同的分区中有助于减少数据损失的风险。即使一个分区损坏,其他分区可能仍然可以访问。
- 备份和恢复:
- 分区可以用于备份和恢复,使得数据更易于管理和恢复。
- 权限和安全:
- 分区可以用来设置不同的权限和访问控制,以提高安全性。
分区格式
磁盘分区的格式指的是分区的结构和布局,它决定了数据在磁盘上的组织方式、系统的启动方式,以及分区的操作功能。以下是常见的分区格式:
- MBR(Master Boot Record):
- 分区命令:fdisk
- MBR分区表最多支持四个主分区,或者三个主分区和一个扩展分区。扩展分区可以包含多个逻辑分区。理论上,可以在扩展分区中创建多达 128 个逻辑分区,但实际上常见的限制在 10 至 16 个左右。由于其局限性,MBR已逐渐被更现代的GPT所取代。
- MBR的缺点是它只能支持最大2 TB的磁盘容量,且不支持现代的启动功能,如UEFI的Secure Boot。
- GPT(GUID Partition Table):
- 分区命令:gdisk(parted---RHEL6)
- GPT分区表是现代硬盘的标准,GPT大于小于2TB都可以,支持更大的硬盘容量和更多的分区。GPT允许最多128个分区。
- GPT是较新的分区格式,能够支持更大的磁盘容量(高达18 EB),同时支持更多的分区(最多128个主分区)。
选择分区格式时,主要取决于操作系统和硬件要求。如果你的系统支持UEFI(如较新的Windows或Linux发行版),使用GPT格式通常是更好的选择。如果你在较旧的系统上运行或需要兼容性,则可能需要使用MBR格式。
分区格式与文件系统不同,文件系统是定义数据在分区内的组织方式,如FAT32、NTFS、ext4等。通常在设置磁盘分区后,需要选择合适的文件系统来格式化分区,以便存储数据。
分区类型
磁盘分区是指将物理硬盘划分为多个独立的逻辑区域,每个区域可以被视为独立的磁盘。这样做的原因包括提高数据管理效率、增强系统安全性、支持多操作系统以及优化性能等。
分区的主要类型包括:
-
主分区(Primary Partition):这是主要的启动分区,通常系统会安装在这里。一个磁盘可以有多个主分区。
-
扩展分区(Extended Partition):由于传统的MBR(主引导记录)格式最多允许4个主分区,所以使用扩展分区来创建多个逻辑分区。
-
逻辑分区(Logical Partition):这些分区是扩展分区内的分区,通常用于存储数据或者安装其他操作系统。
文件系统
Linux 文件系统
Liunx文件系统是指Linux 操作系统用来管理和组织数据的结构和机制。文件系统负责存储、检索和操作文件和目录,并确保数据的完整性和安全性。Linux 支持多种文件系统,以下是最常见的 Linux 文件系统:
-
ext4(Fourth Extended File System):
- 是最流行的 Linux 文件系统之一,作为许多 Linux 发行版的默认文件系统。
- 提供良好的性能、稳定性和兼容性。
- 支持大文件和大分区,具有日志记录、延迟分配、在线碎片整理等特性。
-
XFS:
- 是一个高性能文件系统,特别适合大规模存储和高吞吐量应用。
- 支持在线扩展,但不支持在线缩小。
- 通常用于服务器和数据中心环境。
-
Btrfs(B-tree File System):
- 是一个先进的文件系统,支持快照、子卷、在线压缩、数据校验等功能。
- 设计用于高级存储管理,适合用作文件服务器和存储系统。
- 具有在线缩小和扩展的能力。
-
F2FS(Flash-Friendly File System):
- 专为闪存存储(如 SSD 和 eMMC)设计。
- 优化了闪存的读写操作,适用于移动设备和固态硬盘。
-
ZFS:
- 是一个功能丰富的文件系统和逻辑卷管理器,支持快照、复制、数据校验、压缩等功能。
- 最初由 Sun Microsystems 开发,现在在 Linux 上也可用。
- 适用于需要高级存储管理的环境。
-
ISO 9660 和 UDF(Universal Disk Format):
- 用于光盘和 DVD 等光学介质的文件系统。
- ISO 9660 适用于标准 CD,UDF 通常用于 DVD 和蓝光光盘。
Windows 文件系统(扩展了解)
-
FAT32(File Allocation Table 32):
- Windows 中的老式文件系统,也用于许多外部存储设备。
- 单个文件的最大尺寸为 4 GB,最大分区大小为 2 TB。
- 兼容性高,广泛用于USB驱动器、存储卡等,但不支持高级权限和安全特性。
-
NTFS(New Technology File System):
- Windows 的默认文件系统,支持权限管理、压缩、加密、文件恢复等功能。
- 支持非常大的文件和分区。
- 非 Windows 系统通常需要额外的工具才能完全支持 NTFS。
-
exFAT(Extended File Allocation Table):
- 结合了 FAT32 的兼容性和 NTFS 的大文件支持。
- 跨平台兼容性高,适用于外部存储设备。
-
tmpfs 和 ramfs:
- tmpfs 在内存中创建临时文件系统,适用于存储临时文件。
- ramfs 也是内存文件系统,但不会自动释放内存,需要小心使用。
注意事项
- 在一个分区上不能混合使用不同的分区格式或文件系统,可以在不同的分区使用不同的格式和文件系统。
- 更改分区格式或文件系统可能导致数据丢失或损坏,因此请确保备份重要数据。
- 如果需要在不同文件系统之间切换,应使用适当的工具。
inode
在文件系统中,inode(索引节点)是一种数据结构,用于描述文件的元数据,而不直接存储文件内容。inode 通常包含以下信息:
- 文件类型(例如,普通文件、目录、符号链接等)
- 文件权限和所有权(包括用户ID和组ID)
- 文件大小
- 文件创建、修改和访问的时间戳
- 链接数(指向该inode的硬链接数)
- 数据块指针,用于定位文件数据在磁盘上的存储位置
每个文件和目录在文件系统中都有一个唯一的inode编号,通过这个编号,文件系统可以检索文件的相关信息。
-
使用
ls -i
命令: 通过在终端中使用ls -i
,可以查看每个文件和目录的inode编号。例如:ls -i /path/to/directory
这将显示给定目录中的文件及其对应的inode编号。
-
使用
stat
命令:stat
命令提供了有关文件或目录的详细信息,包括inode编号、文件权限、大小等。例如:stat /path/to/file
这会显示指定文件的完整信息,包括inode编号。
-
查看文件系统的inode信息: 可以使用
df -i
命令来查看整个文件系统的inode使用情况。例如:df -i
这个命令会显示每个挂载点的inode使用情况,包括已使用和可用的inode数量。
硬盘的实际分区数量限制
尽管 GPT 理论上支持 128 个分区,但硬盘的最大分区数量还受以下因素的影响:
- 操作系统限制:某些操作系统可能对分区数量有限制。
- 分区管理工具限制:一些分区管理工具可能无法处理过多的分区。
- 管理复杂性:创建过多的分区会使硬盘管理复杂化。
关于65535个分区
- 对于一块硬盘而言,理论上可以创建65535个分区,但这是不常见的情况。通常,操作系统和硬件对分区数量有一定的限制,而且在实际使用中,大量分区会增加复杂性和管理难度。
- GPT通常被认为是最灵活和实用的分区表方案,因为它支持更多分区,并且解决了MBR在硬盘容量方面的局限性。
注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!因为转换格式要格式化硬盘。
因此,虽然理论上可能创建大量分区,但在实践中,128个分区的GPT已经满足大多数需求。如果你有特殊的用途,可能需要考虑特定的硬件和操作系统的限制,以及如何高效管理大量分区。