跳转到内容

LPI Linux 认证/创建分区和文件系统

来自维基教科书,开放世界中的开放书籍

详细目标

[编辑 | 编辑源代码]

(LPIC-1 版本 5.0)

权重:2

描述: 候选人应该能够配置磁盘分区,然后在硬盘等介质上创建文件系统。这包括交换分区的处理。

关键知识领域

  • 管理 MBR 和 GPT 分区表
  • 使用各种 mkfs 命令来设置分区并创建各种文件系统,例如
    • ext2/ext3/ext4
    • XFS
    • VFAT
    • exFAT
  • Btrfs 的基本功能知识,包括多设备文件系统、压缩和子卷。

以下是使用的文件、术语和实用程序的局部列表

  • fdisk
  • gdisk
  • parted
  • mkfs
  • mkswap

媒体可以划分为分区。分区通常在安装时创建,但也可以使用 fdisk 程序或其他实用程序创建。这将把媒体划分为分区,在这些分区中可以构建不同的文件系统并安装不同的操作系统。

IDE 的识别方式如下

  • 主盘
/dev/hda  : 整个磁盘
/dev/hda1: 第一个分区
/dev/hda2: 第二个分区
  • 从盘:/dev/hdb
  • 次主盘:/dev/hdc
  • 次从盘:/dev/hdd

SCSI 的识别方式如下

  • ID1
/dev/sda: 整个磁盘
/dev/sda1: 第一个分区
  • ID2: /dev/sdb

个人电脑系统不支持超过四个主分区,为了克服这个限制,使用了扩展分区的概念。

  • 硬盘
/dev/sda1 : 第一个主分区
/dev/sda2 : 第二个主分区
/dev/sda3 : 第三个主分区
/dev/sda4 : 扩展分区
/dev/sda5 : 第一个扩展/逻辑分区
/dev/sda6 : 第二个扩展/逻辑分区

USB 和 FireWire 磁盘被识别为 SCSI 磁盘。

分区完成后,可以在每个分区上构建文件系统。

文件系统

[编辑 | 编辑源代码]

文件系统的存在是为了让你在介质上存储、检索和操作数据。文件系统维护一个内部数据结构(元数据),它将你的所有数据保持组织和可访问。此元数据的结构赋予了文件系统的特性。文件系统通过组织的元数据结构被驱动程序访问。当 Linux 启动时,它会读取 /etc/fstab 中所有需要挂载的文件系统,并检查它们是否处于可用状态。

当出现电源故障时,Linux 将无法正确卸载文件系统,并且缓存中的某些数据将无法同步到介质上。

因此,元数据可能会损坏。

重新启动系统后,它会检测到这一点,并对整个元数据结构进行 fsck 以进行一致性检查。这可能需要很长时间。几分钟到几小时,与媒体大小成正比。对文件系统进行日志记录是在磁盘上添加一个称为日志的新数据结构。在驱动程序对元数据进行任何修改之前,它首先被写入日志中。在每次元数据修改之前,日志都会维护下一个操作的日志。

现在,当出现电源故障时,只需要检查日志即可。日志文件系统的恢复非常快。它只需要遍历日志并修复最新的操作即可。日志文件系统的恢复可能只需要几秒钟。

在集群系统中,日志记录允许快速恢复已关闭节点的共享分区。

Linux 文件系统

[编辑 | 编辑源代码]
  • ext2: 旧的、非常稳定的 Linux 文件系统。对于大于 ~2-3K 的文件来说,效率很高。
  • ext3: ext2 的日志记录扩展。可以将文件系统在 ext2 和 ext3 之间来回移动。
  • Reiserfs: 日志记录文件系统。在操作小文件时,比 ext2 快 8-15 倍。
  • XFS: 一个功能强大的日志记录文件系统,具有配额和 ACL 选项。
  • Msdos: MS-Windows FAT 文件系统类型。 (主要用于软盘)
  • Vfat: MS-Windows FAT 文件系统类型。 (主要用于大型硬盘分区)
  • NTFS(只读但循环文件): MS-Windows 日志记录文件系统
  • SMBFS: 从 Linux 挂载 Windows 或 Samba 共享的文件系统
  • NFS: 网络文件系统

...

文件系统树

[编辑 | 编辑源代码]

Linux 文件系统有一个名为根 (/) 的顶级目录,其中存储了整个系统的所有子目录。子目录可以是另一个分区、远程目录或通过 NFS 协议访问的远程分区。

创建文件系统

[编辑 | 编辑源代码]

要在分区上创建文件系统,请使用 mkfs。

mkfs [options] -t [fstype] device [blocksize]

常用选项

-t: fstype: 文件系统类型。
-c : 在构建文件系统之前检查设备是否有坏块。

整个分区将被擦除并组织成请求的文件系统类型。没有撤销命令。fstype 可能的值是:msdos、ext2、ext3、reiserfs、minix、xfs

块大小允许你自定义文件系统的块大小。

示例

mkfs -t msdos /dev/fd0
mkfs -t reiserfs /dev/hdd1  4096

创建扩展文件系统

[编辑 | 编辑源代码]

要在分区上创建扩展(ext2、ext3)文件系统,请使用 mke2fs。

mke2fs [options] device [blocksize]

常用选项

-b: 指定块大小fstype: 文件系统类型。
-c : 在构建文件系统之前检查设备是否有坏块。
-j: 创建带有 ext3 日志的文件系统。
-L: 设置文件系统的卷标。

使用 mke2fs 可以将超级块和日志信息存储在另一个设备上。示例

mkefs -b 2048 /dev/fd0 -L floppy
mkfs -V
mke2fs 1.26 (3-Feb-2002) Using EXT2FS Library version 1.263

监控磁盘使用情况

[编辑 | 编辑源代码]

要打印磁盘使用情况,请使用 du。

du [options] [files...]

常用选项

-a: 所有文件,不仅仅是目录
-b: 以字节为单位打印大小
-c: 总计
-h: 人类可读的格式。 (1K、20M、...)

示例

$ du -ch Documents
112k    Documents/Cours/LPI101
4.0k    Documents/Cours/LPI102
4.0k    Documents/Cours/LPI201
4.0k    Documents/Cours/LPI202
124k    total
du -sk ~ # Sums up your total disk usage in kilobytes
du -ak ~ | sort -n | more # Display every file and its disk space in numerical order.

文件系统磁盘空间

[编辑 | 编辑源代码]

文件系统由元数据结构和块列表组成。要打印文件系统磁盘空间使用情况,请使用 df。

df [options] [files...]

常用选项

-a: 列出所有包含 0 个块的文件系统。
-t: 限制列出的文件系统类型。
-h: 人类可读的格式。 (1K、20M、...)
-i: 列出 inode 信息,而不是块使用情况。

示例

$ df -t reiserfs -h
F           1k-blocks      Used Available Use% Mounted on
/dev/hda3             28771528   3121536  25649992  11% /
$ df -t ext2 -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1              15M  3.8M   10M  27% /boot
$ df -ih /boot
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/hda1        126K   402  125K    1% /boot


华夏公益教科书