详解Linux磁盘管理与文件系统

Posted sicelc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解Linux磁盘管理与文件系统相关的知识,希望对你有一定的参考价值。

磁盘基础

硬盘结构

  • 物理结构

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

    磁头:每面一个磁头。

  • 数据结构

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

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

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

  • 储存容量

    硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数。

    可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域,用 fdisk -l 查看分区信息。

硬件的接口

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

  • ATA:全称 Advanced Technology Attachment,并口数据线连接主板与硬盘,抗干扰性 太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代。

  • SATA:全称SerialATA,抗干扰性强,支持热插拔等功能,速度快,纠错能力强。

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

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

磁盘分区表示

MBR

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

磁盘分区的表示

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

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

  • 硬盘:对于IDE 接口的硬盘设备,表示为hdX形式的文件名;而对于 SCSI 接口的硬 盘设备,则表示为sdX形式的文件名。其中X可以为abcd 等字母序号。

  • 分区:表示分区时,以硬盘设备的文件名作为基础,在后边添加该分区(无论主分区、 扩展分区、逻辑分区)对应的数字序号即可。需要注意的是,由于硬盘中的主分区数目只有 4 个,因此主分区和扩展分区的序号也就限制在 1~4,而逻辑分区的序号将始终从5开始。

Linux 中使用的文件系统类型

文件系统(File System)类型决定了向分区中存放、读取文件数据的方式和效率,在 对分区进行格式化时需要选择所使用的文件系统类型。

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

  • SWAP:交换文件系统,用于为Linux系统建立交换分区。交换分区的作用相当于虚拟内 存,能够在一定程度上缓解物理内存不足的问题。一般建议将交换分区的大小设置为物 理内存的 1.5~2 倍。

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

Linux系统还广泛支持其他各种类型的文件系统,如 JFSFAT16FAT32NTFS 等。

管理磁盘及分区

fdisk命令——查看或管理磁盘分区

  • 命令格式

    fdisk [磁盘设备]

    fdisk -l [磁盘文件]

[root@localhost ~]# fdisk -l             //查看磁盘当前磁盘信息

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009dfa2

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     4196351     2097152   83  Linux
/dev/sda2         4196352    46139391    20971520   83  Linux
/dev/sda3        46139392    62916607     8388608   82  Linux swap / Solaris
/dev/sda4        62916608    83886079    10484736    5  Extended
/dev/sda5        62918656    83886079    10483712   83  Linux

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

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

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

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

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

Id:分区对应的系统ID 号。

System:分区类型。

  • 交互模式指令
指令 含义
m 帮助信息
p 显示分区列表
n 创建分区
d 删除分区
t 转换分区类型 ID号进行转换
w 保存修改
q 退出
[root@localhost ~]# fdisk /dev/sda              //输入命令,进入交互模式
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):m                           //输入m查看帮助信息
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

规划硬盘中的分区

  • 在VMware虚拟机添加一块60G的硬盘,并重启Linux虚拟机,识别硬盘,运用fdisk -l命令常看硬盘信息。
[root@localhost ~]# fdisk -l                 //查看硬盘信息

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009dfa2

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     4196351     2097152   83  Linux
/dev/sda2         4196352    46139391    20971520   83  Linux
/dev/sda3        46139392    62916607     8388608   82  Linux swap / Solaris
/dev/sda4        62916608    83886079    10484736    5  Extended
/dev/sda5        62918656    83886079    10483712   83  Linux

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区      //新添加的硬盘sdb
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
  • 输入fdisk /dev/sdb命令进入磁盘设备管理工具模式
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x7f2bcf16 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):
  • 输入n指令,创建新分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x7f2bcf16 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:                       //分区类型
   p   primary (0 primary, 0 extended, 4 free)   //主分区
   e   extended                                  //扩展分区
Select (default p):
  • 输入p指令选择创建主分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xd7cb247d 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p                            //创建主分区
