Linux磁盘管理与文件系统

一、磁盘基础

硬盘(Hard Disk Drive,简称 HDD)是计算机常用的存储设备之一。

1.硬盘的结构

(1)物理结构

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

磁头:每面一个磁头。

(2)数据结构

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

硬盘的第一个扇区,叫做引导扇区。

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

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

硬盘的结构如图 5.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、磁盘分区的表示

sd开头--》SAS、SATA;

sda:该主机第一块硬盘;sdb:该主机第二块硬盘

sda1:该主机第一块硬盘的第一个分区

4、Linux中使用的文件系统类型

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

 XFS:是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万 T 字节的存储空间。

 SWAP:交换文件系统,用于为 Linux 系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。

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

& 由于 NTFS 是微软公司的专有文件系统,Linux 系统默认只支持从 NTFS 分区读取文件,如果需要向 NTFS分区中写入文件数据,需要结合其他辅助软件(如 NTFS-3G)

二、管理磁盘及分区

& 在 Linux 服务器中,当现有硬盘的分区规划不能满足要求(例如,根分区的剩余空间过少,无法继续安装新的系统程序)时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要添加新的硬盘设备来扩展存储空间。

& 实现上述操作需要用到 fdisk 磁盘及分区管理工具,fdisk 是大多数 Linux 操作系统中自带的基本工具之一。

& 增加硬盘设备时首先需要在机箱内进行硬盘接口的物理连接。若是在 VMware 虚拟机环境中,可以修改虚拟主机的设置,添加一块“Hard Disk”硬盘设备(如添加一块 100GB 的SCSI 硬盘)。

1、检测并确认新硬盘

& 述输出信息中包含了各硬盘的整体情况和分区情况,其中“/dev/sda”为原有的硬盘设备,而“/dev/sdb”为新增的硬盘,没有包含有效的分区信息。将通过列表的方式输出以下信息:

 Device:分区的设备文件名称。

 Boot:是否是引导分区。若是,则有“*”标识。

 Start:该分区在硬盘中的起始位置(柱面数)。

 End:该分区在硬盘中的结束位置(柱面数)。

 Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。

 Id:分区对应的系统 ID 号。83 表示 Linux 中的 XFS 分区或 EXT4 分区、8e 表示 LVM逻辑卷。LVM 是 Linux 操作系统中对磁盘分区进行管理的一种逻辑机制。

 System:分区类型。

2、规划硬盘中的分区

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

& 在该操作界面中的“Command (m for help):”提示符后,输入“m”指令后,可以查看各种操作指令的帮助信息:

1.“p”指令——列出硬盘中的分区情况

使用“p”指令可以列出详细的分区情况,信息显示的格式与执行“fdisk -l”命令相同。硬盘中尚未建立分区时,输出的列表信息为空:

2.“n”指令——新建分区

& 使用“n”指令可以进行创建分区的操作,包括主分区和扩展分区。根据提示继续输入“p” 选择创建主分区,输入“e”选择创建扩展分区。之后依次选择分区序号、起始位置、结束位置或分区大小即可完成新分区的创建。

& 分区起始位置一般由 fdisk 默认识别即可,结束位置或大小可以使用“+sizeM”或“+sizeG”的形式,如“+20G”表示将该分区的容量设置为 20GB。

(1)创建两个主分区

首先建立第一个主分区(/dev/sdb1),容量指定为 10GB,具体操作如下:

按照此类步骤继续创建第二、三个主分区

(2)创建一个扩展分区和两个逻辑分区

使用剩余的硬盘空间可以创建扩展分区,然后在扩展分区中创建逻辑分区。需要注意的是,若主分区、逻辑分区均已创建完毕(四个主分区号已用完),则再次输入“n”指令后将不再提示选择分区类别。

& 首先使用剩下的所有空间建立扩展区(/dev/sdb4)(全部空间分配完毕后,将无法再建立新的主分区),具体操作如下:

& 接下来在扩展分区中建立第一个逻辑分区(/dev/sdb5):

然后按照类似的操作步骤继续创建第二个逻辑分区(/dev/sdb6)

3.“d”指令——删除分区

使用“d”指令可以删除指定的分区,根据提示继续输入需要删除的分区序号即可。

4.“t”指令——变更分区的类型

& 使用“t”指令可以变更分区的 ID 号。操作时需要依次指定目标分区序号、新的 ID 号。不同类型的 ID 号对应不同的分区类型,不同的分区类型支持不同类型的文件系统,以十六进制数表示,在 fdisk 交互环境中可以输入“l”指令进行列表查看。最常用的 XFS、Swap 文件系统对应的 ID 号分别为 83、82,而用于 Windows 中的 NTFS 文件系统对应的 ID 号一般为 86。

& 如将逻辑分区“dev/sdb5”的类型更改为 Swap,通过“p”指令可以确认分区/dev/sdb5 的分区 ID 已由默认的 83 变为 82。

5.“w”和“q”指令——退出 fdisk 分区工具

