|NO.Z.00043|——————————|LinuxBasicEnd|——|Linux&磁盘管理.V02|


### --- 硬盘的逻辑结构
~~~ 每个扇区的大小事固定的,为 512Byte。扇区也是磁盘的最小存贮单位。
~~~ 硬盘的大小是使用“磁头数×柱面数×扇区数×每个扇区的大小”这样的公式来计算的。
~~~ 其中磁头数(Heads)表示硬盘总共有几个磁头,也可以理解成为硬盘有几个盘面,然后乘以二;
~~~ 柱面数(Cylinders)表示硬盘每一面盘片有几条磁道;
~~~ 扇区数(Sectors)表示每条磁道上有几个扇区;每个扇区的大小一般是 512Byte。
二、硬盘接口
### --- 硬盘接口
~~~ IDE 硬盘接口(Integrated Drive Electronics,并口,即电子集成驱动器)
~~~ 也称作“ATA 硬盘”或“PATA 硬盘”,是早期机械硬盘的主要接口,ATA133
~~~ 硬盘的理论速度可以达到133MB/s(此速度为理论平均值),
~~~ IDE 硬盘接口SATA 接口(Serial ATA,串口)是速度更高的硬盘标准,
~~~ 具备了更高的传输速度,并具备了更强的纠错能力。目前已经是 SATA 三代,
~~~ 理论传输速度达到 600MB/s(此速度为理论平均值)
~~~ SCSI 接口(Small Computer System Interface,小型计算机系统接口)广泛应用在服务器上,
~~~ 具有应用范围广、多任务、带宽大、CPU 占用率低及支持热插拔等优点,
~~~ 理论传输速度达到320MB/s
### --- 文件系统
### --- Linux 文件系统的特性:
### --- super block(超级块):
~~~ 记录整个文件系统的信息,包括 block 与 inode 的总量,
~~~ 已经使用的inode 和 block 的数量,未使用的 inode 和 block 的数量,
~~~ block 与 inode 的大小,文件系统的挂载时间,
~~~ 最近一次的写入时间,最近一次的磁盘检验时间等。
### --- date block(数据块,也称作 block):
~~~ 用来实际保存数据的(柜子的隔断),
~~~ block 的大小(1KB、2KB 或 4KB)和数量在格式化后就已经决定,
~~~ 不能改变,除非重新格式化(制作柜子的时候,隔断大小就已经决定,不能更改,
~~~ 除非重新制作柜子)。每个 blcok 只能保存一个文件的数据,
~~~ 要是文件数据小于一个 block 块,那么这个 block 的剩余空间不能被其他文件是要;
~~~ 要是文件数据大于一个block块,则占用多个 block 块。
~~~ Windows 中磁盘碎片整理工具的原理就是把一个文件占用的多个 block块尽量整理到一起,
~~~ 这样可以加快读写速度。
### --- inode(i 节点,柜子门上的标签):
~~~ 用来记录文件的权限(r、w、x),文件的所有者和属组,文件的大小,
~~~ 文件的状态改变时间(ctime),文件的最近一次读取时间(atime),
~~~ 文件的最近一次修改时间(mtime),文件的数据真正保存的 block 编号。
~~~ 每个文件需要占用一个 inode。
### --- 查看超级块信息
[root@server21 ~]# dumpe2fs -h /dev/sda1
Inodes per group: 8192
Inode blocks per group: 512
Flex block group size: 16
### --- 查看块组里有多少个block
[root@server21 ~]# dumpe2fs /dev/sda1
Group 5: (Blocks 163840-196607) [INODE_UNINIT, ITABLE_ZEROED]
Checksum 0x0f04, unused inodes 8192
Backup superblock at 163840, Group descriptors at 163841-163841
Reserved GDT blocks at 163842-163904
Block bitmap at 70 (+4294803526), Inode bitmap at 86 (+4294803542)
Inode table at 2657-3168 (+4294806113)
32703 free blocks, 8192 free inodes, 0 directories, 8192 unused inodes
Free blocks: 163905-196607
Free inodes: 40961-49152
五、Linux 常见文件系统
文件系统 | 描述 |
ext | Linux 中最早的文件系统,由于在性能和兼容性上具有很多缺陷,现在已经很少使用 |
ext2 |
是 ext 文件系统的升级版本Red Hat Linux 7.2 版本以前的系统默认都是 ext2 文件 系 统 。 于 1993 年 发 布 , 支 持 最 大 16TB 的 分 区 和 最 大 2TB 的 文 件(1TB=1024GB=1024×1024KB) |
ext3 |
是 ext2 文件系统的升级版本,最大的区别就是带日志功能,以便在系统突然停止时提高文件系统的可靠性。支持最大 16TB 的分区和最大 2TB 的文件 |
ext4 |
是 ext3 文件系统的升级版。ext4 在性能、伸缩性和可靠性方面进行了大量改进.ext4的变化可以说是翻天覆地的,比如向下兼容 ext3、最大 1EB 文件系统和 16TB 文件、无限数量子目录、Extents 连续数据块概念、多块分配、延迟分配、持久预分配、快速 FSCK、日志校验、无日志模式、在线碎片整理、inode 增强、默认启用 barrier 等。它是 CentOS6.x 的默认文件系统 |
xfs |
XFS 最早针对 IRIX 操作系统开发,是一个高性能的日志型文件系统,能够在断电以及操作系统崩溃的情况下保证文件系统数据的一致性。它是一个 64 位的文件系统,后来进行开源并且移植到了 Linux 操作系统中,目前 CentOS 7.x 将 XFS+LVM 作为默认的文件系统。据官方所称,XFS 对于大文件的读写性能较好。 |
swap |
swap 是 Linux 中用于交换分区的文件系统(类似于 Windows 中的虚拟内存),当内存不够用时,使用交换分区暂时替代内存。一般大小为内存的 2 倍,但是不要超过 2GB。它是 Linux 的必需分区 |
NFS |
NFS 是网络文件系统(Network File System)的缩写,是用来实现不同主机之间文件共享的一种网络服务,本地主机可以通过挂载的方式使用远程共享的资源 |
iso9660 | 光盘的标准文件系统。Linux 要想使用光盘,必须支持 iso9660 文件系统 |
fat | 就是 Windows 下的 fat16 文件系统,在 Linux 中识别为 fat |
vfat |
就是 Windows 下的 fat32 文件系统,在 Linux 中识别为 vfat。支持最大 32GB 的分区和最大 4GB 的文件 |
NTFS |
就是 Windows 下的 NTFS 文件系统,不过 Linux 默认是不能识别 NTFS 文件系统的,如果需要识别,则需要重新编译内核才能支持。它比 fat32 文件系统更加安全,速度更快,支持最大 2TB 的分区和最大 64GB 的文件 |
ufs | Sun 公司的操作系统 Solaris 和 SunOS 所采用的文件系统 |
proc | linux中基于内存的虚拟文件系统,用来管理内存存储目录/proc |
sysfs | 和proc一样,也是基于内存的虚拟文件系统,用来管理内存存储目录/sysfs |
tmpfs | 也是一种基于内存的虚拟文件系统,不过也可以使用swap交换分区 |
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」