Linux 磁盘管理基础

循此苦旅,以达天际。
穿越逆境,直抵繁星。


前言

Linux 磁盘管理简介
在 Linux 系统中,磁盘管理是一项关键任务,涉及到对磁盘、分区、文件系统以及存储卷等的管理和维护。有效地管理磁盘可以提高系统的性能、可靠性和安全性,并确保数据的完整性和可用性。

通过学习本指南,您将掌握 Linux 系统中磁盘管理的基本知识和技能,从而更好地管理和维护您的系统的存储部分。让我们开始吧!


一、基础知识

理解 Linux 的磁盘涉及到对磁盘的物理结构、文件系统、分区和挂载等概念的理解。下面是对这些方面的简要解释:

1.物理磁盘

物理磁盘是指计算机系统中用于存储数据的硬件设备,通常是硬盘驱动器(HDD)或固态驱动器(SSD)。物理磁盘由多个盘片、读写磁头、马达等组成,数据以磁性方式在盘片上存储。

2.分区

分区是将物理磁盘划分为若干个逻辑部分的过程。每个分区可以被视为一个独立的逻辑磁盘,在其中可以创建文件系统并存储数据。在 Linux 中,分区使用分区表来描述,常见的分区表类型包括 MBR(Master Boot Record)和 GPT(GUID Partition Table)。

3.文件系统

文件系统是组织和管理存储在磁盘上的数据的一种结构。它定义了数据的存储格式、访问方式以及元数据(如文件名、权限等)的组织方式。常见的 Linux 文件系统包括 ext4、XFS、Btrfs 等。

4.挂载

挂载是将文件系统连接到 Linux 文件系统层次结构中的一个指定位置(称为挂载点)的过程。在 Linux 中,通常使用 mount 命令来将分区挂载到指定目录下,使其可以被访问和使用。

总的来说,理解 Linux 的磁盘意味着理解如何管理物理磁盘、划分分区、选择和配置文件系统,并将它们挂载到文件系统中以供使用。这对于存储数据、管理系统和确保数据安全性至关重要。

二、磁盘

1.什么是磁盘

磁盘是一种用于存储数据的物理设备,通常由一个或多个可旋转的盘片组成。这些盘片被安装在同一轴上,并围绕中心旋转。每个盘片的两面都被用于存储数据,并通过读写磁头来访问数据。

在磁盘内部,数据以磁性方式存储在盘片的表面上。读写磁头可以在盘片表面上移动,并通过磁性读写操作来读取和写入数据。数据可以被组织成不同的区块(通常称为扇区),每个扇区包含一定数量的数据字节。

2.磁盘的作用

磁盘通常被安装在计算机的磁盘驱动器中,作为长期存储数据的主要设备。它们可以存储操作系统、应用程序、用户文件等各种类型的数据。磁盘可以是传统的机械硬盘驱动器(HDD),也可以是固态硬盘驱动器(SSD),后者由闪存存储器构成,没有可动的机械部件。

磁盘是计算机系统中至关重要的组成部分,它们提供了存储容量和数据访问速度,直接影响到系统的性能和可用性。

3.扇区、磁道、柱面

在磁盘中,扇区、磁道和柱面是三个重要的概念,它们描述了磁盘表面上的数据存储方式:

1.扇区(Sector): 扇区是磁盘表面上最小的存储单元,它是由磁道和磁头组成的一个圆形区域。通常,每个扇区存储固定数量的数据字节,典型的扇区大小为 512 字节或 4KB。操作系统和磁盘控制器使用扇区来读取和写入数据,因为它是磁盘上最小的可寻址单元。

2.磁道(Track): 磁道是磁盘表面上的一个圆形轨道,它沿着盘片的表面延伸。每个磁道都位于一个特定的半径位置上,而且在整个盘片上都是平行的。磁盘可以有多个磁道,每个磁道可以被划分为多个扇区。磁头可以在磁道上移动,从而读取或写入数据。

