四,文件系统/磁盘/挂载管理


一,什么是磁盘


磁盘(Disk)是一种用于存储和读取数据的设备,它是计算机系统中重要的存储介质之一。

磁盘通常由一个或多个盘片(也称为碟片)组成

每个盘片上有一个或多个磁道(Track),
每个磁道又被分为一定数量的扇区(Sector)
每个扇区的大小通常为512字节或4KB。
磁盘通过使用磁性材料在盘片表面创建磁道和扇区来存储数据。当数据被写入磁盘时,磁头会在盘片上移动,并以不同的磁极方向记录数据。而数据的读取则是通过磁头感应盘片上的磁场变化进行的。

磁盘通常分为两种类型:

硬盘驱动器(Hard Disk Drive,HDD):硬盘驱动器使用旋转的金属盘片来存储数据。它包含一个或多个盘片,每个盘片都有一对读/写头,可以在盘片上的不同位置进行读取和写入操作。

固态硬盘(Solid-State Drive,SSD):固态硬盘使用非易失性存储芯片来存储数据,而不是旋转的盘片。它使用闪存记忆芯片来存储数据,并且相比于传统硬盘驱动器,具有更快的读写速度和更高的耐用性。

磁盘作为计算机存储的主要设备之一,用于存储操作系统、应用程序、文件和其他数据。计算机系统可以通过文件系统来管理磁盘上的数据,并使用读写操作对磁盘中的数据进行访问和修改

为什么要磁盘分区
磁盘分区(Disk Partition)是将硬盘或其他存储设备划分为不同逻辑部分的过程。每个分区可以被视为一个独立的逻辑驱动器,它可以被格式化为文件系统并用于存储数据。

磁盘分区的主要目的是对硬盘进行管理和优化。以下是一些常见的磁盘分区的原因和优势:

管理存储空间:通过将硬盘划分为多个分区,可以更好地管理和分配存储空间。不同的分区可以用于存储不同类型的数据或进行不同用途的操作。例如,一个分区可以用于操作系统和应用程序,另一个分区可以用于用户文件和数据。

系统性能:通过将操作系统和用户数据分开存储在不同的分区上,可以提高系统的性能和响应速度。例如,根文件系统分区可以使用更快的存储介质(如固态硬盘),而用户数据分区可以使用容量更大的磁盘。

文件系统隔离:使用不同的分区可以将不同的文件系统类型应用于不同的数据。这种隔离可以提供更好的数据管理和恢复能力。例如,一个分区可以使用 ext4 文件系统,另一个分区可以使用 NTFS 文件系统。

安全性和稳定性:通过将系统文件与用户数据分开存储,可以提高系统的稳定性和安全性。如果某个分区出现问题,其他分区的数据仍然可以保持完好。

在进行磁盘分区时,通常使用磁盘分区工具来创建、删除和管理分区。在 Windows 系统上,常用的工具包括磁盘管理器(Disk Management)和命令行工具如 Diskpart。在 Linux 系统上,常用工具包括 fdisk、parted 和 gdisk 等。

分区表是什么?
当你的电脑上有一个硬盘,你需要将它划分成多个部分来存储不同的文件,就像把一个盒子划分为几个小格子来放不同的东西一样。分区表就是类似于这个“划分规划图”,它告诉电脑硬盘应该被分成哪些部分,每个部分的大小和在哪里。分区表相当于告诉电脑哪个部分存储了操作系统,哪个部分存储了你的文件和数据等等。通过分区表,电脑才能正确地读取和使用硬盘上的不同部分。所以,分区表可以说是电脑管理硬盘的一种 “划分规划图”。

分区表的分类
MBR(Master Boot Record)分区表:
MBR是一种较旧的磁盘分区表格式,最初用于IBM PC兼容计算机。它具有以下特点:
位于磁盘的第一个扇区(通常是扇区0),占用512字节的空间。

MBR分区表最多支持四个主分区,每个主分区使用16字节来描述,并且主分区有一个活动标志用于引导操作系统。

MBR分区表还可以包含一个扩展分区,该扩展分区可以分割为逻辑分区,以容纳更多的分区或逻辑卷。

