linux的磁盘及文件系统管理

1. 硬盘的结构

1.1 物理结构

盘片:硬盘有多个盘片,每盘片 2 面。磁头:每面一个磁头。

1.2 数据结构

扇区:磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区(Sector)。硬盘的第一个扇区,叫做引导扇区。

磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道(Track)。

柱面:在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面(Cylinder)。

1.3 存储容量

硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数。可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域,用 fdisk -l 查看分区信息

2. 硬盘的接口

硬盘按数据接口不同,大致分为 ATA(IDE)和 SATA 以及 SCSI 和 SAS,接口速度不是实际硬盘数据传输的速度。

ATA,全称 Advanced Technology Attachment,并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代。SATA,全称 Serial ATA,抗干扰性强,支持热插拔等功能,速度快,纠错能力强。

SCSI,全称是 Small Computer System Interface(小型机系统接口),SCSI 硬盘广为工作站级个人电脑以及服务器所使用,资料传输时 CPU 占用率较低,转速快,支持热插拔等。

SAS(Serial Attached SCSI)是新一代的 SCSI 技术,和 SATA 硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s。

3. 磁盘分区表示

3.1 MBR

MBR 是主引导记录(Master Boot Record),位于硬盘第一个物理扇区处,MBR 中包含硬盘的主引导程序和硬盘分区表。分区表有 4 个分区记录区,每个分区记录区占 16 个字节.

3.2 磁盘分区的表示

常见的硬盘可以划分为主分区、扩展分区和逻辑分区,通常情况下主分区只有四个,而 扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。主分区一般 用来安装操作系统,扩展分区则多用来存储文件数据。

在 Windows 系统中,使用盘符的形式(如 C 盘、D 盘、E 盘等)来表示不同的主分区、逻辑分区,而忽略了不能直接存储文件数据的扩展分区。那么在 Linux 系统中又是如何表示这些分区的呢?

Linux 内核读取光驱、硬盘等资源时均通过“设备文件”的形式进行,因此在 Linux 系统中,将硬盘和分区分别表示为不同的文件。具体表述形式如下。

硬盘:对于 IDE 接口的硬盘设备,表示为“hdX”形式的文件名;而对于 SCSI 接口的硬盘设备,则表示为“sdX”形式的文件名。其中“X”可以为 a、b、c、d 等字母序号。例如, 将系统中的第 1 个 IDE 设备(硬盘)表示为“hda”,将第 2 个 SCSI 设备表示为“sdb”。

分区:表示分区时,以硬盘设备的文件名作为基础,在后边添加该分区(无论主分区、 扩展分区、逻辑分区)对应的数字序号即可。例如,第 1 个 IDE 硬盘中的第 1 个分区表示为“hda1”、第 2 个分区表示为“hda2”,第 2 个 SCSI 硬盘中的第 3 个分区表示为“sdb3”、第 5 个分区表示为“sdb5”。需要注意的是,由于硬盘中的主分区数目只有 4 个,因此主分区和扩展分区的序号也就限制在 1~4,而逻辑分区的序号将始终从 5 开始。例如,即便第 1 个 IDE 硬盘中只划分了一个主分区、一个扩展分区,则新建的第 1 个逻辑分区的序号仍然是从 5 开始的,应表示为“hda5”,第 2 个逻辑分区表示为“hda6”。

3.31. linux 中使用的文件系统类型

文件系统(File System)类型决定了向分区中存放、读取文件数据的方式和效率,在对分区进行格式化时需要选择所使用的文件系统类型。在 Windows 操作系统中,经常使用的文件系统类型包括 FAT32、NTFS 等格式;而在 Linux 系统中,最常使用的文件系统主要包括以下几种格式。

XFS:是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万 T 字节的存储空间。由于 XFS 文件系统开启日志功能,所以即便发生宕机也不怕数据遭到破坏,这种文件系统可以根据日志记录在短时间内进行数据恢复。

SWAP:交换文件系统,用于为 Linux 系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。一般建议将交换分区的大小设置为物理内存的 1.5~2 倍。例如,对于拥有 512MB 物理内存的主机,其交换分区的大小建议设置为 1024MB。如果服务器的物理内存足够大(如 8GB 以上),也可以不设置交换分区。交换分区不用于直接存储用户的文件和目录等数据。

EXT4:第 4 代扩展文件系统,用于存放文件和目录数据的分区,是 Linux 系统中默认使用的文件系统(CentOS 7 默认使用 XFS)。EXT4 是典型的日志型文件系统,其特点是保存有磁盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色。

Linux 系统还广泛支持其他各种类型的文件系统,如 JFS、FAT16、FAT32、NTFS 等。JFS 文件系统多用于商业版本的 UNIX 操作系统中,具有出色的性能表现。由于 NTFS 是微软公司的专有文件系统,Linux 系统默认只支持从 NTFS 分区读取文件,如果需要向 NTFS 分区中写入文件数据,需要结合其他辅助软件(如 NTFS-3G)。

4. 管理磁盘及分区

4.1 检测并确认新硬盘

挂接好新的硬盘设备并启动主机后,Linux 操作系统会自动检测并加载该硬盘,无须额外安装驱动。执行“fdisk -l”命令可以查看、确认新增硬盘的设备名称和位置。“fdisk -l”命令的作用是列出当前系统中所有硬盘设备及其分区的信息

4.2 规划硬盘中的分区

在硬盘设备中创建、删除、更改分区等操作同样通过 fdisk 命令进行,只需使用硬盘的设备文件作为参数。例如,执行“fdisk /dev/sdb”命令,即可进入交互式的分区管理界面中。

  1. p指令——列出硬盘中的分区情况
  2. n”指令——新建分区
  3. d指令——删除分区
  4. t指令——变更分区的类型
  5. w和q指令——退出 fdisk 分区工具

5. 管理文件系统

在 Linux 操作系统中,使用 fdisk 工具在硬盘中建立分区以后,还需要对分区进行格式化并挂载到系统中的指定目录,然后才能用于存储文件、目录等数据。

5.1 创建文件系统

创建文件系统的过程即格式化分区的过程,在 Linux 操作系统中使用 mkfs(Make Filesystem,创建文件系统)命令工具可以将分区格式化成 XFS、EXT4、FAT 等不同类型的文件系统,而 Swap 交换分区是使用 mkswap 命令来进行格式化的。

5.2 mkfs命令的使用

实际上 mkfs 命令是一个前端工具,可以自动加载不同的程序来创建各种类型的文件系统,而后端包括多个与 mkfs 命令相关的工具程序,这些程序位于/sbin/目录中,如支持 EXT4 文件系统的 mkfs.ext4 程序等。

mkfs -t 文件系统类型 分区设备

5.3 mkswap命令的使用

在 Linux 操作系统中,Swap 分区的作用类似于 Windows 操作系统中的“虚拟内存”,可以在一定程度上缓解物理内存不足的情况。当 Linux 主机运行的服务较多,需要更多的交换空间支撑应用时,可以为其增加新的交换分区。

使用 mkswap 命令工具可以在指定的分区上创建交换文件系统,目标分区应先通过fdisk 工具将 ID 号设为 82。

对于新增加的交换分区,需要使用 swapon 命令进行启用,反之使用 swapoff 命令停用指定的交换分区。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值