管理 Azure Linux 上的存储和文件系统

Azure Linux 虚拟机(VM)通常以 ext4 作为根文件系统进行部署。 其他文件系统(例如 xfsbtrfs)可用于额外磁盘或非根卷,以满足工作负载的需求。

本文介绍如何识别 Azure Linux 系统上的文件系统、发现可用于安装的文件系统包、使用标准实用工具管理 ext4 和其他文件系统,并在下一次启动时强制文件系统检查。

Note

Azure Linux 4.0 现在位于 preview 中,严格限制为评估和测试目的。 它不适合生产用途。

先决条件

  • 可以使用 shell 访问进行身份验证的 Azure Linux 系统。
  • 具有 sudo 特权的用户帐户,这是创建或修复文件系统、修改分区以及强制启动文件系统检查所必需的。

标识根文件系统

使用以下命令标识当前用于根卷 (/) 的文件系统类型:

df -T /

以下示例显示了对根文件系统使用 ext4 的 Azure Linux VM 上的典型输出:

文件系统 类型 1K-块 已用 可用 使用% 挂载点 /dev/sda2 ext4 30681648 1870824 27231892 7% /

Type列显示文件系统类型,而Mounted on列确认文件系统已挂载到/

发现可用的文件系统包

Azure Linux 开箱即用地支持 ext4。 若要发现可用于安装的其他文件系统相关包,请使用xfsprogsbtrfs-progs以下命令:

dnf search filesystem | grep -Ei "fs|ext4|xfs|btrfs"

输出列出了名称或摘要中提到文件系统的软件包,为选择适用于额外磁盘的正确文件系统及相关工具提供了一个起点。

文件系统管理实用工具

Azure Linux 包括用于创建、检查、修复和优化文件系统的标准 Linux 文件系统实用工具。

ext4 实用工具 (e2fsprogs

e2fsprogs 包提供用于管理 ext4 文件系统的标准实用工具套件。 关键命令包括:

  • mkfs.ext4:在磁盘或分区上创建新的 ext4 文件系统。
  • fsck.ext4:检查并修复 ext4 文件系统的完整性。
  • tune2fs:调整 ext4 参数,例如保留块百分比和日记选项。

常规磁盘和文件系统实用工具

以下实用工具适用于任何文件系统,可用于管理磁盘、分区和装载:

  • parted:支持 GPT 和 MBR 布局的分区管理工具,包括创建和调整分区大小。
  • gdisk:交互式 GPT 分区表编辑器。
  • lsblk:以树状视图列出块设备及其关系。
  • blkid:显示每个块设备的文件系统类型和 UUID。
  • df:显示已装载文件系统的磁盘空间使用情况。
  • du:显示文件和目录的磁盘空间使用情况。
  • mount:将文件系统装载到指定的装入点。
  • umount:卸载以前装载的文件系统。
  • fsck:通用文件系统检查包装器,用于调用相应的文件系统专用检查器,例如 fsck.ext4

在下一次启动时强制文件系统检查

如果需要从可疑的损坏中恢复或验证根文件系统的完整性,可以要求系统下次启动时运行fsck/,然后再装载根文件系统。

使用以下命令在下次启动时强制文件系统检查:

sudo touch /forcefsck
sudo reboot

系统启动时,它会检测 /forcefsck 标志文件,针对根文件系统运行 fsck ,然后自动删除标志文件。 这对于从可疑损坏中恢复或在意外关闭后验证文件系统完整性非常有用。

警告

强制 fsck 对于大型文件系统可能会耗费相当长的时间,在此期间虚拟机不可用。 在维护时段内计划此操作。

有关详细信息,请参阅以下上游资源:

  • ext4 文件系统文档:文件系统的 ext4 上游 Linux 内核文档,包括功能、优化选项和磁盘格式。