跳转到内容

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 文件系统类型。 (主要用于大型 hdd 分区)
  • 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


华夏公益教科书