详解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 [磁盘文件]

[[email protected] ~]# 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 退出
[[email protected] ~]# 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命令常看硬盘信息。
[[email protected] ~]# 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命令进入磁盘设备管理工具模式
[[email protected] ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

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

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

命令(输入 m 获取帮助):
  • 输入n指令,创建新分区
[[email protected] ~]# 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指令选择创建主分区
[[email protected] ~]# 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指令查看是否成功创建分区
[[email protected] ~]# 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.
正在同步磁盘。                                  //完成磁盘设置
[[email protected] ~]# 
  • 输入fdisk -l查看磁盘信息
[[email protected] ~]# 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
[[email protected] ~]# 

文件管理系统

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

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

    命令格式

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

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

  • 创建XFS文件系统
[[email protected] ~]# 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
[[email protected] ~]# 
  • 创建FAT格式文件系统
[[email protected] ~]# mkfs.vfat -F 32 /dev/sdb6
mkfs.fat 3.0.20 (12 Jun 2013)
  • mkswap命令——创建交换文件系统

    mkswap [分区设备]

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

挂载、卸载文件系统

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

  • df -hT命令——查看磁盘使用情况,并友好显示,以及类型。
[[email protected] ~]# 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 挂载参数 ] 存储设备 挂载点

[[email protected] ~]# mkdir /opt/siti                 //创建目录
[[email protected]lhost ~]# mount /dev/sdb1 /opt/siti       //将sdb1挂载到siti目录
[[email protected] ~]# 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 [设备分区]

[[email protected] ~]# umount /opt/siti
[[email protected] ~]# 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 [分区设备]

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

    命令格式

    swapoff [分区设备]

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

设置文件系统的自动挂载

  • /etc/fstab配置文件

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

[[email protected] ~]# 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分区设备自动挂载
[[email protected] ~]# 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重启设备或重启挂载
[[email protected] ~]# mkdir /opt/si11               //创建挂载点文件目录
[[email protected] ~]# mount -a                       //刷新挂载
[[email protected] ~]# 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设备成功挂载
  • 自动挂载光驱

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

[[email protected] ~]# !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                             
[[email protected] ~]# mkdir /opt/ti11                       //创建ti11目录
[[email protected] ~]# mount -a                              //刷新挂载
mount: /dev/sr0 写保护,将以只读方式挂载
[[email protected] ~]# 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

原文地址:https://blog.51cto.com/14473285/2431798

时间: 2024-07-29 11:42:58

详解Linux磁盘管理与文件系统的相关文章

分析Linux磁盘管理与文件系统专题三

1.前言 紧接着我的上一篇博客进行磁盘管理操作: http://zhangfengzhe.blog.51cto.com/8855103/1430531 我们已经对磁盘进行了分区,信息如下: [[email protected] ~]# fdisk -l /dev/sdb Disk /dev/sdb: 1073 MB, 1073741824 bytes 255 heads, 63 sectors/track, 130 cylinders Units = cylinders of 16065 * 5

分析Linux磁盘管理与文件系统专题二

1.关于设备文件 A 我们知道常见的设备文件有:字符设备文件(character),块设备文件(block). B 块设备,简写b,随机访问,比如硬盘. C 字符设备,简写c,线性访问,比如键盘,鼠标,显示器. D 我们的设备文件常常在/dev目录下,并且没有大小.因为设备文件只是作为设备访问   的入口. E 设备文件,一般用major(主设备号),minor(次设备号)进行标示.主设备号标示设备类型,次设备号标示同一种类型设备下的不同设备. 2.创建设备文件实例 [[email protec

Linux磁盘管理及文件系统

Linux磁盘管理及文件系统 1.Linux磁盘管理 识别硬盘设备:/dev/sd 标记不同的硬盘设备:/dev/sd[a-z] 标记同一设备上的不同分区:/dev/sd[a-z][1-] 1-4: 主或扩展分区标识 5+:逻辑分区标识 2.设备文件:特殊文件 设备号: major, minor major: 设备类型 minor: 同一类型下的不同设备 "块":block,随机设备 "字符":character,线性设备 3.分区工具: (1)fdisk, par

Linux磁盘管理——日志文件系统与数据一致性

参考:Linux磁盘管理——Ext2文件系统 数据不一致 上图是Ext2结构图,其他FS结构类似. 一般来说,我们将 inode table 与 data block 称为数据区:至于其他例如 superblock. block bitmap 与 inode bitmap 等称为 metadata (元数据). 以新增一个文件为例,看看FS操作流程 1. 先确定使用者对于欲新增文件的目录是否具有 w 与 x 的权限,若有的话才能新增:2. 根据 inode bitmap 找到没有使用的 inod

Linux磁盘管理和文件系统

前言分区的概念:分区从实质上说就是对硬盘的一种格式化.当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即 MasterBootRecord,一般简称为 MBR)和引导记录备份的存放位置.而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过以后的高级格式化,即 Format 命令来实现.面.磁道和扇区硬盘分区后,将会被划分为面(Side).磁道(Track)和扇区(Sector).需要注意的是,这些只是个虚拟的概念,并不是真正在硬盘上划轨道MBR简介:MBR(Mai

Linux磁盘管理、文件系统及其相关命令的使用方法

Linux磁盘管理 硬盘: 机械硬盘 SSD固态硬盘 track sector: 512bytes cylinder: 分区的基本单位: MBR:Master Boot Record 512bytes 446: bootloader 64: filesystem allocation table 16: 标识一个分区  2:55AA 磁盘接口类型: IDE (ATA):133MB/s,/dev/hd SCSI: 640MB/s SATA:6Gbps SAS:6Gbps USB:480MB/s 识

Linux磁盘管理与文件系统(精简理论部分,浓缩的精华!)

今天和大家分享的是Linux操作系统中的磁盘管理与文件系统的相关知识,将会从以下几点和大家进行说明: 磁盘基础 检测并确认新磁盘 规划硬盘中的分区 创建文件系统 挂载.卸载文件系统 首先先和大家说一下磁盘的结构1.硬盘的物理结构 盘片:硬盘有多个盘片.每盘片2面 磁头:每面一个磁头2.硬盘的数据结构 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据(磁盘的最小组成单元通常是512字节,部分厂商设定的是4096个字节) 磁道:同一盘片不同半径的同心圆 柱面:不同盘片相同半径构成的圆柱面(

Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk

fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 console 上输入 fdisk /dev/sda,可进入分割硬盘模式. 1. 输入 m 显示所有命令列示. 2. 输入 p 显示硬盘分割情形. 3. 输入 a 设定硬盘启动区. 4. 输入 n 设定新的硬盘分割区. 4.1. 输入 e 硬盘为[延伸]分割区(extend). 4.2. 输入 p

linux磁盘管理和文件系统创建

1      磁盘管理 1.1    硬盘的构造原理 硬盘分类: 机械式硬盘,固态硬盘 硬盘出厂会进行低级格式化,分磁盘,再分扇区,硬盘的第一个磁道的一个扇区就是MBR 512Bytes Master boot record 446 bytes bootloader 主引导程序 64bytes :主分区存储 16bytes表示一个主分区,最多4个主分区 2bytes:magic number 表示mbr是否有效 硬盘的注意事项: a)                1.硬盘需要绝对的无尘环境,生