Linux的分区扩展无需磁盘拷贝——实现无损扩展 (linux无损扩展分区)

Linux已成为许多企业服务器的首选操作系统。但是,对于常规的Linux用户,仍然存在一些令人困惑的问题,例如分区限制。随着业务和应用程序的增长,存储需求的扩展不可避免,因此无损地扩展分区变得愈发重要。本文介绍了无需磁盘拷贝的Linux分区扩展方法。

我们需要理解什么是分区和分区扩展。分区是将一块硬盘分成更小可管理的片块,并将操作系统安装到其中一个内部片块上。分区扩展是指向现有分区添加更多的空间。比如,如果你的Server A由于磁盘空间不足而出现错误,你需要扩展Server A的分区以解决问题。

以前的方法是将整个分区备份到另外一个磁盘,然后在新的分区中恢复数据。这种方法非常耗时,并且在操作过程中也存在风险。然而,有了新的方法,您无需在进行分区和数据备份和恢复时冒风险。

我们将采用“fdisk”工具来执行分区扩展。 fdisk是一个Linux命令,可用于创建和管理磁盘分区。但是,在使用fdisk命令之前,请先确保已完全了解您的磁盘分区设置。您可以通过运行“fdisk -l”命令来查看您的磁盘分区设置。

分区扩展是分为两步完成的。首先是分区大小扩展。我们需要扩展该分区的文件系统以使其使用更多可用空间。

接下来,我们将一步步演示如何完成这些步骤。

步骤1:分区大小扩展

打开终端并以root用户身份运行fdisk命令。

$ sudo fdisk /dev/sda

注意:此处假设您要在/dev/sda上扩展分区。如果您使用的是其他磁盘,则必须在命令中使用相应的路径名。

接下来,按下“p”键显示分区表。

您应该会看到类似以下内容的输出:

Disk /dev/sda: 537.1 GiB, 576480186880 bytes, 1125981185 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x31e174b5

Device Boot Start End Blocks Id System

/dev/sda1 * 2023 1026047 512023 83 Linux

/dev/sda2 1026048 312580095 155277024 83 Linux

在这里,启动分区为/dev/sda1,大小为512 MB,主分区/dev/sda2的大小为149 GB。

现在,要将/dev/sda2的分区大小扩展到200 GB,请使用d和n命令删除和重新创建它。

注意:使用d和n命令时,请务必小心。不要删除/dev/sda1,否则您的系统将无法引导。

使用d命令删除分区2:

Command (m for help): d

Partition number (1,2, default 2): 2

使用n命令创建新分区:

Command (m for help): n

Partition type:

p primary (1 primary, 0 extended, 3 free)

e extended

Select (default p): p

Partition number (2-4, default 2): 2

First sector (1026048-1125981184, default 1026048):

Last sector, +sectors or +size{K,M,G,T,P} (1026048-1125981184, default 1125981184): +50G

你现在可以看到分区表中分区的新信息:

Device Boot Start End Blocks Id System

/dev/sda1 * 2023 1026047 512023 83 Linux

/dev/sda2 1026048 31257671 15115812+ 83 Linux

注意,现在/dev/sda2比以前更小!

我们现在需要使用w命令保存您的新分区。这将重写您的分区表并将更改写入磁盘。

$ w

现在,您已经成功地向/dev/sda2添加了50 GB的空间,但是您的文件系统仍然会认为该分区保留为先前的149 GB大小。

步骤2:文件系统扩展

在完成第1步后,您还需要扩展文件系统以使用/dev/sda2的完整空间。这可以通过采用适当的工具来完成,如resize2fs。

我们假设文件系统的类型为ext4。因此,我们将使用resize2fs命令来扩展该文件系统。如果您的文件系统类型不是ext4,则必须使用相应的工具。

请注意,您需要卸载文件系统才能扩展文件系统。

使用umount命令卸载分区:

$ sudo umount /dev/sda2

接下来,使用下面的命令来尝试扩展文件系统:

$ sudo resize2fs /dev/sda2

文件系统现在已成功扩展使用了完整分区的所有空间。

您需要使用以下命令重新挂载分区:

$ sudo mount /dev/sda2 /mnt/data

您已经成功地通过无需拷贝数据的方式扩展了Linux分区。现在,Server A将能够容纳更多的数据和应用程序,大大提高了服务器的效率和灵活性。


数据运维技术 » Linux的分区扩展无需磁盘拷贝——实现无损扩展 (linux无损扩展分区)