3.柱面(Cylinder): 柱面是垂直于磁盘盘片的一个虚拟的圆柱体,它由位于相同半径位置的多个磁道组成。换句话说,柱面是同一位置上所有盘片上的同心磁道的集合。因此,一个柱面上的所有磁道都可以同时被一个磁头访问。柱面是磁盘几何结构中的一个重要概念,它被操作系统用来组织和访问数据。

在磁盘访问和数据读写过程中,操作系统和磁盘控制器使用这些概念来定位和管理数据。理解扇区、磁道和柱面的概念有助于我们更好地理解磁盘结构和数据存储方式。
在这里插入图片描述

三、分区

1.什么是分区

分区是将物理磁盘划分为若干个逻辑部分的过程。每个分区可以被视为一个独立的逻辑磁盘,在其中可以创建文件系统并存储数据。在 Linux 中,分区使用分区表来描述,常见的分区表类型包括 MBR(Master Boot Record)和 GPT(GUID Partition Table)。

2.为什么要分区

在 Linux 中,分区具有多种重要用途,包括:

1.文件系统隔离和管理: 通过在不同的分区上安装不同的文件系统,可以将操作系统文件、用户数据和应用程序等逻辑上隔离开来。这有助于更好地组织和管理数据,并简化备份、恢复和维护过程。

2.系统安全和稳定性: 将操作系统和用户数据分开存放在不同的分区中有助于提高系统的安全性和稳定性。如果系统出现问题需要重新安装或修复,分区可以确保用户数据不会丢失,从而减少数据丢失的风险。

3.多系统支持: 分区可以为多操作系统的安装和运行提供支持。通过在不同的分区中安装不同的操作系统,用户可以实现多重引导,并在需要时轻松切换操作系统,而不会相互干扰。

4.性能优化: 通过将不同类型的数据放置在单独的分区中,可以提高数据访问的效率。例如,将操作系统和常用程序放置在一个分区中,将用户数据放置在另一个分区中,可以减少磁盘碎片并提高数据读取速度。

5.灵活性和扩展性: 分区使得磁盘空间的使用更加灵活,可以根据实际需求对每个分区的大小进行调整。如果一个分区的空间不足,用户可以通过调整分区大小或添加新的分区来满足需求,而不必重新格式化整个磁盘。

总的来说,分区对于 Linux 系统而言具有重要的作用,可以提高系统的性能、安全性、稳定性和灵活性,因此,在部署和管理 Linux 系统时,合理的分区规划是非常重要的。

3.分区表

Linux 中的分区表是一个描述磁盘分区布局的数据结构,通常存储在磁盘的开头部分。常见的 Linux 分区表格式是 Master Boot Record (MBR) 和 GUID Partition Table (GPT)。

1.MBR(主引导记录): MBR 是较早的分区表格式,它使用 32 位的标识符来描述磁盘分区。MBR 分区表最多支持四个主分区,或者三个主分区和一个扩展分区。扩展分区可以包含多个逻辑分区,因此 MBR 分区表最多可以支持约 2TB 的磁盘容量。
2.GPT(GUID 分区表): GPT 是一种现代化的分区表格式,它使用全局唯一标识符 (GUID) 来描述分区。GPT 可以支持最多 128 个分区条目,并且每个分区的大小可以达到 9.4 ZB(1 ZB = 1 亿 TB),远远超过了 MBR 的限制。此外,GPT 提供了更强大的数据完整性和可靠性特性。

在 Linux 系统中,分区表通常由分区工具(如 fdisk、parted、gdisk 等)来管理和操作。分区表记录了每个分区的起始位置、大小、文件系统类型等信息,以便系统在启动时识别和挂载分区。

4.物理分区与扩展分区

Linux 出现扩展分区主要是为了解决主引导记录 (MBR) 分区表的限制。在 MBR 分区表中,最多只能有四个主分区。当用户需要在磁盘上创建更多的分区时,扩展分区就成为了一种解决方案。

扩展分区的主要作用是允许在一个主分区中创建多个逻辑分区。它的工作原理是,扩展分区本身仅占用一个主分区条目,但可以在其内部创建多个逻辑分区,从而允许用户创建更多的分区。

物理分区:可以有1-4个
扩展分区:0、1
逻辑分区:可以有无限个

