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


    磁盘基础

    硬盘结构

    • 物理结构

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

      磁头:每面一个磁头。

    • 数据结构

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

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

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

    • 储存容量

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

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

    硬件的接口

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

    • 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表示swap b表示 FAT83表示ext4 xfs5 表示扩展分区8e表示逻辑卷LVMfd表示RAID

    • ISO文件系统类型:iso9660

  • 相关阅读:
    Linux设置复制粘帖的快捷方式
    UC伯克利发布一个低成本家居机器人,会叠衣服、会泡咖啡
    称职QA经理必备的13项技能
    李开复:AI正在从黑科技变成主流,传统公司都需要“CAIO”
    为什么纸牌游戏Hanabi是人工智能的下一个挑战
    专家质疑亚马逊面部识别技术:机器眼里女士皮肤黑就等于是男人
    日媒联手高科技公司利用人工智能预测新闻对企业的影响
    Python 封王,Java和C宣布永久退出竞争舞台
    李开复:AI进入商用时代 偏重科研的“黑科技”非创业主旋律
    AI医疗与人类疾病的竞跑:5G落地,就像“三甲”到家
  • 原文地址:https://www.cnblogs.com/SiceLc/p/11657921.html
Copyright © 2020-2023  润新知