MBR分区表使用分区类型标识(Partition Type ID)来指示分区的文件系统类型。

对于大于2TB的磁盘,MBR存在容量限制。

GPT(GUID Partition Table)分区表:
GPT是一种更现代的磁盘分区表格式,在UEFI固件和较新的操作系统中得到广泛支持。GPT具有以下特点:
由UEFI规范引入,位于磁盘的起始和末尾处,具有备份分区表以增加数据完整性。

GPT分区表支持更大容量的磁盘,可以达到几千TB。

支持最多128个主分区,每个主分区使用128位GUID标识,没有活动标志。

GPT分区表使用GUID标识指示分区类型,并具有通用的分区类型标识符(GUID Partition Type GUID)。

GPT分区表对磁盘的备份和恢复更可靠,并提供数据完整性验证。

总体来说,GPT分区表相对于MBR分区表更适用于大容量磁盘和较新的操作系统,具有更高的灵活性、可靠性和数据完整性。

磁盘分区中存在的重要概念
主分区(Primary Partition):

MBR 分区表最多支持四个主分区。
主分区可以直接用于安装操作系统,并被认为是启动分区。
在 Windows 操作系统中,系统通常安装在主分区上。
扩展分区(Extended Partition):

MBR 分区表可以有一个扩展分区。
扩展分区本身不存储实际的文件,它是用来创建逻辑分区。
扩展分区可以划分为多个逻辑分区。
逻辑分区(Logical Partition):

逻辑分区是在扩展分区中创建的分区,可以容纳文件和文件系统。
一个扩展分区可以包含多个逻辑分区,而且可以根据需要灵活地调整逻辑分区的大小。
Linux 系统中常常使用逻辑分区来组织文件系统。
引导分区(Boot Partition):

引导分区存储了操作系统引导加载程序(bootloader)。
操作系统引导加载程序负责从磁盘中引导操作系统。
在 Windows 系统中,引导分区通常是系统分区(System Partition)。
在 Linux 系统中,引导分区通常是 /boot 分区。


二,Linux系统磁盘


Linux磁盘相关概念
一个Linux系统中可以安装一个或多个硬盘设备,例如机械硬盘和固态硬盘(SSD)。这些硬盘被用于存储操作系统、应用程序和数据。了解如何管理这些磁盘是很重要的,可以帮助你有效地使用存储空间、创建分区、格式化文件系统以及进行备份和恢复。

首先,让我们了解一下一些基本的概念:

磁盘设备(Disk Device)是指计算机中的物理硬盘驱动器。在Linux中,每个硬盘设备都有一个对应的设备文件,通常形如/dev/sda、/dev/sdb等等。你可以通过使用命令lsblk或fdisk -l来查看系统中可用的磁盘设备。
分区(Partition)是将物理硬盘划分为多个逻辑部分的过程。每个磁盘可以划分为一个或多个分区,每个分区可以独立地设置文件系统,并存储文件和数据。分区可以帮助我们更好地组织和管理存储空间。你可以使用命令fdisk或parted来创建、删除和修改分区。
文件系统(File System)是操作系统用于组织和管理文件和目录的方式。常见的Linux文件系统包括EXT4、XFS、Btrfs等。在创建分区后,你需要使用命令mkfs来格式化分区并为其指定所需的文件系统类型。例如,要将分区/dev/sda1格式化为EXT4文件系统,可以使用命令mkfs.ext4 /dev/sda1。
挂载(Mount)是将文件系统连接到Linux文件系统树中的指定位置的过程。挂载点是一个目录,你可以通过在挂载点下访问和操作文件系统的内容。例如,要将/dev/sda1分区挂载到/mnt目录,可以使用命令mount /dev/sda1 /mnt。你也可以通过修改/etc/fstab文件,这样系统在启动时会自动挂载分区。
管理磁盘还涉及到备份和恢复的概念。定期备份你的数据是非常重要的,以防止数据丢失或硬件故障。在Linux中,你可以使用命令rsync或tar来创建备份。恢复备份时,将备份文件复制回原始位置即可实现数据恢复

