介绍
在很多情况下,您可能需要在您的 Linux 系统上添加一块新磁盘。在大多数情况下,创建新磁盘是一个非常直接的过程。然而,如果您尝试调整分区方案和文件系统格式,事情可能会变得复杂。为了简化这一过程,本教程将为您逐步概述如何执行以下操作:
-
如何在系统上识别新磁盘。
-
如何在驱动器上创建分区。
-
如何使用 Ext4 文件系统格式化分区。
-
如何挂载并配置该文件系统的自动挂载。
如果您想先更好地了解 Linux,可以阅读关于如何 在 CentOS 7 上安装 Linux,如何 在 Linux 系统上定位文件,以及如何 在 Linux 服务器上配置身份验证.
安装
在开始之前,您需要确保已安装正确的工具。 parted 工具用于对驱动器进行分区。它通常预装在服务器上。如果您使用的是 Debian 或 Ubuntu,可以按照以下步骤进行安装:
|
1 |
sudo apt-get update |
|
1 |
sudo apt-get install parted |

如果您使用的是 CentOS 或 Fedora,请输入以下命令进行安装:
|
1 |
sudo yum install parted |
识别新磁盘
您需要做的第一件事是在服务器上识别新磁盘。您可以通过寻找缺失分区方案的驱动器来找到全新的驱动器。例如,您可以使用 parted 命令来获取所有磁盘分区布局的列表。没有有效分区方案的磁盘将显示一个错误,您可以使用该错误来识别新磁盘。以下是您需要输入的内容:
|
1 |
sudo parted -l | grep Error |
未分区的磁盘将显示 未识别的 磁盘 标签 错误,如下所示:
|
1 2 3 |
输出 Error: /dev/sda: unrecognised disk label |
另一种识别新磁盘的方法是使用 lsblk 命令。这将向您显示系统上的磁盘列表,您必须识别出大小合适且没有分区的磁盘:
|
1 |
lsblk |
|
1 2 3 4 5 6 |
输出 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk vda 253:0 0 20G 0 disk └─vda1 253:1 0 20G 0 part / |
在这里,我们将列表中的第一个磁盘识别为我们的新磁盘。在进行任何更改之前,请确保在每次会话中都检查 lsblk。如果不验证磁盘标识符,您可能会格式化或分区错误的磁盘。这是因为像 /dev/sd* 和 /dev/hd* 这样的标识符在每次启动之间不一定相同。因此,最好使用像 /dev/disk/by-uuid, /dev/disk/by-label,或者 /dev/disk/by-id.
如何对新驱动器进行分区
要对驱动器进行分区,您需要知道分配给新磁盘的内核名称。分区将贯穿整个磁盘。让我们开始吧!
-
选择标准
首先,您必须选择分区标准。MBR 标准受到多种操作系统的支持。然而,考虑到您没有特殊要求,在大多数情况下推荐使用更现代的解决方案 GPT。按如下方式选择 GPT 标准:
|
1 |
sudo parted /dev/sda mklabel gpt |
如果您想使用 MBR 标准,请输入以下内容:
|
1 |
sudo parted /dev/sda mklabel msdos |
-
创建新分区
接下来,我们将使用以下命令创建分区:
|
1 |
sudo parted -a opt /dev/sda mkpart primary ext4 0% 100% |
您可以通过运行以下命令来检查分区 lsblk:
|
1 |
lsblk |
|
1 2 3 4 5 6 7 |
输出 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk └─sda1 8:1 0 100G 0 part vda 253:0 0 20G 0 disk └─vda1 253:1 0 20G 0 part / |
如何在分区上创建文件系统
接下来,我们将学习如何将分区格式化为 Ext4 文件系统。为此,我们需要将分区传递给 mkfs.ext4 工具,如下所示:
|
1 |
sudo mkfs.ext4 -L datapartition /dev/sda1 |
如您所见,我们通过传递 -L 标志添加了分区标签。随后,我们添加了一个名称,以便识别我们的目标驱动器。请务必确保您只传入分区,而不是整个磁盘。例如,如果 sda 是磁盘名称,则分区末尾通常会有一个数字,例如 sda1.
要随时更改分区的标签,请使用 e2label 命令,如下所示:
|
1 |
sudo e2label /dev/sda1 newlabel |
如果您想了解更多识别分区的选项,请运行 lsblk 命令。该命令的某些版本将向您显示所有信息,包括分区的名称、标签和 UUID:
|
1 |
sudo lsblk --fs |
如果此命令未显示所有字段,您可以使用以下命令手动查找它们:
|
1 |
sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT |
输出将类似于以下内容:
|
1 2 3 4 5 6 7 |
输出 NAME FSTYPE LABEL UUID MOUNTPOINT sda └─sda1 ext4 datapartition 4b313333-a7b5-48c1-a957-d77d637e4fda vda └─vda1 ext4 DOROOT 050e1e34-39e6-4072-a03e-ae0bf90ba13a / |
您可以使用任何高亮显示的信息来指示新文件系统。
如何挂载新文件系统
最后,是时候挂载文件系统以便开始使用它了。通常,根据文件系统层次结构标准的建议,您应该使用 /mnt 或其子目录之一来临时挂载文件系统。对于永久存储,我们没有任何特定建议。因此,我们可以自行决定使用哪种方案进行挂载。
在本教程中,我们将把新文件系统挂载到 /mnt/data。首先创建一个目录:
|
1 |
sudo mkdir -p /mnt/data |
-
临时挂载
假设您想临时挂载一个文件系统。您可以使用以下命令执行此操作:
|
1 |
sudo mount -o defaults /dev/sda1 /mnt/data |
-
开机自动挂载
您可以使用以下命令在每次服务器启动时自动挂载该驱动器:
|
1 |
sudo nano /etc/fstab |
如您所见,我们对 /etc/fstab 文件进行了更改。在此文件中,您可以使用我们在本教程前面通过运行 sudo lsblk --fs 确认的文件系统的任何不同标识符。在以下示例中,我们插入了分区的标签。随后的行还向您展示了如果我们使用其他任一标识符会是什么样子:

