存储结构与磁盘划分

一切从’/‘开始

文件存储层次结构

物理设备的命名规则

Linux系统中一切皆文件,硬件设备也不例外。

常见的硬件设备及其文件名称

文件系统与数据资料

常见的文件系统

  • Ext3:是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复。
  • Ext4:Ext3 的改进版本,作为RHEL 6 系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4 文件系统能够批量分配block 块,从而极大地提高了读写效率。
  • XFS:是一种高性能的日志文件系统,而且是RHEL 7 中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需求。

Linux系统内有一个名为“super block”的硬盘,记录着整个文件系统的信息,不过只是把每个文件的权限与属性记录在inode,而且每个文件独占一个独立的inode,大小默认128字节记录如下:

  • 该文件的访问权限(read、write、execute)

  • 该文件的所有者与所属组(owner、group)

  • 该文件的大小(size)

  • 该文件的创建或内容修改时间(ctime)

  • 该文件的最后一次访问时间(atime)

  • 该文件的修改时间(mtime)

  • 文件的特殊权限(SUID、SGID、SBIT)

  • 该文件的真实数据地址(point)

挂载硬件设备

mount命令

用于挂载文件系统,格式为”mount 文件系统 挂载目录”。

mount命令中的参数以及作用

for example

1
mount /dev/sdb2 backup

但是重启之后就需要从新挂载,想要永久的挂载,就要把挂载信息填入/etc/fstab文件中,按照“设备文件 挂载目录 格式类型 权限选项 自检 优先级”的方式。

umount命令

用于撤销已经挂载的设备文件,格式为”umount 挂载点/设备文件”。

for example

1
umount /dev/sdb2

管理硬盘设备

fdisk命令

用于管理磁盘分区,格式为”fdisk 磁盘名称”。

du命令

用于查看文件数据占用量的du命令,格式为”du 选项 文件”

1
du -sh /*

磁盘容量配额

  • 软限制:当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使用。
  • 硬限制:当达到硬限制时会提示用户,且强制终止用户的操作。

xfs_quota命令

专门针对XFS文件系统来管理quote磁盘容量配额服务而设计的命令,格式为”quote 参数 配额 文件系统”。

for example:硬盘使用量的软限制和硬限制分别为3MB和6MB,创建文件数量的软限制和硬限制分别为3 个和6 个。

1
2
xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6
tom' /boot

edquote命令

用于编辑用户的quote配额限制,格式为”edquote 参数 用户”。其中,-u
参数表示要针对哪个用户进行设置;-g 参数表示要针对哪个用户组进行设置。edquota 命令会调用Vi 或Vim 编辑器来让root 管理员修改要限制的具体细节。

软硬方式链接

  • 硬链接(hard link):可以将它理解为一个“指向原始文件inode 的指针”,系统不为它分配独立的inode 和文件。所以,硬链接文件与原始文件其实是同一个文件,只是名字不同。我们每添加一个硬链接,该文件的inode 连接数就会增加1;而且只有当该文件的inode 连接数为0 时,才算彻底将它删除。换言之,由于硬链接实际上是指向原文件inode 的指针,因此即便原始文件被删除,依然可以通过硬链接文件来访问。需要注意的是,由于技术的局限性,我们不能跨分区对目录文件进行链接。
  • 软链接(也称为符号链接[symbolic link]):仅仅包含所链接文件的路径名,因此能链接目录文件,也可以跨越文件系统进行链接。但是,当原始文件被删除后,链接文件也将失效,从这一点上来说与Windows 系统中的“快捷方式”具有一样的性质。

ln命令

用于创建链接文件,格式为”ln 选项 目标”。