05-磁盘管理与文件系统

5.1 磁盘结构及分区表示

5.1.1 硬盘基础

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

  1. 1.硬盘的结构

    1. 物理结构
      1. 盘片:硬盘有多个盘片,每盘片2面
      2. 磁头:每面一个磁头
    2. 数据结构
      1. 扇区:磁盘上的每个磁道被等分为若干个弧段,这些弧段是硬盘的扇区(Sector)
      2. 磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹叫做磁道(Track)
      3. 柱面:在有多个盘片构成的盘组中,由不同盘片的面,但处于统一半径圆的多个磁道组成的一个圆柱面(Cylinder)
    3. 存储容量
      1. 磁盘存储容量=磁头数*磁道(柱面)数*每道扇区数*每扇区字节数
      2. 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域,用fdisk -l查看分区信息
  2. 2.硬盘的接口

    1. 按数据接口不同,大致分为ATA(IDE)和SATA以及SCSI和SAS,接口速度是实际硬盘数据传输的速度
    2. ATA:全称 Advanced Technology Attachment,并口数据线连接主板和硬盘,抗干扰性太差,不利于电脑内部散热,以逐渐被SATA所取代。
    3. SATA:全称 Serial ATA,抗干扰能力强,支持热插拔等功能,速度块,纠错能力强。
    4. SCSI:全程是Small Computer System Interface(小型机系统接口)SCSI硬盘广为工作站级个人点啊弄以及服务器所使用,资料传输时CPU占用率极低,转速快,支持热插拔等。
    5. SAS:Serial Attached SCSI是新一代的SCSI基数,和SATA硬盘相同,都是采取序列式技术以获得更好的传输速度,可达到6Gb/s

5.1.2磁盘分区表示

  1. 1.MBR

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

    1. 常见的硬盘可以划分为主分区、拓展分区和逻辑分区,通常情况下主分区只有四个,而拓展分区可以看作成是一个特殊的主分区类型,在拓展分区中可以建立逻辑分区。主分区一般用来安装操作系统,拓展分区则多用来存储文件数据
               在windows系统中使用盘符的形式(如C盘、D盘、E盘等)来表示不同的主分区、逻辑分区,忽略了不能直接存储文件的拓展分区。在Linux系统中又是如何表示这些分区的
    2. 硬盘:对于IDE接口的硬盘设备,表示为“hdX”形式的文件名:而对于SCSI接口的硬盘设备,则表示为“sdX”形式的文件名。其中“X”可以为a、b、c、d等字母序号,例如,将系统中的第1个IDE 设备(硬盘)表示为“hda",将第2个 SCSI 设备表示为“sdb”。
    3. 分区:表示分区时,以硬盘设备的文件名作为基础,在后边添加该分区(无论主分区扩展分区、逻辑分区)对应的数字序号即可。例如,第1个IDE 硬盘中的第1个分区表示为“hda1”、第2个分区表示为“hda2”,第2个 SCSI 硬盘中的第3个分区表示为“sdb3”、第5个分区表示为“sdb5”。
    4. 由于硬盘中的主分区数目只有4个,因此主分区和扩展分区的序号也就限制在 1~4,而逻辑分区的序号将始终从5开始。例如,即便第1个IDE硬盘中只划分了一个主分区、一个扩展分区,则新建的第1个逻辑分区的序号仍然是从5开始的,应表示为“hda5”,第 2个逻辑分区表示为“hda6”
  3. 3.Linux中使用的文件系统类型

    1. 文件系统(File System)类型决定了向分区中存放、读取文件数据的方式和效率,在对分区进行格式化时需要选择所使用的文件系统类型。在Windows操作系统中,经常使用的文件系统类型包括 FAT32、NTFS等格式;而在 Linux 系统中,最常使用的文件系统主要包括以下几种格式
      1. XFS:是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万丅字节的存储空间。由于XFS文件系统开启日志功能,所以即便发生宕机也不怕数据遭到破坏,这种文件系统可以根据日志记录在短时间内进行数据恢复。
      2. SWAP:交换文件系统,用于为Linux系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。一般建议将交换分区的大小设置为物理内存的 1.5~2 倍。例如,对于拥有 512MB 物理内存的主机,其交换分区的大小建议设置为 1024MB。如果服务器的物理内存足够大(如 8GB 以上),也可以不设置交换分区。交换分区不用于直接存储用户的文件和目录等数据。
      3. EXT4:第4代扩展文件系统,用于存放文件和目录数据的分区,是Linux系统中默认使用的文件系统(CentOS7默认使用XFS)。EXT4是典型的日志型文件系统,其特点是保存有磁盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色。
      4. Linux 系统还广泛支持其他各种类型的文件系统,如JFS、FAT16、FAT32、NTFS 等。JFS 文件系统多用于商业版本的 UNIX 操作系统中,具有出色的性能表现。由于 NTFS 是微软公司的专有文件系统,Linux 系统默认只支持从 NTFS分区读取文件,如果需要向 NTFS分区中写入文件数据,需要结合其他辅助软件(如NTFS-3G)。

5.2 管理磁盘及分区

5.2.1 检测并确认新硬盘

        挂接好新的硬盘设备并启动主机后,Linux操作系统会自动检测并加载该硬盘,无须额外安装驱动。执行“fdisk-"命令可以査看、确认新增硬盘的设备名称和位置

 对已有的分区,将通过列表的方式输出以下信息

  • Device:分区的设备文件名称
  • Boot:是否是引导分区。若是,则有“*”标识
  • Start:该分区在硬盘中的起始位置(柱面数)
  • End:该分区在硬盘中的结束位置(柱面数)
  • Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节。
  • Id:分区对应的系统ID号。83表示Linux中的XFS分区或EXT4分区、8e表示LVM逻辑卷。LVM是Linux操作系统中对磁盘分区进行管理的一种逻辑机制。
  • System:分区类型