注意:主分区+扩展区 最多是4个
在这里插入图片描述

四、如何分区

1.关于分区的基础知识

linux识别磁盘相关的编号

  • 第一个磁盘:sda
  • 第二个磁盘:sdb

linux识别分区相关的编号

  • 第一个分区:1
  • 第二个分区:2

磁盘的设备文件

/dev/sda
/dev/sdb
/dev/sdc
/dev/sda1 /dev/sda2 /dev/sdc5

关于分区编号

  • 1-4:只能是主分区或者是逻辑分区【前四个分区的分区号可以自己设置】
  • 5+:扩展分区【自动排序】

例:第三个磁盘的第四个扩展分区

/dev/sdc8

注意:新创建的虚拟机里面是只有/dev/sda的想要添加新的磁盘需要再虚拟机设置里面添加
在这里插入图片描述
创建好磁盘后,重启一下虚拟机。查看是否存在sdb
在这里插入图片描述
ok,开始分区

2.磁盘的分区

(1) 在进行分区时,首先我们需要查看当前系统磁盘的分区信息

[root@localhost ~]# fdisk -l

在这里插入图片描述

注意: 上图中/dev/sda1 后面有个*,表示该磁盘用于引导系统进行启动。
sda1:存放的是与系统相关的文件
sda2:虚拟内存交换分区
start、end表示分区开始的扇区位置和结束的扇区位置。
blocks:表示块的信息,一个块里面有多个扇区。
Id:表示磁盘编号
system:表示Linux系统分区的一个分区信息。

(2)我们对sdb进行分区:fdisk /dev/sdb
小提示:在分区是我们输错了,想要删除,点击删除键会出现^H的字符。我们只需要按着ctrl+删除键就可以删除啦
在这里插入图片描述

此时命令栏提示输入m来寻求帮助,那么我们输入m,来看一下都有哪些选项
在这里插入图片描述
这里面常用的是

  • p:打印分区表
  • n:添加一个新分区
    • p:创建主分区
    • e:创还能扩展分区
    • l:创建逻辑分区 (创建完成扩展分区才可以创建逻辑分区)
  • d:删除分区
  • w:保存退出
  • q:不保存退出

(3)开始创建分区,因此我们输入n,然后回车如下图在这里插入图片描述

我们看到黄框上显示的是0个主要分区,0个扩展分区,还有4个闲置分区。
绿框上显示默认是主分区。
我们创建主分区,可以直接回车,也可以输入p

在这里插入图片描述

到这里我们创建的扩展分区已经创建好了,我们在命令行界面输入p查看一下分区情况:
在这里插入图片描述
此时已经创建完成,现在还不能退出的,需要输入w保存分区信息,我们通过w保存并退出后,使用fdisk -l可以查看到磁盘的分区信息。
在这里插入图片描述
fdisk -l查看
在这里插入图片描述

此时我们已经得到了一个1G大小的分区,但是我们能用吗?不能,因为我们要对磁盘进行格式化后才可以进行数据的存储。

3.磁盘格式化

为什么要进行磁盘格式化: 在 Linux 中,分区只是在磁盘上划分出一块空间,但这个空间并不能直接用来存储文件或数据。进行格式化是为了在分区上创建文件系统,以便文件系统可以管理该分区上的文件和数据。

文件系统:文件系统是操作系统用来管理存储设备上文件和目录的一种机制,它定义了数据在磁盘上的组织方式以及访问这些数据的规则。
当你想象你的电脑硬盘或 USB 存储设备时,就可以把它们比作一个文件柜或书架,而文件系统就是这个柜子或书架的组织结构和管理方式。

在 Linux 中,常见的文件系统包括:

  • Ext4
  • Ext3
  • XFS
  • Btrfs
  • NTFS
  • FAT32

如何进行磁盘的格式化

mke2fs 文件系统	被格式化的磁盘
	-t :选择文件系统。
注意:我们可以选择文件系统也可以选择默认的文件系统Ext2,这里我们用的默认的。
[root@localhost ~]# mke2fs /dev/sdb1