分区号 (1-4,默认 1):                             //未填写,默认分区号为1
起始 扇区 (2048-125829119,默认为 2048):           //起始扇区未填写,默认为2048
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-125829119,默认为 125829119):+15G //结束扇区填写要创键的                                                                          分区大小  
分区 1 已设置为 Linux 类型,大小设为 15 GiB                                 //创建完成

命令(输入 m 获取帮助):
  • 这时可以输入p指令查看是否成功创建分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xd7cb247d 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
...//省略部分内容...
命令(输入 m 获取帮助):p                           //显示分区列表

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd7cb247d

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux   //成功创建分区

命令(输入 m 获取帮助):
  • 继续输入n创建分区
 ...//省略部分内容...
 设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux

命令(输入 m 获取帮助):n                   //创建分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p                    //主分区
分区号 (2-4,默认 2):
起始 扇区 (31459328-125829119,默认为 31459328):
将使用默认值 31459328
Last 扇区, +扇区 or +size{K,M,G} (31459328-125829119,默认为 125829119):+10G  //分区大小10G
分区 2 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):p                                 //查看分区列表

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc89f5933

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux
/dev/sdb2        31459328    52430847    10485760   83  Linux    //成功创建分区

命令(输入 m 获取帮助):
  • 输入n创建一个扩展分区
...//省略部分内容...
命令(输入 m 获取帮助):n                           //创建分区
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): e                            //创建扩展分区
分区号 (3,4,默认 3):4                            //选择分区号为4
起始 扇区 (52430848-125829119,默认为 52430848):   //默认起始扇区变
将使用默认值 52430848
Last 扇区, +扇区 or +size{K,M,G} (52430848-125829119,默认为 125829119): //结束扇区使用默认值
将使用默认值 125829119
分区 4 已设置为 Extended 类型,大小设为 35 GiB             //剩余全部分区作为扩展分区

命令(输入 m 获取帮助):p                                  //查看分区列表

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc89f5933

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux
/dev/sdb2        31459328    52430847    10485760   83  Linux
/dev/sdb4        52430848   125829119    36699136    5  Extended   //成功创建扩展分区

命令(输入 m 获取帮助):
  • 输入n在扩展中创建逻辑分区,以方便我们使用分区
...//省略部分内容...
命令(输入 m 获取帮助):n                            //创建分区
Partition type:
   p   primary (2 primary, 1 extended, 1 free)    //主分区
   l   logical (numbered from 5)                  //逻辑分区
Select (default p): l                             //选择创建逻辑分区
添加逻辑分区 5                                      //默认从5开始分区
起始 扇区 (52432896-125829119,默认为 52432896):    //起始扇区为默认值
将使用默认值 52432896
Last 扇区, +扇区 or +size{K,M,G} (52432896-125829119,默认为 125829119):+8G
分区 5 已设置为 Linux 类型,大小设为 8 GiB           //创建8G大小的逻辑分区

命令(输入 m 获取帮助):p                           //查看分区列表

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc89f5933

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux
/dev/sdb2        31459328    52430847    10485760   83  Linux
/dev/sdb4        52430848   125829119    36699136    5  Extended
/dev/sdb5        52432896    69210111     8388608   83  Linux      //成功创建逻辑分区

命令(输入 m 获取帮助):
  • 输入n继续创建逻辑分区
...//省略部分内容...
命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 6
起始 扇区 (69212160-125829119,默认为 69212160):
将使用默认值 69212160
Last 扇区, +扇区 or +size{K,M,G} (69212160-125829119,默认为 125829119):
将使用默认值 125829119
分区 6 已设置为 Linux 类型,大小设为 27 GiB   //剩余全部容量分配给逻辑分区6

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc89f5933

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux
/dev/sdb2        31459328    52430847    10485760   83  Linux
/dev/sdb4        52430848   125829119    36699136    5  Extended
/dev/sdb5        52432896    69210111     8388608   83  Linux
/dev/sdb6        69212160   125829119    28308480   83  Linux     //成功创建分区

命令(输入 m 获取帮助):
  • 这时候对分区进行修改,把sdb5分区类型修改为swap交换分区
