文章目录
磁盘是硬件,那么在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
目录下。
这些字段提供了有关设备的详细信息,帮助用户了解设备的特性和状态。
当挂载点为空时,表示该设备当前没有被挂载到文件系统中的任何目录。这通常有以下几种情况和含义:
-
未挂载状态:设备尚未被挂载到文件系统中的任何目录。这可能是因为管理员尚未手动挂载该设备,或者在系统启动时没有自动挂载。
-
可用空间:设备上的文件系统可用空间可以被用于存储数据,但是用户需要手动挂载设备才能访问这些空间。
-
未分配状态:如果设备是一个新的未分区或未格式化的磁盘,它可能没有任何挂载点,因为它尚未被准备好用于存储数据。
-
移除设备:如果先前已经挂载了该设备但现在已经被卸载,挂载点可能为空。这可能是因为设备被安全地卸载(例如使用
umount
命令)或设备被物理上移除(例如 USB 设备被拔出)。
在实际操作中,管理员可以根据需要手动挂载设备到文件系统中的特定目录,或者配置系统在启动时自动挂载设备。挂载点为空表示设备尚未被挂载,但可以通过挂载命令将其连接到文件系统中的特定目录。
在磁盘的 TYPE
字段为 part
(分区)时,下一个层级为 lvm
,表示该分区是一个 LVM(逻辑卷管理)卷组
的一部分。
LVM 是一种用于管理磁盘空间的技术,它允许将多个物理磁盘或分区组合成一个逻辑卷组
,并从该卷组中创建逻辑卷(也称为逻辑分区)。逻辑卷可以灵活地调整
大小,而不需要重新分区磁盘
,因此提供了更高的灵活性和可管理性
。
当一个分区被标记为 lvm
类型时,它表示该分区是一个 LVM 卷组的一部分,用于存储逻辑卷。通常,一个逻辑卷组由多个物理磁盘或分区组成,这些物理磁盘或分区被合并成一个逻辑卷组,然后从中创建逻辑卷来存储数据。
LVM 提供了诸如卷扩展、卷快照、动态分配等功能,使得对磁盘空间的管理更加灵活和方便。通过 LVM,管理员可以更容易地管理和调整存储空间,满足不同应用程序对存储的需求。
现在让我们逐个解释每一行中的内容:
-
sr0
:这是一个光盘驱动器,通常用于 CD 或 DVD。MAJ:MIN
:11:0RM
:1(表示可移动设备)SIZE
:350KTYPE
:rom(只读存储器)MOUNTPOINT
:已挂载到/media/sr0
-
vda
:这是一个硬盘设备。MAJ:MIN
:252:0RM
:0(非可移动设备)SIZE
:100GTYPE
:disk(磁盘)MOUNTPOINT
:未挂载,是整个硬盘设备。
-
vda1
、vda2
、vda3
、vda4
:这些是vda
硬盘上的分区。vda1
是/boot
分区,大小为 1G。vda2
是一个 LVM 分区,大小为 66G,其中包含了system-root
和system-swap
逻辑卷(LVM)。vda3
是一个分区,大小为 4G。vda4
是一个 LVM 分区,大小为 29G,也包含了一个system-root
逻辑卷(LVM)。MOUNTPOINT
:vda2
上挂载了/
根目录,vda4
上也挂载了/
根目录。
-
vdb
:这是另一个硬盘设备。MAJ:MIN
:252:16RM
:0(非可移动设备)SIZE
:300GTYPE
:disk(磁盘)MOUNTPOINT
:未挂载。
-
vdb1
、vdb2
:这些是vdb
硬盘上的分区。vdb1
是一个 4G 大小的分区。vdb2
是一个 296G 大小的分区,它包含了一个data-home
逻辑卷(LVM)。MOUNTPOINT
:vdb2
上挂载了/home
目录。
-
vdc
:这是另一个硬盘设备。MAJ:MIN
:252:32RM
:0(非可移动设备)SIZE
:300GTYPE
:disk(磁盘)MOUNTPOINT
:未挂载。
程序员需要知道的磁盘知识
作为程序员,了解磁盘知识是非常重要的,因为您可能会处理文件操作、数据存储和性能优化等任务。以下是一些程序员需要知道的关键磁盘知识:
-
文件系统:
- 文件系统是操作系统用来
管理存储设备上文件和目录
的方法。常见的文件系统包括 ext4、NTFS、FAT32 等。 - 程序员需要了解不同文件系统的特性、限制和最佳实践,以确保他们的应用程序在不同的环境中正常运行。
- 文件系统是操作系统用来
-
磁盘分区:
- 磁盘分区是将磁盘划分为多个逻辑部分的过程。每个分区可以被视为一个独立的逻辑卷。
- 程序员可能需要了解如何在不同操作系统上进行磁盘分区,以及如何管理分区以支持他们的应用程序。
-
磁盘挂载:
- 磁盘挂载是将
文件系统连接到文件系统树中的特定目录
的过程。只有挂载的文件系统才能被访问和使用。 - 程序员可能需要了解如何手动挂载和自动挂载文件系统,以及如何管理挂载点以便他们的应用程序正确运行。
- 磁盘挂载是将
-
磁盘性能:
- 磁盘性能包括磁盘的读取和写入速度,以及磁盘的响应时间等指标。
- 程序员可能需要了解如何评估和优化磁盘性能,以确保他们的应用程序能够快速和高效地访问存储数据。
-
磁盘容量管理:
- 磁盘容量管理涉及
监视磁盘使用情况、规划磁盘空间、清理不必要的文件
等任务。 - 程序员可能需要了解如何有效地管理磁盘空间,以确保他们的应用程序不会因为磁盘空间不足而受到影响。
- 磁盘容量管理涉及
-
磁盘安全性:
- 磁盘安全性涉及保护磁盘上存储的数据免受未经授权的访问、意外删除或损坏等威胁。
- 程序员可能需要了解如何实施数据备份、加密、权限管理等措施,以确保数据的安全性和完整性。
通过了解这些关键的磁盘知识,程序员可以更好地管理和优化存储系统,从而提高他们的应用程序的性能、可靠性和安全性。
为什么磁盘需要分区?
分区是将硬盘划分为多个逻辑存储区域的过程。以下是关于磁盘分区的一些关键概念和原因:
-
组织数据:分区有助于更好地组织和管理数据,使文件系统更有序。通过将不同类型的文件或应用程序的数据存储在不同的分区上,可以提高系统的整体性能。
-
备份和恢复:分区使得备份和恢复过程更容易。您可以选择只备份一个或几个特定的分区,而不是整个硬盘。此外,如果一个分区出现问题,其他分区可能不受影响,这降低了数据丢失的风险。
-
操作系统安装:在多操作系统环境中,每个操作系统通常需要自己的分区。这样,每个系统都有自己的启动扇区和文件系统,避免了它们之间的冲突。
-
资源管理:通过分区,您可以更好地控制硬盘空间的使用。例如,您可以为操作系统、应用程序、用户文件等分配不同的分区大小。
-
故障隔离:如果一个分区发生故障或损坏,它不会影响其他分区。这提高了系统的稳定性和可靠性。
-
性能优化:某些操作系统或应用程序可能受益于特定的分区布局,以提高读写速度。
-
安全性:通过将敏感数据放在单独的分区上,您可以限制对这些数据的访问,并在必要时更容易地加密或保护这些分区。
-
易于维护:分区可以帮助您更容易地升级或更换硬盘,因为您只需要处理一个或几个分区,而不是整个硬盘。
-
便于迁移:如果您需要将系统迁移到新的硬件,分区可以使这个过程更容易,因为您可以只需复制或移动所需的分区。
-
磁盘配额:在多用户环境中,分区允许您为每个用户提供特定的磁盘空间配额。
要学习更多关于磁盘分区的知识,建议查阅相关的计算机科学教材、在线教程或专业论坛。了解各种分区方案(如主分区、扩展分区和逻辑驱动器)以及如何在Windows、Linux和macOS等操作系统中创建和管理分区也是很重要的。
磁盘挂载
磁盘挂载是将存储设备(如硬盘、SSD等)连接到操作系统的过程,使其可以被访问和使用。以下是关于磁盘挂载的一些重要概念和知识:
-
文件系统:在挂载磁盘之前,必须先在磁盘上创建文件系统。常见的文件系统包括FAT、NTFS、EXT4等。
-
挂载点:挂载点是操作系统中的一个目录,用于将磁盘连接到文件系统树中的特定位置。例如,/mnt、/media等。
-
设备标识符:每个磁盘都有一个唯一的设备标识符,用于在操作系统中识别和引用该磁盘。在Linux中,设备标识符通常以/dev/开头,如/dev/sda、/dev/nvme0n1等。
-
挂载命令:挂载磁盘的过程通常通过使用操作系统提供的挂载命令来完成。在Linux中,常用的挂载命令是
mount
,