【Linux】磁盘知识--程序员必知必会

磁盘是硬件,那么在Linux中怎么管理,磁盘为什么需要分区,怎么查看磁盘分区的情况?

在 Linux 中,每个设备都被当成一个文件来对待, 举例来说,SATA 接口的硬盘文件名称是 /dev/sd[a-d],即 /dev/sda、/dev/sdb 等
在这里插入图片描述

  • fdisk -l:列出所有磁盘分区的详细信息。
  • lsblk:以树状结构列出所有块设备(包括磁盘和分区)的信息。
  • df -h:列出所有挂载的文件系统及其使用情况。

Linux 磁盘分区培训文档

1. 介绍

磁盘分区是将物理磁盘划分为一个或多个逻辑部分的过程。这些分区可以用来存储数据、安装操作系统等。

2. 磁盘设备命名

在 Linux 中,磁盘设备通常以 /dev/sdX 的形式表示,其中 X 是字母,代表不同的磁盘设备。例如,/dev/sda/dev/sdb 等。

3. 使用 fdisk 进行磁盘分区

fdisk 是一个常用的命令行工具,用于传统的 MBR(主引导记录)磁盘分区。

  • 查看磁盘信息

    sudo fdisk -l
    
  • 创建新分区

    sudo fdisk /dev/sdX
    
  • 删除分区

    sudo fdisk /dev/sdX
    Command (m for help): d
    
  • 保存并退出

    Command (m for help): w
    

4. 使用 parted 进行磁盘分区

parted 是一个支持 GPT(GUID 分区表)的工具,用于新一代磁盘分区。

  • 创建新分区
    sudo parted /dev/sdX
    (parted) mklabel gpt
    (parted) mkpart primary ext4 1MiB 100%
    

5. 格式化分区

一旦创建了分区,需要对其进行格式化以便文件系统使用。

  • 格式化为 ext4 文件系统
    sudo mkfs.ext4 /dev/sdXY
    

6. 挂载分区

挂载是将分区连接到文件系统中的特定目录的过程。

  • 手动挂载

    sudo mount /dev/sdXY /mnt/mydisk
    
  • 自动挂载
    /etc/fstab 文件中添加条目。

7. 查看挂载

  • 使用 df

    df -h
    
  • 使用 mount

    mount
    

8. 注意事项

  • 在进行任何磁盘操作之前,请务必备份重要数据。
  • 谨慎操作,确保正确选择磁盘设备和分区大小。

9. 总结

通过本文档,您应该了解了如何在 Linux 系统中进行磁盘分区、格式化和挂载。记得随时查阅相关文档和参考资料,以获取更多详细信息和帮助。


这份文档提供了一些基础知识和简单步骤,以帮助您了解 Linux 磁盘分区的基本概念和操作。


lsblk命令详解

这是 lsblk 命令的输出,它用于列出块设备(如磁盘)的信息。让我们来解释一下这个输出:

  • NAME:设备的名称。
  • MAJ:MIN:主设备号和次设备号,用于唯一标识设备。
  • RM:可移动设备标志。0 表示非可移动设备,1 表示可移动设备。
  • SIZE:设备的大小。
  • RO:只读标志。0 表示可读写,1 表示只读。
  • TYPE:设备类型,如磁盘(disk)、分区(part)等。
  • MOUNTPOINT挂载点,如果设备已经挂载。

以下是对每个字段的详细解释:

  • NAME:设备的名称。这是设备的唯一标识符,通常以 /dev/ 开头,例如 /dev/sda/dev/sdb1

  • MAJ:MIN:主设备号和次设备号,用于唯一标识设备。主设备号表示设备类型,次设备号用于区分同一类型的不同设备。例如,主设备号为 11 表示块设备,次设备号为 0 表示第一个 SCSI 设备,因此 11:0 表示 /dev/sda

  • RM:可移动设备标志。0 表示非可移动设备,1 表示可移动设备。可移动设备是指可以插拔的设备,例如 USB 闪存驱动器。这个标志表示设备是否可以被安全地移除。

  • SIZE:设备的大小。通常以字节、千字节、兆字节或其他容量单位表示。例如,100G 表示 100GB。

  • RO:只读标志。0 表示设备可读写,1 表示设备只读。如果设备是只读的,则不能对其进行写操作,只能读取其中的数据。

  • TYPE:设备类型。表示设备的类型,常见的类型包括磁盘(disk)、分区(part)、光盘驱动器(rom)、循环设备(loop)等。

  • MOUNTPOINT:挂载点。如果设备已经挂载,则显示设备被挂载到的目录路径。如果设备没有被挂载,则显示为空。例如,/mnt/mydisk 表示设备被挂载到 /mnt/mydisk 目录下。

