《Linux 简易速速上手小册》第6章: 磁盘管理与文件系统(2024 最新版)

简介: 《Linux 简易速速上手小册》第6章: 磁盘管理与文件系统(2024 最新版)

7443eb4abd0a02d948a622c83b1672a.png

6.1 磁盘分区与格式化

探索 Linux 的磁盘分区与格式化就像是准备一块未开垦的土地,将其分割成不同用途的区域并进行耕种,以便它能够存储丰富的数据作物。让我们深入了解如何高效地管理这片土地。

6.1.1 重点基础知识

  • 磁盘分区: 分区就是将物理硬盘划分成逻辑部分,每个部分可以独立使用。这有助于数据管理和优化存储空间使用。fdiskparted 是常用的分区工具,前者更传统,后者功能更全面且支持更大的存储。
  • 文件系统格式化: 格式化是在分区上创建文件系统的过程,它决定了数据如何存储和检索。常见的文件系统类型有 ext4、XFS、Btrfs 等。使用 mkfs 命令配合具体的文件系统类型,如 mkfs.ext4,来格式化分区。

6.1.2 重点案例:为新硬盘配置分区和文件系统

假设你添加了一块新硬盘到你的 Linux 系统中,现在需要将其分区并格式化,以存储备份数据。

  1. 检查新硬盘:
    使用 lsblk 查看已连接的存储设备和它们的分区情况。
lsblk
  1. 分区新硬盘:
    假设新硬盘被识别为 /dev/sdb,使用 fdiskparted 对其进行分区。
sudo fdisk /dev/sdb
  1. fdisk 的交互式菜单中,创建一个新分区,并按照提示操作。
  2. 格式化新分区:
    假设你创建的新分区为 /dev/sdb1,使用 mkfs.ext4 命令对其进行格式化。
sudo mkfs.ext4 /dev/sdb1
  1. 挂载新分区:
    创建一个挂载点并挂载新分区。
sudo mkdir /mnt/newdisk
sudo mount /dev/sdb1 /mnt/newdisk

6.1.3 拓展案例 1:创建交换分区

对于需要增加虚拟内存的系统,你可以将一部分硬盘空间划分为交换分区。

sudo mkswap /dev/sdb2
sudo swapon /dev/sdb2

假设 /dev/sdb2 是为交换空间预留的分区。

6.1.4 拓展案例 2:使用 LVM 管理分区

逻辑卷管理(LVM)允许更灵活的分区管理,比如动态调整分区大小。首先创建物理卷(PV),然后创建卷组(VG),最后创建逻辑卷(LV)并格式化。

sudo pvcreate /dev/sdb3
sudo vgcreate vgbackup /dev/sdb3
sudo lvcreate -n lvbackup -l 100%FREE vgbackup
sudo mkfs.ext4 /dev/vgbackup/lvbackup

通过理解和应用这些分区与格式化的知识和技能,你就能够更好地管理你的存储资源,无论是为新硬盘准备数据存储区,还是优化现有的存储结构。这些技能对于维护一个健康、高效的 Linux 系统至关重要。


6.2 挂载与卸载文件系统

在 Linux 的世界里,挂载是将文件系统连接到主文件树的过程,而卸载则是这一过程的逆操作。这就像是把一本新书放回书架的正确位置,或者从书架上取下一本书来阅读。理解挂载和卸载的概念及操作对于管理存储设备和访问数据至关重要。

6.2.1 重点基础知识

  • 挂载(Mounting): 将一个文件系统附加到当前目录结构的指定位置。这使得你可以访问存储在物理设备上的数据。使用 mount 命令可以实现这一点。
  • 卸载(Unmounting): 与挂载相反,卸载是从文件系统结构中移除一个已挂载的文件系统。这通常在你不再需要访问该文件系统的数据或需要移除物理设备之前进行。使用 umount 命令来执行卸载操作。
  • 自动挂载: 在系统启动时自动挂载文件系统,这通常通过编辑 /etc/fstab 文件来实现。

6.2.2 重点案例:挂载新的硬盘分区

假设你刚刚添加了一块新硬盘到服务器,创建了一个分区 /dev/sdb1 并格式化为 ext4 文件系统,现在需要将其挂载到 /data 目录以存储日志文件。

  1. 创建挂载点:
sudo mkdir /data
  1. 手动挂载分区:
sudo mount /dev/sdb1 /data
  1. 验证挂载:
    使用 df -hmount 命令查看分区是否成功挂载到 /data
  2. 配置自动挂载:
    编辑 /etc/fstab 文件,添加一行以确保在系统重启后自动挂载 /dev/sdb1
/dev/sdb1 /data ext4 defaults 0 2

6.2.3 拓展案例 1:挂载网络文件系统(NFS)

在多服务器环境中,你可能需要从一台服务器访问另一台服务器上的文件。假设有一个 NFS 共享需要挂载:

sudo mount -t nfs server:/path/to/share /mnt/nfs_share

这允许你通过 /mnt/nfs_share 访问远程共享的数据。

6.2.4 拓展案例 2:使用 UUID 挂载分区

为了避免设备名变化导致的挂载错误,推荐使用 UUID(Universally Unique Identifier)来标识分区。首先使用 blkid 命令找到分区的 UUID,然后在 /etc/fstab 中使用这个 UUID:

UUID=1234-5678 /data ext4 defaults 0 2

这样可以更稳定可靠地自动挂载分区。

通过掌握挂载与卸载文件系统的技巧,你就能更灵活地管理 Linux 系统的存储资源,无论是本地硬盘、移动存储设备还是网络存储,都能轻松应对。这是每个 Linux 用户和系统管理员必备的技能之一,有助于确保数据的可访问性和系统的稳定性。


6.3 磁盘配额与管理

在 Linux 的磁盘管理剧场中,配额(Quota)是一位严格但公平的导演,确保每个参与者都在他们的角色范围内表演,没有人会过度占用舞台(磁盘空间)。磁盘配额允许系统管理员控制用户和群组可以使用的磁盘空间和文件数量。这就像是给每个用户或部门分配一个特定大小的仓库空间,确保资源的公平使用。

6.3.1 重点基础知识

  • 用户和群组配额:Linux 系统允许对用户和群组设置磁盘配额,这包括硬限制(绝对的上限,不能超过)和软限制(可以暂时超过,但会有警告)。
  • 设置和检查配额quota 命令用于检查磁盘配额使用情况,而 quotacheck 用于扫描文件系统以建立、检查和修复配额文件。edquota 是编辑配额的工具。
  • 启用配额:在文件系统上启用配额涉及到编辑 /etc/fstab 文件,并使用 quotaon 命令启用。

6.3.2 重点案例:为部门设置磁盘配额

假设你是 IT 管理员,需要为营销部门设置磁盘配额,以避免单个用户或项目占用过多存储资源。

  1. 启用文件系统配额:
    编辑 /etc/fstab,为营销部门使用的文件系统添加 usrquotagrpquota 选项。
/dev/sdb1 /data ext4 defaults,usrquota,grpquota 0 2
  1. 重新挂载文件系统:
    应用更改并启用配额。
sudo mount -o remount /data
  1. 创建和初始化配额:
    使用 quotacheck 初始化配额文件,并生成配额报告。
sudo quotacheck -avugm
  1. 编辑配额限制:
    为营销部门的群组 marketing 设置配额。
sudo edquota -g marketing
  1. 在编辑器中,设置硬限制和软限制的磁盘使用量和文件数量。

6.3.3 拓展案例 1:临时增加配额

如果营销部门在进行一个大型项目,需要临时增加存储空间,你可以使用 edquota 调整他们的配额限制,项目结束后再调整回去。

6.3.4 拓展案例 2:自动警告超额使用

通过配置配额系统发送超额使用警告,可以让用户自觉管理他们的磁盘使用。这可以通过设置软限制并利用 warnquota 工具实现。

sudo warnquota

这个命令可以配置为定期运行,以邮件形式通知用户他们的磁盘使用情况。

6.3.5 拓展案例 3:监控磁盘使用情况

对于管理员来说,定期监控磁盘使用情况是很重要的。使用 repquota 命令可以生成整个文件系统的配额使用报告。

sudo repquota /data

通过实施磁盘配额,管理员可以有效管理系统资源,预防因少数用户或程序过度使用磁盘空间而导致的资源不足问题,确保系统的稳定运行和数据的安全存储。掌握磁盘配额与管理技巧对于维护一个高效、公平的存储环境至关重要。

目录
相关文章
|
2月前
|
Ubuntu Linux Shell
Linux系统中如何查看磁盘情况
【9月更文挑战第3天】在Linux系统中,有多种方式查看磁盘情况。可通过命令行工具`df`查看文件系统磁盘使用情况,选项`-h`以人类可读格式显示,`-T`显示文件系统类型;`du`命令显示目录或文件磁盘使用情况,`-h`以人类可读格式显示,`-s`仅显示总计;`fdisk -l`列出磁盘和分区信息。此外,图形界面的磁盘管理工具和文件管理器也可用于查看磁盘使用情况。这些方法有助于更好地管理磁盘空间。
401 4
|
26天前
|
Unix Linux 对象存储
Linux 磁盘管理
Linux 磁盘管理
28 1
|
2月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
26天前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
47 0
|
26天前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
34 0
|
2月前
|
存储 Linux 索引
Linux 下最主流的文件系统格式——ext
【9月更文挑战第8天】硬盘被划分为若干相同大小的块(Block),默认大小为4K,便于灵活管理文件数据。文件数据分散存放于这些块中,提高了数据添加、删除和插入的便利性。
|
3月前
|
编解码 Linux 程序员
深度探索Linux操作系统 —— 构建根文件系统2
深度探索Linux操作系统 —— 构建根文件系统
43 12
|
3月前
|
Linux Shell 网络安全
深度探索Linux操作系统 —— 构建根文件系统1
深度探索Linux操作系统 —— 构建根文件系统
48 6
|
3月前
|
存储 人工智能 数据管理
深入理解Linux操作系统之文件系统管理探索人工智能:从理论到实践的旅程
【8月更文挑战第30天】在探索Linux的无限可能时,我们不可避免地会遇到文件系统管理这一核心话题。本文将深入浅出地介绍Linux文件系统的基础知识、操作命令及高级技巧,帮助你更有效地管理和维护你的系统。从基础概念到实践应用,我们将一步步揭开Linux文件系统的神秘面纱。
|
3月前
|
存储 监控 Linux