命令(输入 m 获取帮助):t                //输入修改分区
分区号 (1,2,4-6,默认 6):5            //选择分区号
Hex 代码(输入 L 列出所有代码):82        //输入swap分区代码
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):p               //查看分区列表

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc89f5933

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux
/dev/sdb2        31459328    52430847    10485760   83  Linux
/dev/sdb4        52430848   125829119    36699136    5  Extended
/dev/sdb5        52432896    69210111     8388608   82  Linux swap / Solaris //成功修改分区
/dev/sdb6        69212160   125829119    28308480   83  Linux

命令(输入 m 获取帮助):
  • 修改sdb6分区类型格式修改为FAT文件类型格式(这里只是演示,不建议使用此格式,此格式写入文件最大支持单个文件4G的写入)
命令(输入 m 获取帮助):t
分区号 (1,2,4-6,默认 6):6
Hex 代码(输入 L 列出所有代码):b                //输入FAT文件系统格式代码

WARNING: If you have created or modified any DOS 6.xpartitions, please see the fdisk manual page for additionalinformation.

已将分区“Linux”的类型更改为“W95 FAT32”

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc89f5933

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux
/dev/sdb2        31459328    52430847    10485760   83  Linux
/dev/sdb4        52430848   125829119    36699136    5  Extended
/dev/sdb5        52432896    69210111     8388608   82  Linux swap / Solaris
/dev/sdb6        69212160   125829119    28308480    b  W95 FAT32   //修改成功

命令(输入 m 获取帮助):
  • 删除sdb2分区
命令(输入 m 获取帮助):d               //输入删除分区指令
分区号 (1,2,4-6,默认 6):2           //要删除的分区号
分区 2 已删除

命令(输入 m 获取帮助):p               //查看分区列表

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc89f5933

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux
/dev/sdb4        52430848   125829119    36699136    5  Extended
/dev/sdb5        52432896    69210111     8388608   82  Linux swap / Solaris
/dev/sdb6        69212160   125829119    28308480    b  W95 FAT32
                                       //sbd2分区成功删除
命令(输入 m 获取帮助):
  • 完成分区后输入w指令保存设置,并退出

命令(输入 m 获取帮助):w                       //保存磁盘设置
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。                                  //完成磁盘设置
[root@localhost ~]# 
  • 输入fdisk -l查看磁盘信息
[root@localhost ~]# fdisk -l

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009dfa2

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     4196351     2097152   83  Linux
/dev/sda2         4196352    46139391    20971520   83  Linux
/dev/sda3        46139392    62916607     8388608   82  Linux swap / Solaris
/dev/sda4        62916608    83886079    10484736    5  Extended
/dev/sda5        62918656    83886079    10483712   83  Linux

磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes                       //显示设置成功的sdb磁盘信息
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc89f5933

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    31459327    15728640   83  Linux
/dev/sdb4        52430848   125829119    36699136    5  Extended
/dev/sdb5        52432896    69210111     8388608   82  Linux swap / Solaris
/dev/sdb6        69212160   125829119    28308480    b  W95 FAT32
[root@localhost ~]# 

文件管理系统

创建文件系统(格式化分区)

  • mkfs命令——(Mask Filesystem)创建文件系统

    命令格式

    mkfs -t [文件格式] [分区设备]

    mkfs.[文件格式] [分区设备]

  • 创建XFS文件系统

[root@localhost ~]# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=983040 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=3932160, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# 
  • 创建FAT格式文件系统
[root@localhost ~]# mkfs.vfat -F 32 /dev/sdb6
mkfs.fat 3.0.20 (12 Jun 2013)
  • mkswap命令——创建交换文件系统

    mkswap [分区设备]

[root@localhost ~]# mkswap /dev/sdb5
正在设置交换空间版本 1,大小 = 8388604 KiB
无标签,UUID=576a3fba-5a63-486a-aab9-17e644495787
[root@localhost ~]# 

挂载、卸载文件系统

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

  • df -hT命令——查看磁盘使用情况,并友好显示,以及类型。