& 完成对硬盘的分区操作以后,可以执行“w”或“q”指令退出 fdisk 分区工具。其中“w”指令将保存分区操作,而“q”指令不会保存对硬盘所做的分区操作。

变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行“partprobe”命令使操作系统检测新的分区表情况。

三、管理文件系统

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

创建文件系统

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

1.mkfs 命令的使用

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

使用 mkfs 命令时,基本的命令格式如下:

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

(1)创建 XFS 文件系统

& 当需要创建 XFS 文件系统时,只需结合“-t xfs”选项指定类型,并指定要被格式化的分区设备即可。例如,执行以下操作将把分区/dev/sdb1 格式化为 XFS 文件系统。

(2)创建 FAT32 文件系统

& 一般来说,不建议在 Linux 操作系统中创建或使用 Windows 操作系统中的文件系统类型,包括 FAT16、FAT32 等,但一些特殊情况,如 Windows 操作系统不可用、U 盘系统被病毒破坏等情况除外。

& 若要在 Linux 操作系统中创建 FAT32 文件系统,可结合“-t vfat”选项指定类型,并添加“-F32”选项指定 FAT 的版本。例如,执行以下操作将把分区/dev/sdb6 格式化为 FAT32 文件系统(先通过 fdisk 工具添加/dev/sdb6 分区,并将 ID 号设为 b)。

或者

2.mkswap 命令的使用

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

& 使用 mkswap 命令工具可以在指定的分区上创建交换文件系统,目标分区应先通过fdisk 工具将 ID 号设为 82。例如,执行以下操作可以将分区/dev/sdb5 创建为交换分区。

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

四、挂载、卸载文件系统

1.挂载文件系统

mount 命令的基本使用格式如下:

mount [ -t 文件系统类型 ] 存储设备 挂载点

& 其中,文件系统类型通常可以省略(由系统自动识别),存储设备即对应分区的设备文件名(如/dev/sdb1、/dev/cdrom)或网络资源路径,挂载点即用户指定用于挂载的目录。例如,以下操作用于将光盘设备挂载到/media/cdrom 目录:

& 光盘对应的设备文件通常使用“/dev/cdrom”,其实这是一个链接文件,链接到实际的光盘设备“/dev/sr0”。使用这两个名称都可以表示光盘设备。由于光盘是只读的存储介质,因此在挂载时系统会出现“mounting read-only”的提示信息。

& 挂载 Linux 分区或 U 盘设备时的用法也一样,只需要指定正确的设备位置和挂载目录即可。例如,以下操作用于将 5.1.2 节建立的/dev/sdb1 分区挂载到新建的/mailbox 目录下。

mount 命令的“-t”选项用于指定文件系统类型,而“-o”选项则用来描述设备或文件系统的挂载方式,基本使用格式如下:

mount [ -o 挂载参数 ] 存储设备 挂载点

2.卸载文件系统

& 需要卸载文件系统时使用的命令为 umount,使用挂载点目录或对应设备的文件名作为卸载参数。Linux 操作系统中,由于同一个设备可以被挂载到多个目录下,所以一般建议通过挂载点的目录位置来进行卸载:

3.设置文件系统的自动挂载

& 系统中的/etc/fstab 文件可以视为 mount 命令的配置文件,其中存储了文件系统的静态挂载数据。

查看当前系统内自动挂载的设备或分区

& 在/etc/fstab 文件中,每一行记录对应一个分区或设备的挂载配置信息,这些信息从左到右包括六个字段(使用空格或制表符分隔),各部分的含义如下所述。

 第 1 字段:设备名或设备卷标名。

 第 2 字段:文件系统的挂载点目录的位置。

 第 3 字段:文件系统类型,如 XFS、Swap 等。

 第 4 字段:挂载参数,即 mount 命令“-o”选项后可使用的参数。例如,defaults、rw、ro、noexec 分别表示默认参数、可写、只读、禁用执行程序。

 第 5 字段:表示文件系统是否需要 dump 备份(dump 是一个备份工具)。一般设为 1时表示需要,设为 0 时将被 dump 忽略。

 第 6 字段:该数字决定在系统启动时进行磁盘检查的顺序。0 表示不进行检查,1 表示优先检查,2 表示其次检查。根分区应设为 1,其他分区设为 2。

& 通过在/etc/fstab 文件中添加相应的挂载配置,可以实现开机后自动挂载指定的分区。例如,执行以下操作将添加自动挂载分区/dev/sdb1 的配置记录。

4.查看磁盘使用情况

& 不带选项及参数的 mount 命令可以显示分区的挂载情况,若要了解系统中已挂载各文件系统的磁盘使用情况(如剩余磁盘空间比例等),可以使用 df 命令。

& df 命令使用文件或者设备作为命令参数,较常用的选项为“-h”和“-T”。其中,“-h”选项可以显示更易读的容量单位,而“-T”选项用于显示对应文件系统的类型:

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值