《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月前
|
存储 监控 Linux
Linux: 检测磁盘坏块 你得会吧!
Linux: 检测磁盘坏块 你得会吧!
148 19
Linux: 检测磁盘坏块 你得会吧!
|
1月前
|
Linux
在线对Linux进行磁盘扩容的技术指南。
综上所述,Linux磁盘扩容的过程,重要的不仅是技术,更是对每一步骤的深刻理解和投入的爱心。只要手握正确的工具,我们不仅能满足"孩子"的成长需求,还能享受其中的乐趣和成就。
98 10
|
2月前
|
监控 固态存储 Linux
如何判断Linux磁盘是SSD还是HDD?
总的来说,判断磁盘是SSD还是HDD并不复杂,只需要使用正确的命令和方法,就可以轻松得到结果。希望这些信息对你有所帮助,如果你还有其他问题,欢迎随时提问。
278 15
|
3月前
|
自然语言处理 监控 Linux
Linux 内核源码分析---proc 文件系统
`proc`文件系统是Linux内核中一个灵活而强大的工具,提供了一个与内核数据结构交互的接口。通过本文的分析,我们深入探讨了 `proc`文件系统的实现原理,包括其初始化、文件的创建与操作、动态内容生成等方面。通过对这些内容的理解,开发者可以更好地利用 `proc`文件系统来监控和调试内核,同时也为系统管理提供了便利的工具。
142 16
|
3月前
|
Linux
Linux系统ext4磁盘扩容实践指南
这个过程就像是给你的房子建一个新的储物间。你需要先找到空地(创建新的分区),然后建造储物间(格式化为ext4文件系统),最后将储物间添加到你的房子中(将新的分区添加到文件系统中)。完成这些步骤后,你就有了一个更大的储物空间。
322 10
|
5月前
|
Ubuntu Linux 网络安全
Linux磁盘挂接教程
Linux磁盘挂接教程
126 14
|
5月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
311 15
|
6月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
1027 7
|
6月前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
142 7
|
6月前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。