[root@localhost ~]# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  4.3G   16G   22% /
devtmpfs       devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs          tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs          tmpfs     1.9G  9.0M  1.9G    1% /run
tmpfs          tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5      xfs        10G   50M   10G    1% /home
/dev/sda1      xfs       2.0G  174M  1.9G    9% /boot
tmpfs          tmpfs     378M   12K  378M    1% /run/user/42
tmpfs          tmpfs     378M     0  378M    0% /run/user/0
  • mount命令——挂载文件系统

    命令格式

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

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

[root@localhost ~]# mkdir /opt/siti                 //创建目录
[root@localhost ~]# mount /dev/sdb1 /opt/siti       //将sdb1挂载到siti目录
[root@localhost ~]# df -hT                          //查看磁盘使用情况
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  4.3G   16G   22% /
devtmpfs       devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs          tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs          tmpfs     1.9G  9.0M  1.9G    1% /run
tmpfs          tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5      xfs        10G   50M   10G    1% /home
/dev/sda1      xfs       2.0G  174M  1.9G    9% /boot
tmpfs          tmpfs     378M   12K  378M    1% /run/user/42
tmpfs          tmpfs     378M     0  378M    0% /run/user/0
/dev/sdb1      xfs        15G   33M   15G    1% /opt/siti        //sdb1成功挂载到siti目录
  • umount命令——卸载挂载点

    命令格式

    umount [挂载点]

    umount [设备分区]

[root@localhost ~]# umount /opt/siti
[root@localhost ~]# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  4.3G   16G   22% /
devtmpfs       devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs          tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs          tmpfs     1.9G  9.0M  1.9G    1% /run
tmpfs          tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5      xfs        10G   50M   10G    1% /home
/dev/sda1      xfs       2.0G  174M  1.9G    9% /boot
tmpfs          tmpfs     378M   12K  378M    1% /run/user/42
tmpfs          tmpfs     378M     0  378M    0% /run/user/0
  • swapon命令——启用新的swap分区系统

    命令格式

    swapon [分区设备]

[root@localhost ~]# cat /proc/meminfo | grep -i "swap"  //查看内存信息中swap内存
SwapCached:            0 kB
SwapTotal:       8388604 kB                             //swap内存为8G
SwapFree:        8388604 kB
[root@localhost ~]# swapon /dev/sdb5                    //添加新的swap分区系统
[root@localhost ~]# cat /proc/meminfo | grep -i "swap"  //查看内存信息中swap内存
SwapCached:            0 kB
SwapTotal:      16777208 kB                            //swap内存为16G 
SwapFree:       16777208 kB
  • swapoff命令——关闭启用的swap分区系统

    命令格式

    swapoff [分区设备]

[root@localhost ~]# swapoff /dev/sdb5                    //关闭添加的swap分区系统
[root@localhost ~]# cat /proc/meminfo | grep -i "swap"   //查看内存信息中swap内存
SwapCached:            0 kB
SwapTotal:       8388604 kB                              //swap内存为8G
SwapFree:        8388604 kB

设置文件系统的自动挂载

  • /etc/fstab配置文件

    系统中的/etc/fstab文件可以视为mount命令的配置文件,其中存储了文件系统的静态挂载数据。Linux 操作系统在每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统。