在这里插入图片描述
在这里插入图片描述

4.挂在磁盘

为什么要挂载磁盘:在 Linux 中,格式化磁盘只是在磁盘上创建了一个文件系统,但这并不意味着文件系统中的数据可以直接访问。挂载磁盘是将文件系统连接到文件系统层次结构中的某个目录,使得文件系统中的数据可以被访问。就相当于给磁盘添加了一个入口。

挂载磁盘的主要目的包括

  • 使文件系统可用: 格式化磁盘只是在磁盘上创建了文件系统的结构,但要访问文件系统中的数据,必须将其挂载到文件系统层次结构中的一个目录上。
  • 访问磁盘中的文件: 挂载磁盘后,可以通过挂载点(也称为挂载目录)访问磁盘中的文件和目录。这使得可以在 Linux 系统中像访问其他目录一样访问磁盘上的数据。
  • 安全卸载: 在文件系统使用完成后,必须将其从文件系统层次结构中卸载,以确保数据正确写入磁盘并释放相关资源。挂载和卸载磁盘可以帮助避免数据丢失或损坏,并确保系统正常运行。

如何挂载磁盘

mount 挂载设备 挂载点

(1)手动挂载
我们现在有一个已经格式化的磁盘 /dev/sdb1,你可以将其挂载到 /mnt/data 目录上,使得磁盘中的文件和目录可以通过 /mnt/data 目录进行访问:

我们需要先创建目录:mkdir /mnt/data
在这里插入图片描述
现在已经有了挂载点,直接挂载
在这里插入图片描述
敲mount查看挂载
在这里插入图片描述
查看磁盘的使用情况
在这里插入图片描述
现在我们重启系统之后,就会发现挂载失效;

(2)自动挂载:开机会自动挂载。
使用vim编辑 /etc/fstab  在命令行直接输入vim /etc/fstab 就可以编辑,实现开机自动挂载。

在这里插入图片描述
我们让它对齐一下
在这里插入图片描述
这里每个字段我标识了一个序号,解释一下

  • 1:设备文件
  • 2:挂载点
  • 3:文件系统类型
  • 4:挂载选项(默认就型)defaults
  • 5:转属频率:每隔多久将磁盘数据进行备份,0表示不进行备份
  • 6:检查次序:开机时会对全部磁盘进行检查,0表示不对其磁盘进行检查
  • 这里为什么不检查:如果检查之后存在问题,就会导致系统无法启动

如何查看磁盘的文件系统类型:df -T
在这里插入图片描述
在这里插入图片描述

以上,就是linux中centos的磁盘管理了


总结

分区: 在 Linux 中,磁盘通常被划分为不同的分区,每个分区被视为一个独立的逻辑单位。分区可以是物理磁盘的一部分,也可以是整个磁盘。

格式化: 在创建分区后,需要对其进行格式化以创建文件系统。这通常涉及使用工具如 mkfs 或 mke2fs 来指定文件系统类型(如 Ext4、XFS 等)并将其应用于分区。

挂载: 格式化后的分区需要被挂载到文件系统中的一个目录上才能够被访问。这通过使用 mount 命令完成,指定分区和挂载点。挂载点是一个现有的目录,用于访问分区中的文件和目录。

自动挂载: 可以通过编辑 /etc/fstab 文件来配置系统在启动时自动挂载特定的分区。这样可以确保系统重新启动后,磁盘分区仍然可以正常访问。

磁盘使用情况查看: 可以使用工具如 df(显示文件系统的磁盘空间使用情况)和 du(显示指定目录或文件的磁盘使用情况)来查看磁盘使用情况。

命令作用
fdisk -l查看当前系统磁盘的分区信息
fdisk /dev/sdb对/dev/sdb磁盘进行分区
mke2fs /dev/sdb1对/dev/sdb1磁盘分区进行格式化
mount /dev/sdb1 /mnt/data将/dev/sdb1磁盘分区挂载到/mnt/data
df -h查看磁盘的信息
df -T查看磁盘的文件系统类型

以上就是今天要讲的内容,有什么问题和想法欢迎分享。

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海粟石子

生而为人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值