# 重点回顾

  • 一个可以被挂载的数据通常称为「文件系统 filesystem」而不是分区槽(partition)
  • 基本上 Linux 的传统文件系统位 Ext2,该文件系统内的信息主要有:
    • superblock:记录此 filesystem 的整体信息,包括 inode、block 的总量、使用量、剩余量,以及文件系统的格式与相关信息
    • inode:记录文件的属性,一个文件占用一个 inode,同时记录此文件的数据所在的 block 号码
    • block:实际记录文件的内容,若文件太大时,会占用多个 block
  • Ext2 文件系统的数据存取为索引式文件系统(indexed allocation)
  • 需要碎片整理的原因就是文件写入的 block 太过于离散了,此时文件读取的效能变得很差。可以通过碎片整理将同一个文件所属的 blocks 整理在一起
  • Ext 文件系统主要有:boot sector、superblock、inode bitmap、inode table、data block 等 6 大部分
  • data block 是用来放置文件内容数据的地方,在 ext2 文件系统中所支持的 block 大小有 1k、2k、4k 三种
  • inode 记录文件的属性、权限等数据,其他重要项目为:每个 inode 大小均为固定,有 128、256bytes 两种基本容量。每个文件都仅会占用一个 inode。因此文件系统能够建立的文件数量与 inode 的数量有关
  • 文件的 block 在记录文件的实际数据,目录的 block 则在记录该目录下文件名与其 inode 号码的对照表
  • 日志文件系统(journal)会多出一块记录区,随时记载文件系统的主要活动,可加快系统复原时间
  • Linux 文件系统位增加效能,会让主存储器作为大量的磁盘告诉缓存
  • 实体链接只是多了一个文件名对该 inode 号码的连接
  • 符号链接就类似 windows 的快捷方式功能
  • 磁盘的使用必须经过:分区、格式化与挂载,分别惯用的指令为:gdisk、mkfs、mount 三个指令
  • 分区时,应使用 parted 检查分区表格式,再判断使用 fdisk 或 gdisk 来分区,或直接使用 parted 分区
  • 为了考虑效能,xfs 文件系统格式化时,可以考虑加上 agcount、su、sw、extsize 等参数
  • 如果磁盘以无未分区的容量,可以考虑使用大型文件取代磁盘装置的处理方式,通过 dd 与格式化功能
  • 开机自动挂载可参考 /etc/fstab 的设置,设置完后务必使用 mount -a 测试语法正确性

# 卸载挂载的分区练习

将本章挂载的几个挂载点全部卸载。并删除这些分区,回复到原本刚安装时的状态;

  • 目标:了解到删除分区槽需要注意的各项信息
  • 前提:本章各项示例都有做过,才会拥有 /dev/sda4 ~ /dev/sda7 的分区出现
  • 需求:熟悉 gdisk、parated、umount、sapoff 等指令
  1. 使用 free、swapon -s、mount 等指令查询要被处理的文件系统不可以被使用,如果有被使用则必须使用 umount 卸载文件系统。如果是 swap,则需要使用 swapon -s 找出被使用的分区槽再用 swapoff 卸载

    [root@study ~]# umount /data/ext4 /data/xfs /data/file /data/win
    umount: /data/ext4:未挂载
    [root@study ~]# swapoff /dev/sda6 /tmp/swap
    
    
    1
    2
    3
    4
  2. 观察 /etc/fstab 将相关的配置删除或注释掉

    nano /etc/fstab
    # 将相关的都注释掉了
    # UUID="edfa7161-5847-4935-80e1-6e081be9ab77" /data/xfs xfs defaults 0 0
    # /srv/loopdev /data/file xfs defaults 0 0
    # UUID="89727d5b-a222-4878-be50-19bbb61cabb0" swap swap defaults 0 0
    # /tmp/swap swap swap defaults 0 0
    # UUID="72BE-0556" /data/win vfat defaults 0 0
    
    
    1
    2
    3
    4
    5
    6
    7
    8
  3. 使用 gdisk 删除,也可以使用 parted 来删除

    [root@study ~]# parted /dev/sda rm 7
    信息: You may need to update /etc/fstab.
    
    [root@study ~]# parted /dev/sda rm 6
    信息: You may need to update /etc/fstab.
    
    [root@study ~]# parted /dev/sda rm 5
    信息: You may need to update /etc/fstab.
    
    [root@study ~]# parted /dev/sda rm 4
    信息: You may need to update /etc/fstab.
    # 刷新分区表
    [root@study ~]# partprobe                                                 
    
    # 确认下,确实只剩下三个了
    [root@study ~]# parted /dev/sda print
    Model: ATA VBOX HARDDISK (scsi)
    Disk /dev/sda: 43.8GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags: pmbr_boot
    
    Number  Start   End     Size    File system  Name  标志
     1      1049kB  3146kB  2097kB                     bios_grub
     2      3146kB  1077MB  1074MB  xfs
     3      1077MB  33.3GB  32.2GB                     lvm
    
    # 将相关文件删除
    [root@study ~]# rm /tmp/swap /srv/loopdev
    rm:是否删除普通文件 "/tmp/swap"?y
    rm:是否删除普通文件 "/srv/loopdev"?y
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32