linux管理磁盘的相关命令
以下是 Linux 系统中用于管理磁盘的一些常用命令:

fdisk:用于创建、修改和删除磁盘分区。可以使用 fdisk 命令对磁盘上的分区表进行操作。

parted:提供了更高级的磁盘分区管理功能。可以使用 parted 命令创建、修改和删除磁盘分区。

lsblk:列出系统上的块设备信息,包括磁盘和分区。可以显示设备的大小、挂载点等信息。

df:显示文件系统使用情况,包括文件系统的挂载点、已用空间、可用空间等信息。

du:计算目录或文件的磁盘使用情况。可以使用 du 命令查看特定目录或文件占用的磁盘空间。

mount:将文件系统挂载到指定的挂载点。可以使用 mount 命令挂载磁盘分区、移动设备等。

umount:卸载已挂载的文件系统。可以使用 umount 命令卸载磁盘分区或移动设备。

mkfs:用于创建文件系统。可以使用 mkfs 命令创建 ext4、XFS、Btrfs 等不同类型的文件系统。

fsck:用于检查和修复文件系统。可以使用 fsck 命令检查和修复文件系统中的错误。

lvm:LVM(Logical Volume Manager)提供了一系列命令来管理逻辑卷和卷组。例如,创建物理卷、创建卷组、创建逻辑卷等。

linux 文件系统
ext系列文件系统
Linux 系统中最常用和成熟的文件系统,是扩展文件系统(extended file system)的不同版本。下面是 ext 系列文件系统的详细介绍:

ext2:
ext2 是最早的 ext 文件系统版本,它是在 Linux 内核中一直使用的文件系统。它支持标准的 POSIX 文件权限、硬链接和软链接等基本功能。然而,ext2 文件系统缺乏一些高级功能,如日志记录,这使得文件系统在系统意外关机或崩溃时可能需要进行长时间的文件系统检查。
ext3:
ext3 是 ext2 文件系统的一个改进版本,引入了日志记录(journaling)的功能。日志记录可以提供快速的文件系统恢复,减少了系统启动时的文件系统检查时间。与 ext2 相比,ext3 文件系统具有更好的可靠性和冗余性。
ext4:
ext4 是 ext3 文件系统的下一代版本,也是当前 Linux 系统中最常用的文件系统。ext4 在 ext3 的基础上做了一系列改进和优化,提供更高的性能、更大的文件系统和更好的可靠性。ext4 支持更大的文件和磁盘容量,使用了更先进的数据结构,以提供更快速的文件访问和更好的磁盘空间管理。
ext 系列文件系统具有较高的兼容性,可以在许多 Linux 发行版中使用。它们支持标准的文件和目录访问权限、链接和软链接、硬链接、数据恢复、数据压缩等常见功能。同时,它们也支持文件系统扩展、快照功能和在线文件系统检查等高级特性。

总的来说,ext 系列文件系统是 Linux 中使用最普遍且成熟的文件系统,它们提供了可靠、高性能的文件存储解决方案,并与大多数 Linux 系统兼容。

XSF文件系统
XFS 是一个先进的高性能日志文件系统,最初由 SGI 开发。它具有高速读写能力、可靠性和可扩展性,适用于大规模存储系统。XFS 使用了一种称为“延迟分配”的技术,可提高写入操作的性能。

XFS 已成为许多常见 Linux 发行版的默认文件系统之一。通过在 Linux 系统中使用 XFS 文件系统,可以获得高性能、可靠性和可扩展性的存储解决方案。

XSF文件系统的特性:

高性能:

XFS 使用了一些优化技术,如类似延迟分配的方式,以提高数据写入操作的性能。它具有高吞吐量和低延迟,适用于需要处理大量读写操作的场景。XFS 还能有效地利用大型存储设备的性能。
可靠性:

XFS 支持元数据和日志校验和修复功能,确保数据完整性与可靠性。它具有可靠的错误检测和修复机制,可以在发生故障或损坏时对文件系统进行恢复,同时通过日志记录保护了数据的一致性。
可扩展性:

