扩展Linux分区大小而不丢失任何数据/技术

Kin*_*rou 5 linux partition hard-drive ovh extend

我为我的OVH云服务器额外购买了200G磁盘,因为我的初始磁盘已满。

\n

现在,我的附加磁盘几乎已满(如下所示)。所以我又加了200G。如您所见,sdb 的大小现在为 400G。

\n

那么,如何在 sdb1(编辑:FS ext4)linux 分区中添加 200Gb,而不丢失其中的当前数据?

\n

当我跑步时:

\n
lsblk\n
Run Code Online (Sandbox Code Playgroud)\n

我得到:

\n
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT\nsda      8:0    0   200G  0 disk \n\xe2\x94\x94\xe2\x94\x80sda1   8:1    0   200G  0 part /\nsdb      8:16   0   400G  0 disk \n\xe2\x94\x94\xe2\x94\x80sdb1   8:17   0 199.5G  0 part /mnt\n
Run Code Online (Sandbox Code Playgroud)\n

Nik*_*nov 10

删除或创建分区不会删除磁盘上的数据或文件系统。它只会更新分区所在的MBR或GPT信息及其大小。

另外,如果文件系统发现自己所在的设备比存储在其超级块中的设备大,它就会像小设备一样工作。

基于这些知识,你可以推导出扩展过程。如下:

  1. 在正在运行的系统上,运行fdisk并仔细观察分区的起始位置 ( p)。然后将其移除 ( d),并n在其位置上创建 ( ) 更大的一个。现代 fdisk 可以询问是否擦除签名,如果需要,请说“不”(这是必要的)!特别注意它的开始,它必须从完全相同的扇区开始,但可以有更大的大小。退出 fdisk 写入更改 ( w)。

文件系统可以保留安装状态。这不会破坏对数据的访问。事实上,内核将拒绝重新加载分区表,因为旧的分区正在使用中,并且它将使用旧的分区映射。要更新内核中的分区映射,您只需重新启动即可,或者在服务中断不可行的情况下使用kpartx或编程。partprobe

当然,您可以事先卸载文件系统并在重新分区后重新挂载,这样内核就不会被阻塞,并且分区映射将在退出 fdisk 后立即更新。

  1. 调整文件系统的大小。Ext4 可以在线调整大小(只是resize2fs /dev/sdb1,它会检测已安装的文件系统并运行在线调整大小)。或者,如果您愿意,也可以在卸载时再次执行此操作。

当然,这仍然是一个危险的过程。在某处有备份。