5.2.2 规划硬盘中的分区

        在硬盘设备中创建、删除、更改分区等操作同样通过 fdisk 命令进行,只需使用硬盘的设备文件作为参数。例如,执行“fdisk/dev/sdb"命令。

        在该操作界面中的“Command(m for help):”提示符后,输入特定的分区操作指令可以完成各项分区管理任务。例如,输入“m"指令后,可以查看各种操作指令的帮助信息 

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

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

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

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

        选择分区号时,主分区和扩展分区的序号只能为1~4。为保证分区连续,分区起始位20G”表示将该分区的容量设置为20GB:
置一般由 fdisk 默认识别即可,结束位置或大小可以使用“+sizeM"或“+sizeG”的形式,如“+20G“表示该分区的容量设置为20GB

  1. 创建两个主分区
    1. 首先建立第一个主分区(/dev/sdb1),容量指定为20GB,具体操作如下:
    2. 按照类似的操作步骤继续创建第二个主分区(/dev/sdb2),容量也指定为20GB,完成后可以输入“p”指令查看分区情况,具体操作如下: 
  2. 创建一个扩展分区和两个逻辑分区

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

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

        接下来在扩展分区中建立第一个逻辑分区(/devsdb5),容量指定为2GB,具体操作

 

        然后按照类似的操作步骤继续创建第二个逻辑分区(/devsdb6),容量指定为 10GB完成后可以再次输入“p”指令查看分区情况,具体操作如下:

 

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

        使用“d”指令可以删除指定的分区,根据提示继续输入需要删除的分区序号即可。在执行删除分区时一定要慎重,应首先使用p指令查看分区的序号,确认无误后再进行删除需要注意的是,若扩展分区被删除,则扩展分区之下的逻辑分区也将同时被删除。因此建议从最后一个分区开始删除,以免fdisk 识别的分区序号发生紊乱。

        

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

        在 fdisk 分区工具中,新建的分区默认使用的分区类型为 Linux,一般不需要更改。但是若新建的分区需要用作 Swap 交换分区或其他类型的分区,则需要对分区类型进行变更以保持一致性,以避免在管理分区时产生混淆。
        使用“!”指令可以变更分区的 ID 号。操作时需要依次指定目标分区序号、新的 ID 号。不同类型的ID 号对应不同的分区类型,不同的分区类型支持不同类型的文件系统,以十六进制数表示,在 fdisk 交互环境中可以输入“!"指令进行列表査看。最常用的 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”指令将保存分区操作,而“g”指令不会保存对硬盘所做的分区操作。对已包含数据的硬盘进行分区时,一定要做好数据备份,保存之前要确保操作无误,以免损坏数据。若无法确定本次分区操作是否正确,建议使用“g”指令不保存退出。“w"指令的具体操作如下:    

    

        变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行“partprobe”命令使操作系统检测新的分区表情况。在某些 Linux 操作系统中,若不进行这些操作,可能会导致格式化分区时损坏硬盘中已有的数据,严重者甚至引起系统崩溃。例如,执行“partprobe"命令将重新探测“/dev/sdb”磁盘中的分区变化,具体操作如下:

 

5.3 管理文件系统

5.3.1 创建文件系统

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

1.mkfs 命令的使用

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

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

 

  1. 创建 XFS 文件系统        
    1. 当需要创建 XFS 文件系统时,只需结合“-txfs”选项指定类型,并指定要被格式化的分区设备即可。例如,执行以下操作将把分区/dev/sdb1 格式化为XFS文件系统。
    2.  
    3.  
  2. 创建FAT32文件系统
    1. 一般来说,不建议在 Linux 操作系统中创建或使用 Windows 操作系统中的文件系统类型,包括 FAT16、FAT32 等,但一些特殊情况,如 Windows 操作系统不可用、U 盘系统被病毒破坏等情况除外。
    2. 若要在 Linux 操作系统中创建 FAT32 文件系统,可结合“-tvfat”选项指定类型,并添加“-F32"选项指定 FAT的版本。例如,执行以下操作将把分区/dev/sdb6 格式化为 FAT32 文件系统(先通过 fdisk 工具添加/devsdb6 分区,并将 ID 号设为 b)。
2.mkswap 命令的使用

        在 Linux 操作系统中,Swap 分区的作用类似于 Windows 操作系统中的“虚拟内存”,可以在一定程度上缓解物理内存不足的情况。当 Linux 主机运行的服务较多,需要更多的交换空间支撑应用时,可以为其增加新的交换分区。
        使用 mkswap 命令工具可以在指定的分区上创建交换文件系统,目标分区应先通过fdisk 工具将 |D 号设为 82。例如,执行以下操作可以将分区/dev/sdb5 创建为交换分区。

        对于新增加的交换分区,需要使用 swapon 命令进行启用,反之使用 swapoff 命令停用指定的交换分区。例如,以下操作分别展示了启用、停用交换分区/devisdb5 的过程,以及总交换空间的变化情况。

5.3.2 挂载、卸载文件系统

        在 Linux 操作系统中,对各种存储设备中的资源访问(如读取、保存文件等)都是通过目录结构进行的,虽然操作系统核心能够通过“设备文件”的方式操纵各种设备,但是对于用户来说,还需要增加一个“挂载"的过程,才能像正常访问目录一样访问存储设备中的资源。

  • 27
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Small Cow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值