编辑完成后,保存并关闭文件。如果尚未挂载,您可以通过输入以下命令来挂载文件系统:
|
1 |
sudo mount -a |
-
测试挂载
一个好习惯是确保在挂载卷后可以访问您的文件系统。您可以通过使用 df 命令来检查输出中该磁盘是否可用:
|
1 |
df -h -x tmpfs -x devtmpfs |
|
1 2 3 4 5 |
输出 Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 1.3G 18G 7% / /dev/sda1 99G 60M 94G 1% /mnt/data |
在 /mnt/data 目录下,您还将找到 lost+found 目录。这表示 Ext* 文件系统的根目录:
|
1 |
ls -l /mnt/data |
|
1 2 3 4 |
输出 total 16 drwx------ 2 root root 16384 Mar 2 11:10 lost+found |
如果您想检查挂载的文件是否具有读写功能,请尝试写入测试文件,如下所示:
|
1 |
echo "success" | sudo tee /mnt/data/test_file |
只需查看一次文件,以确保写入已正确执行:
|
1 |
cat /mnt/data/test_file |
|
1 2 3 |
输出 成功 |
输出表明文件系统运行正常。现在,您可以安全地删除此文件:
|
1 |
sudo rm /mnt/data/test_file |
结论
在本指南结束时,您将了解如何在服务器上对新的文件系统或驱动器进行分区、格式化、挂载和测试。本教程介绍了在 Linux 中将原始磁盘用作存储文件系统的一般过程。在特定情况下,可能需要更复杂的方法来进行分区、格式化和挂载。但是,本教程将为您提供入门所需的基本知识和技能。
祝您使用愉快!
评论
暂无评论。发表第一条评论吧。