- 一个可以被挂载的数据通常称为『文件系统, filesystem』而不是硬盘分区
- 基本上 Linux 的传统文件系统为 Ext2 ,该文件系统内的信息主要有:
- 超级区块superblock:记录此文件系统filesystem 的整体信息,包括inode/区块block的总量、使用量、剩余量, 以及文件系统的格式与相关信息等;
- inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的 区块block 号码;
- 数据区块:实际记录文件的内容,若文件太大时,会占用多个数据区块block 。
- Ext2 文件系统的数据存取为索引式文件系统(indexed allocation)
- 需要碎片整理的原因就是文件写入的数据区块block 太过于离散了,此时文件读取的效能将会变的很差所致。 这个时候可以透过碎片整理将同一个文件所属的 数据区块blocks 汇整在一起。
- Ext2文件系统主要有:引导扇区boot sector,超级区块 superblock, inode对照表inode bitmap, 区块对照表block bitmap, inode表inode table, 数据区块data block 等六大部分。
- 数据区块data block 是用来放置文件内容数据地方,在 Ext2 文件系统中所支援的 block 大小有 1K, 2K 及 4K 三种而已
- inode 记录文件的属性/权限等数据,其他重要特性为: 每个 inode 大小均为固定,有 128/256 bytes 两种基本容量。每个文件都仅会占用一个 inode 而已; 因此文件系统能够建立的文件数量与 inode 的数量有关;
- 文件的数据区块在记录文件的实际数据,目录的数据区块则在记录该目录底下文件名与其 inode 号码的对照表;
- 日志式文件系统 (journal) 会多出一块记录区,随时记载文件系统的主要活动,可加快系统复原时间;
- Linux 文件系统为增加效性能,会让内存作为磁盘高速缓存;
- 硬链接只是多了一个文件名对该 inode 号码的链接而已;
- 符号链接就类似Windows的快捷方式功能。
- 磁盘的使用必需要经过:分区、格式化与挂载,分别惯用的指令为:gdisk, mkfs, mount三个指令
- 分区时,应使用 parted 检查分割表格式,再判断使用 fdisk/gdisk 来分割,或直接使用 parted 分割
- 为了考虑效能,XFS 文件系统格式化时,可以考虑加上 agcount/su/sw/extsize 等参数较佳
- 如果磁碟已无未分区的容量,可以考虑使用大型文件取代磁碟装置的处理方式,透过 dd 与格式化功能。
- 开机自动挂载可参考/etc/fstab之设定,设定完毕务必使用 mount -a 测试语法正确否;
#本章所涉及代码命令
ln
ln -s
lsblk
lkid
parted
dumpe2fs
xfs_info
df
du
gdisk / fdisk
partprobe
mkfs.xfs
mkfs.ext4
mkfs
xfs_repair
fsck.ext4
mount
umount
xfs_admin
tune2fs