XFS 被设计为可扩展文件系统,能够处理大容量存储和大文件。它支持庞大的文件系统,可管理大量的文件和目录。XFS 还提供动态增加和减少文件系统大小的能力,使其能够适应不断变化的存储需求。
快照:

XFS 支持快照功能,允许在不中断文件系统正常运行的情况下,创建系统状态的一致副本。这对于备份和恢复操作非常有用,可以保证文件系统的数据一致性和完整性。
小文件处理:

XFS 通过 B+ 树索引和延迟分配技术,有效地处理大量小文件的存储和访问。它使用了现代化的数据结构和算法,提供了快速的文件定位和访问能力。
XFS 是一个成熟、可靠且高性能的文件系统,适用于大规模存储和高吞吐量的环境,如高性能计算、大型数据库、视频处理和图形渲染等情景。

JFS系统文件系统
JFS(Journaled File System)是一个高性能的日志文件系统,最初由 IBM 开发。下面是对 JFS 文件系统的详细介绍:

高性能:

JFS 具有高速的文件访问和高吞吐量的特点,适用于大规模的存储系统和高负载环境。它通过使用高级数据结构和算法来提供快速的文件定位和读写操作。
日志记录:

JFS 采用了日志记录(journaling)技术,可以提供快速的文件系统恢复。日志记录会将文件系统的变更操作记录在一个事务日志中,确保在系统意外关机或崩溃时能够快速回滚或恢复文件系统到一个一致的状态。
可靠性:

JFS 具备良好的文件系统完整性和数据保护机制。它使用校验和修复技术来检测和修复文件系统中的错误,确保数据的完整性和一致性。JFS 还支持在线文件系统检查功能,可以检测和修复文件系统中的错误,无需卸载文件系统。
扩展性:

JFS 能够管理大量的文件和目录,并支持大型文件系统。它使用高效的文件索引和文件分配算法,使得文件访问和管理能够高效运行。JFS 还支持文件系统的在线扩展,可以动态地增加文件系统的大小、容量和性能。
大文件处理、:

JFS 对于大文件的处理非常高效,适用于存储和处理大型的媒体文件、数据库文件等。它使用了索引和缓存机制,以支持快速的随机访问和高吞吐量的顺序访问。
JFS 是一个成熟的文件系统,在 IBM AIX 系统和一些 Linux 发行版中得到了广泛应用。它适用于大型服务器、高负载环境和对性能有要求的应用场景。

三,Linux系统磁盘管理实操


查看linux系统磁盘结构
1. fdisk:
fdisk 是一个命令行工具,用于对硬盘进行分区操作。它是 Linux 和其他类 Unix 操作系统中常见的磁盘管理工具之一。fdisk 工具允许用户创建、删除、调整和查看硬盘上的分区。fdisk命令是不支持GPT分区表
fdisk -l #列出系统所有的磁盘和分区信息,(只能列出MBR分区表的信息)
1


2. parted
parted 是一个磁盘分区工具,具有更高级的功能和更灵活的分区操作。与基本的 fdisk 工具相比,parted 提供了更多的选项和功能,可以用于创建、删除、调整、移动和复制磁盘分区。

使用 parted,你可以操作磁盘上的分区表,包括创建新的分区、更改分区的大小和位置、删除分区以及查看分区信息。同时,parted 支持更多的分区表格式,包括 MBR(主引导记录)和 GPT(GUID 分区表)。

parted -l #和fdisk -l一样 列出系统上的磁盘和分区信息。(支撑GPT分区表的显示)
1


3. lsblk
lsblk 是一个命令行工具,用于列出系统中的块设备(包括磁盘和分区)以及它们的相关信息。

lsblk
1


使用 lsblk 命令,你可以获取有关磁盘、分区和其他块设备的详细信息,例如设备名称、设备大小、设备类型、挂载点等。

4. df
使用 df 命令,你可以查看文件系统的挂载点以及与其相关的磁盘容量、已使用空间、可用空间和使用百分比等信息。

df -hT
1