这些字段提供了有关设备的详细信息,帮助用户了解设备的特性和状态。

当挂载点为空时,表示该设备当前没有被挂载到文件系统中的任何目录。这通常有以下几种情况和含义:
在这里插入图片描述

  1. 未挂载状态:设备尚未被挂载到文件系统中的任何目录。这可能是因为管理员尚未手动挂载该设备,或者在系统启动时没有自动挂载。

  2. 可用空间:设备上的文件系统可用空间可以被用于存储数据,但是用户需要手动挂载设备才能访问这些空间。

  3. 未分配状态:如果设备是一个新的未分区或未格式化的磁盘,它可能没有任何挂载点,因为它尚未被准备好用于存储数据。

  4. 移除设备:如果先前已经挂载了该设备但现在已经被卸载,挂载点可能为空。这可能是因为设备被安全地卸载(例如使用 umount 命令)或设备被物理上移除(例如 USB 设备被拔出)。

在实际操作中,管理员可以根据需要手动挂载设备到文件系统中的特定目录,或者配置系统在启动时自动挂载设备。挂载点为空表示设备尚未被挂载,但可以通过挂载命令将其连接到文件系统中的特定目录。


在磁盘的 TYPE 字段为 part(分区)时,下一个层级为 lvm,表示该分区是一个 LVM(逻辑卷管理)卷组的一部分。

LVM 是一种用于管理磁盘空间的技术,它允许将多个物理磁盘或分区组合成一个逻辑卷组,并从该卷组中创建逻辑卷(也称为逻辑分区)。逻辑卷可以灵活地调整大小,而不需要重新分区磁盘,因此提供了更高的灵活性和可管理性

当一个分区被标记为 lvm 类型时,它表示该分区是一个 LVM 卷组的一部分,用于存储逻辑卷。通常,一个逻辑卷组由多个物理磁盘或分区组成,这些物理磁盘或分区被合并成一个逻辑卷组,然后从中创建逻辑卷来存储数据。

LVM 提供了诸如卷扩展、卷快照、动态分配等功能,使得对磁盘空间的管理更加灵活和方便。通过 LVM,管理员可以更容易地管理和调整存储空间,满足不同应用程序对存储的需求。


现在让我们逐个解释每一行中的内容:

  1. sr0:这是一个光盘驱动器,通常用于 CD 或 DVD。

    • MAJ:MIN:11:0
    • RM:1(表示可移动设备)
    • SIZE:350K
    • TYPE:rom(只读存储器)
    • MOUNTPOINT:已挂载到 /media/sr0
  2. vda:这是一个硬盘设备。

    • MAJ:MIN:252:0
    • RM:0(非可移动设备)
    • SIZE:100G
    • TYPE:disk(磁盘)
    • MOUNTPOINT:未挂载,是整个硬盘设备。
  3. vda1vda2vda3vda4:这些是 vda 硬盘上的分区。

    • vda1/boot 分区,大小为 1G。
    • vda2 是一个 LVM 分区,大小为 66G,其中包含了 system-rootsystem-swap 逻辑卷(LVM)。
    • vda3 是一个分区,大小为 4G。
    • vda4 是一个 LVM 分区,大小为 29G,也包含了一个 system-root 逻辑卷(LVM)。
    • MOUNTPOINTvda2 上挂载了 / 根目录,vda4 上也挂载了 / 根目录。
  4. vdb:这是另一个硬盘设备。

    • MAJ:MIN:252:16
    • RM:0(非可移动设备)
    • SIZE:300G
    • TYPE:disk(磁盘)
    • MOUNTPOINT:未挂载。
  5. vdb1vdb2:这些是 vdb 硬盘上的分区。

    • vdb1 是一个 4G 大小的分区。
    • vdb2 是一个 296G 大小的分区,它包含了一个 data-home 逻辑卷(LVM)。
    • MOUNTPOINTvdb2 上挂载了 /home 目录。
  6. vdc:这是另一个硬盘设备。

    • MAJ:MIN:252:32
    • RM:0(非可移动设备)
    • SIZE:300G
    • TYPE:disk(磁盘)
    • MOUNTPOINT:未挂载。

程序员需要知道的磁盘知识

