linux的磁盘管理 4.11

二. 磁盘的管理与文件系统

     1.  区块对照表(block bitmap):方便了各个区块存储情况的查找,如果没有区块对照表,查找区块的存储情况需要大量的时间,区块对照表可以按位标识区块的存储(1为占有,0为未占有)。

     inode对照表的原理与 block bitmap 有类似的功能,只是 block bitmap 记录的 是使用与未使用的 block 号码, 至于 inode bitmap 则是记录使用与未 使用的 inode 号码!

     2. 在 Linux 下的 ext2 文件系统创建一个目录时, ext2 会分配一个 inode 与至少一块 block 给该目录。其中,inode 记录该目录的相关权限与属 性,并可记录分配到的那块 block 号码; 而 block 则是记录在这个目录 下的文件名与这些文件名占用的 inode 号码数据。

        当在 Linux 下的 ext2 创建一个一般文件时, ext2 会分配一个 inode 与相对于该文件大小的 block 数量给该文件。 

    3. 目录树的读取:例如/etc/paawd

       读取的过程:目录树是由根目录开始读起,因此系统通过挂载的信息可以找到挂 载点的 inode 号码(通常一个 filesystem 的最顶层 inode 号码会由 2 号 开始!),此时就能够得到根目录的 inode 内容,并依据该 inode 读取 根目录的 block 内的文件名数据,在根目录的block中找到etc的inode号码,得到inode号码后,据此读取etc的block内的数据获取passwd的inode号码,得到该号码后,据此读取到passwd的block,从block中获取数据信息。

     4.查看磁盘的容量和单个文件的容量

       df:列出文件系统的整体磁盘使用量; 

       linux的磁盘管理 4.11

       df   -l   将系统内所有的filesystem列出来

       df   -l   目录  查看指定目录的容量

       df   -h  以容易辨认的方式显示余量

       df  -ih  查看partition中可用的inode剩余量与总容

      du:评估文件系统的磁盘使用量(常用在推估目录所占容量)

      linux的磁盘管理 4.11

 ln -s   源文件名字  链接文件名    创建软链接 

 ln       源文件名字  链接文件名    创建实体链接

 软链接和实体链接

linux的磁盘管理 4.11

实体链接的原理:文件会复制一份,多个文件对应一个inode。

linux的磁盘管理 4.11

软链接只是创建一个指向文件的文件,inode不相同。

当我们创建一个 新的目录时, 新的目录的 link 数为 2 (目录本身和目录/.),而上一级目录的 link 数则会添 加 1(目录/ . .) 。

ls  -ld 目录  查看目录的链接数目

5. 磁盘的分割、格式化、检验与挂载

  类比windows中的分盘,先分区,分区之后进行格式化,linux中需要挂在这一步骤。

  系统中加入一个新的系统磁盘

(1)磁盘的分割

  linux的磁盘管理 4.11

将新的盘加入之后,重启系统,然后进行操作。

linux的磁盘管理 4.11

一般来说创建分割槽的形式会有底下的数种状况:

 1-4 号尚有剩余,且系统未有 extended:此时会出现让你挑选 Primary / Extended 的项目,且你可以指定 1~4 号间的号码; 

 1-4 号尚有剩余,且系统有 extended:此时会出现让你挑选 Primary / Logical 的项目;若选择 p 则你还需要指定 1~4 号间的号 码; 若选择 l(L的小写) 则不需要配置号码,因为系统会自动指定逻辑 分割槽的文件名号码; 

 1-4 没有剩余,且系统有 extended:此时不会让你挑选分割槽类型 ,直接会进入 logical 的分割槽形式。 

(2)磁盘的格式化

  linux的磁盘管理 4.11

  硬件系统出现意外问题后可能导致文件系统错乱,使用此命令:

linux的磁盘管理 4.11

 (3)磁盘的挂载与卸除

   挂载前注意的事情: 

   单一文件系统不应该被重复挂载在不同的挂载点(目录)中 

   单一目录不应该重复挂载多个文件系统; 

   要作为挂载点的目录,理论上应该都是空目录才是。

   挂载:mount [-t 文件系统] [-L Label名] [-o 额外选项] \[-n]  装置文件名 挂载点 

  选项与参数: -a:依照配置文件 /etc/fstab 的数据将所有未挂载的磁盘都挂载上来 

                        -l:单纯的输入 mount 会显示目前挂载的信息。加上 -l 可增列 Label 名称! 

                        -t:与 mkfs 的选项非常类似的,可以加上文件系统种类来指定欲挂载 的类型。

                        -n:在默认的情况下,系统会将实际挂载的情况实时写入 /etc/mtab 中 ,以利其他程序 的运行。但在某些情况                           下(例如单人维护模式)为了避免 问题,会刻意不写入。此时就得要使用这个 -n 的选项了。 

                       -L:系统除了利用装置文件名 (例如 /dev/hdc6) 之外,还可以利用文件 系统的标头名称(Label)来进行挂载。 

                       -o:后面可以接一些挂载时额外加上的参数!比方说账号、密码、读写 权限等

linux的磁盘管理 4.11

 要想开机自动挂载,则需要配置 /etc/fstab

linux的磁盘管理 4.11


 linux的磁盘管理 4.11


   第一栏:磁盘装置文件名或该装置的 Label

   第二栏:挂载点 (mount point)

   第三栏:磁盘分区槽的文件系统: 

   第四栏:文件系统参数

   第五栏:能否被 dump 备份命令作用: dump 是一个用来做为备份的命令, 我们可以透过 fstab 指定哪个文件 系统必须要进   行 dump 备份, 0 代表不要做 dump 备份, 1 代表要每 天进行 dump 的动作。 2 也代表其他不定日期的 dump 备份动作,    通 常这个数值不是 0 就是 1 。

  第六栏:是否以 fsck 检验扇区: 启动的过程中,系统默认会以 fsck检验我们的 filesystem 是否完整 (clean)。 不过,某些      filesystem 是不需要检验的,例如内存置换空间 (swap) ,或者是特殊文件系统例如 /proc 与 /sys 等等。所以,在这个 字段      中,我们可以配置是否要以 fsck 检验该 filesystem 。 0 是不要检 验, 1 表示最早检验(一般只有根目录会配置为 1), 2 也是要   检验,不 过 1 会比较早被检验啦! 一般来说,根目录配置为 1 ,其他的要检验的 filesystem 都配置为 2 就好了。

  linux的磁盘管理 4.11

   挂载卸除

[[email protected] ~]# umount [-fn] 装置文件名或挂载点 

 选项与参数: -f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下; 

                      -n :不升级 /etc/mtab 情况下卸除。