如何在linux进行硬盘格式化
1.mkfs
mkfs 是一个用于创建文件系统的命令行工具。它用于在指定的设备或分区上创建新的文件系统。

使用 mkfs 命令,你可以选择不同的文件系统类型,例如 ext4、NTFS、FAT32 等,根据需要来创建相应的文件系统。下面是一些常见的 mkfs 选项和用法:

创建 ext4 文件系统:
mkfs.ext4 /dev/sdx
1
将 /dev/sdx 替换为你想要创建文件系统的设备路径,例如 /dev/sda1。

创建 NTFS 文件系统:
mkfs.ntfs /dev/sdx
1
同样,将 /dev/sdx 替换为你想要创建文件系统的设备路径。

创建 FAT32 文件系统:
mkfs.vfat /dev/sdx
1
同样,将 /dev/sdx 替换为你想要创建文件系统的设备路径。

Linux如何使用硬盘
一、加入新硬盘,并查看硬盘信息


在VMware虚拟机中添加一块新硬盘。

使用fdisk -l命令,查看新增硬盘信息,

创建分区
使用fdisk /dev/sde 进入对硬盘的操作状态,输入m,来查看命令列表

a:切换引导标志 (bootable flag)。该选项允许你设置或取消设置分区的引导标志,以指示分区是否可引导。

b:编辑 BSD 磁盘标签 (BSD disklabel)。用于编辑 BSD 磁盘标签结构,该结构是某些 UNIX 系统上的分区方案。

c:切换 DOS 兼容标志 (dos compatibility flag)。该选项允许你设置或取消设置分区的 DOS 兼容标志,该标志表示分区表是否符合 DOS 兼容标准。

d:删除一个分区。通过选择该选项并输入分区号,可以删除指定的分区。

g:创建一个新的空 GPT 分区表 (GUID 分区表)。该选项用于创建一个新的 GPT 分区表,以替换当前的分区表。

G:创建一个新的 IRIX (SGI) 分区表。该选项用于创建一个新的 IRIX (SGI) 分区表,该分区表是用于 Silicon Graphics (SGI) 系统的磁盘分区方案。

l:列出已知的分区类型。该选项将显示已知的分区类型列表。

m:打印此菜单。该选项将显示 fdisk 命令的菜单,其中包含各个可用选项及其描述。

n:添加一个新分区。该选项用于添加一个新分区。

o:创建一个新的空 DOS 分区表。该选项用于创建一个新的 DOS 分区表,以替换当前的分区表。

p:打印分区表。该选项用于打印当前的分区表。

q:在不保存更改的情况下退出。该选项允许你退出 fdisk 工具而不保存对分区表的任何更改。

s:创建一个新的空 SUN 磁盘标签 (Sun disklabel)。该选项用于创建一个新的 SUN 磁盘标签结构,该结构是 Sun Microsystems 的分区方案。

t:更改分区的系统 ID (system ID)。该选项用于更改指定分区的系统 ID,以指定分区的类型。

u:更改显示/输入单位。该选项允许你更改 fdisk 列出分区大小时使用的单位,可以选择使用扇区 (sectors)、千字节 (kilobytes) 或兆字节 (megabytes)。

v:验证分区表。该选项用于验证当前分区表的完整性。

w:将分区表写入磁盘并退出。该选项会将对分区表的所有更改写入磁盘,并退出 fdisk 工具。

x:额外功能(仅限专家)。该选项提供进一步的功能以供专家使用。

在此我们需要的是新建分区,所以按选择n选择新建一个新的分区

这里提示我们需要创建是是什么分区,MBR分区表 最多只能创建4个主分区,和一个扩展分区。

P primary :代表主分区

e extended :代表扩展分区

再次我们创建是目标是3个主分区和一个扩展分区,方便以后在细分为逻辑分区。

提示我们需要主分区的编号,在MBR分区表里 主分区只能是1-4

这里是提示扇区大小,这里我们选择默认。

这里让我们选择分区大小,刚才我们创建的硬盘为10GB,我们要创建3个主分区和一各逻辑分区,均匀分配就是5G一个,在这里我们直接输入: +3G

已经成功创建了一个主分区,我们用p来打印 验证一下是否成功。