[root@localhost ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Fri Aug  9 11:45:58 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=2e181f68-3027-48da-a779-ac380076d6f3 /                xfs     defaults        0 0
UUID=0de201d1-2be8-4457-a420-78547726c995 /boot            xfs     defaults        0 0
UUID=8ac2bc9f-2520-410e-9408-c462d1bd249f /home            xfs     defaults        0 0
UUID=22d52505-e702-48db-a1ed-f82cb4b1feca swap             wap    defaults        0 0

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

字段 含义
第1字段 设备名称
第2字段 挂载点
第3字段 文件系统类型
第4字段 功能/权限(rwroexecnoexecdefault
第5字段 是否容灾备份
第6字段 启动检查序列【0(不检查)1(优先检查)2(1检查完在检查)】
  • 编辑/etc/fstab中配置文件,使sdb1分区设备自动挂载
[root@localhost ~]# vim /etc/fstab             //编辑fstab配置文件
#
# /etc/fstab
# Created by anaconda on Fri Aug  9 11:45:58 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=2e181f68-3027-48da-a779-ac380076d6f3 /                       xfs     defaults        0 0
UUID=0de201d1-2be8-4457-a420-78547726c995 /boot                   xfs     defaults        0 0
UUID=8ac2bc9f-2520-410e-9408-c462d1bd249f /home                   xfs     defaults        0 0
UUID=22d52505-e702-48db-a1ed-f82cb4b1feca swap                    swap    defaults        0 0
/dev/sdbl       /opt/si11       xfs     defaults        0 0   //编辑挂载信息
~                                                                                                               
:wq                                                        //保存退出
  • reboot或者mount -a重启设备或重启挂载
[root@localhost ~]# mkdir /opt/si11               //创建挂载点文件目录
[root@localhost ~]# mount -a                       //刷新挂载
[root@localhost ~]# df -hT                          //查看磁盘使用情况
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  4.3G   16G   22% /
devtmpfs       devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs          tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs          tmpfs     1.9G  9.0M  1.9G    1% /run
tmpfs          tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5      xfs        10G   50M   10G    1% /home
/dev/sda1      xfs       2.0G  174M  1.9G    9% /boot
tmpfs          tmpfs     378M   12K  378M    1% /run/user/42
tmpfs          tmpfs     378M     0  378M    0% /run/user/0
/dev/sdb1      xfs        15G   33M   15G    1% /opt/si11      //sdb1设备成功挂载
  • 自动挂载光驱

    确认虚拟机光驱正常运行,并添加镜像文件

[root@localhost ~]# !vim                                //回到上一次的编辑内容                
#
# /etc/fstab
# Created by anaconda on Fri Aug  9 11:45:58 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=2e181f68-3027-48da-a779-ac380076d6f3 /                       xfs     defaults        0 0
UUID=0de201d1-2be8-4457-a420-78547726c995 /boot                   xfs     defaults        0 0
UUID=8ac2bc9f-2520-410e-9408-c462d1bd249f /home                   xfs     defaults        0 0
UUID=22d52505-e702-48db-a1ed-f82cb4b1feca swap                    swap    defaults        0 0
/dev/sdb1       /opt/si11       xfs     defaults        0 0
/dev/sr0        /opt/ti11       iso9660 defaults        0 0      //编辑挂载光驱配置
~          
:wq                             
[root@localhost ~]# mkdir /opt/ti11                       //创建ti11目录
[root@localhost ~]# mount -a                              //刷新挂载 
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# df -hT                                 //查看磁盘使用情况
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda2      xfs        20G  4.3G   16G   22% /
devtmpfs       devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs          tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs          tmpfs     1.9G  9.0M  1.9G    1% /run
tmpfs          tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda5      xfs        10G   50M   10G    1% /home
/dev/sda1      xfs       2.0G  174M  1.9G    9% /boot
tmpfs          tmpfs     378M   12K  378M    1% /run/user/42
tmpfs          tmpfs     378M     0  378M    0% /run/user/0
/dev/sdb1      xfs        15G   33M   15G    1% /opt/si11
/dev/sr0       iso9660   4.3G  4.3G     0  100% /opt/ti11          //成功挂载光驱

补充内容

  • 分区ID号

    82表示swapb表示 FAT83表示ext4 xfs5 表示扩展分区8e表示逻辑卷LVMfd表示RAID

  • ISO文件系统类型:iso9660

以上是关于详解Linux磁盘管理与文件系统的主要内容,如果未能解决你的问题,请参考以下文章

20磁盘管理—linux磁盘管理详解(分区)

linux磁盘管理之LVM逻辑卷认识与管理详解(实验详细,可跟做)

Linux之磁盘与文件系统管理

Linux磁盘分区与LVM详解

Linux 磁盘管理详解--企业实战篇

Linux 磁盘管理详解--企业实战篇