作为程序员,了解磁盘知识是非常重要的,因为您可能会处理文件操作、数据存储和性能优化等任务。以下是一些程序员需要知道的关键磁盘知识:

  1. 文件系统

    • 文件系统是操作系统用来管理存储设备上文件和目录的方法。常见的文件系统包括 ext4、NTFS、FAT32 等。
    • 程序员需要了解不同文件系统的特性、限制和最佳实践,以确保他们的应用程序在不同的环境中正常运行。
  2. 磁盘分区

    • 磁盘分区是将磁盘划分为多个逻辑部分的过程。每个分区可以被视为一个独立的逻辑卷。
    • 程序员可能需要了解如何在不同操作系统上进行磁盘分区,以及如何管理分区以支持他们的应用程序。
  3. 磁盘挂载

    • 磁盘挂载是将文件系统连接到文件系统树中的特定目录的过程。只有挂载的文件系统才能被访问和使用。
    • 程序员可能需要了解如何手动挂载和自动挂载文件系统,以及如何管理挂载点以便他们的应用程序正确运行。
  4. 磁盘性能

    • 磁盘性能包括磁盘的读取和写入速度,以及磁盘的响应时间等指标。
    • 程序员可能需要了解如何评估和优化磁盘性能,以确保他们的应用程序能够快速和高效地访问存储数据。
  5. 磁盘容量管理

    • 磁盘容量管理涉及监视磁盘使用情况、规划磁盘空间、清理不必要的文件等任务。
    • 程序员可能需要了解如何有效地管理磁盘空间,以确保他们的应用程序不会因为磁盘空间不足而受到影响。
  6. 磁盘安全性

    • 磁盘安全性涉及保护磁盘上存储的数据免受未经授权的访问、意外删除或损坏等威胁。
    • 程序员可能需要了解如何实施数据备份、加密、权限管理等措施,以确保数据的安全性和完整性。

通过了解这些关键的磁盘知识,程序员可以更好地管理和优化存储系统,从而提高他们的应用程序的性能、可靠性和安全性。


为什么磁盘需要分区?

分区是将硬盘划分为多个逻辑存储区域的过程。以下是关于磁盘分区的一些关键概念和原因:

  1. 组织数据:分区有助于更好地组织和管理数据,使文件系统更有序。通过将不同类型的文件或应用程序的数据存储在不同的分区上,可以提高系统的整体性能。

  2. 备份和恢复:分区使得备份和恢复过程更容易。您可以选择只备份一个或几个特定的分区,而不是整个硬盘。此外,如果一个分区出现问题,其他分区可能不受影响,这降低了数据丢失的风险。

  3. 操作系统安装:在多操作系统环境中,每个操作系统通常需要自己的分区。这样,每个系统都有自己的启动扇区和文件系统,避免了它们之间的冲突。

  4. 资源管理:通过分区,您可以更好地控制硬盘空间的使用。例如,您可以为操作系统、应用程序、用户文件等分配不同的分区大小。

  5. 故障隔离:如果一个分区发生故障或损坏,它不会影响其他分区。这提高了系统的稳定性和可靠性。

  6. 性能优化:某些操作系统或应用程序可能受益于特定的分区布局,以提高读写速度。

  7. 安全性:通过将敏感数据放在单独的分区上,您可以限制对这些数据的访问,并在必要时更容易地加密或保护这些分区。

  8. 易于维护:分区可以帮助您更容易地升级或更换硬盘,因为您只需要处理一个或几个分区,而不是整个硬盘。

  9. 便于迁移:如果您需要将系统迁移到新的硬件,分区可以使这个过程更容易,因为您可以只需复制或移动所需的分区。

  10. 磁盘配额:在多用户环境中,分区允许您为每个用户提供特定的磁盘空间配额。

要学习更多关于磁盘分区的知识,建议查阅相关的计算机科学教材、在线教程或专业论坛。了解各种分区方案(如主分区、扩展分区和逻辑驱动器)以及如何在Windows、Linux和macOS等操作系统中创建和管理分区也是很重要的。

磁盘挂载

磁盘挂载是将存储设备(如硬盘、SSD等)连接到操作系统的过程,使其可以被访问和使用。以下是关于磁盘挂载的一些重要概念和知识:

  1. 文件系统:在挂载磁盘之前,必须先在磁盘上创建文件系统。常见的文件系统包括FAT、NTFS、EXT4等。

  2. 挂载点:挂载点是操作系统中的一个目录,用于将磁盘连接到文件系统树中的特定位置。例如,/mnt、/media等。

  3. 设备标识符:每个磁盘都有一个唯一的设备标识符,用于在操作系统中识别和引用该磁盘。在Linux中,设备标识符通常以/dev/开头,如/dev/sda、/dev/nvme0n1等。

  4. 挂载命令:挂载磁盘的过程通常通过使用操作系统提供的挂载命令来完成。在Linux中,常用的挂载命令是mount

  • 43
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值