已经成功,接下来把其他分区按以上方法一起创建好。

在此我们已经通过fdisk命令创建了4各分区 分别为3各主分区、一个扩展分区,我们在尝试创建两个逻辑分区。

现在通过扩展分区,又创建了两个逻辑分区,在此我们输入w后保存离开,在使用lsblk来查看系统上的磁盘信息。

在这张图上我们可以确认我们的分区表已经创造完成,可以开始下一步的行动,格式化分区

格式化分区
使用以下命令对刚刚做完的分区进行格式化:

mkfs.ext4 /dev/sde1
1


因为fdisk 不支持批量格式化,所以我们要手动一个一个的去把所有分区都格式化成ext4文件系统。

验证分区全部格式化
lsblk -f
1


我们看到sde1-3、5、6都已经成功格式化,唯独就是4没有格式化,这是因为,sde4是一个扩展分区,它的空间已经全部分配给sde5和sde6了

挂载
挂载又分为永久挂载和临时挂载
永久挂载:

它是在系统启动时自动将文件系统挂载到指定的挂载点,它需要再系统配置文件中添加相应的条目,在linux系统重,通常是编辑/etc/fstab文件来配置永久挂载。

特点是重启后不需要再进行重复挂载,既可使用。

临时挂载:

它是手动执行的挂载操作,需要手动去配置设备名称、挂载点等操作选项,它适合于暂时需要访问的文件系统例如:U盘、光驱等,重启后自动消除,需要重新挂载。通过mount命令来实现挂载,通过umount来卸载设备。
永久挂载
我们把sde1、2、3永久挂载

先在根目录下创建3各挂载点。在把这三个分区的UUID记住

UUID: f507990f-d46c-4d4d-9dc1-4e7728c17844
UUID: 350a6a31-e993-402d-aa84-c4c2185c3ec9
UUID: fe5450a6-4696-4680-b4e7-826a9a555178


该条目描述要挂载的文件系统。每个条目通常包含七个字段,以空格或制表符分隔。

<设备名称> <挂载点> <文件系统类型> <挂载选项> <文件系统检查选项> <备份间隔> <优先级>
1
<设备名称>:要挂载的设备的名称或设备ID。例如,/dev/my_disk/my_home或UUID:5Kms0D-Xui9-VsgW-nIWE-Pe1y-NRC5-vbV2qM。
<挂载点>:指定要将设备挂载到的目录。例如,/mnt。
<文件系统类型>:设备上的文件系统类型,例如ext4。
<挂载选项>:选择设备的挂载选项,如rw(读写)或ro(只读)。
<文件系统检查选项>:指定设备的文件系统检查选项(如每次挂载时检查、跳过检查等)。
<备份间隔>:指定文件系统备份的间隔(如每日、每周等)。
<优先级>:指定文件系统挂载的优先级。
现在就已经永久挂载好了,重启以后,我们的挂载点仍然可用

临时挂载
临时挂载比永久挂载更简单,只需要一条命令就搞定了

mount /dev/dev5 /home/mnt/sde5
mount /dev/dev6 /home/mnt/sde6
1
2


这样就挂载好了只要不重启,它们一直可以用,同样可以手动去卸载

umount /mnt/sde5
umount /mnt/sde6
1
2


ok已经完成了卸载,临时挂载就是这么简单。

总结
磁盘是我们存储数据的地方,就像一个大盘子。为了更好地管理盘子上的食物,我们把它分成几个部分,每个部分装不同的菜。这些部分就是磁盘的分区,每个分区相当于一个盘子内的小盘子。而分区表则是记录了盘子上分区的信息。我们可以使用不同的命令来管理磁盘,像是查看盘子上的分区、挂载和卸载分区等。在 Linux 系统中,我们常用的文件系统有 ext 系列、XFS 和 JFS 等,它们各有特点,可以选择适合自己需求的文件系统来格式化分区。这样,我们就可以方便地管理和存取盘子上的菜了。
————————————————
版权声明:本文为CSDN博主「diaobusi-puls」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44369049/article/details/131404849

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值