如何安全地将分区添加到正在运行的服务器的启动驱动器?

如何安全地将分区添加到正在运行的服务器的启动驱动器?

我有一台运行 Ubuntu 20.04 Server 的家庭服务器。它从 240 GB SSD 启动,其中实际启动的文件系统仅为 16 GB 分区:

Disk /dev/sdc: 223.57 GiB, 240057409536 bytes, 468862128 sectors
Disk model: KINGSTON SV300S3
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: gpt
Disk identifier: 5D341B88-AE4C-48F6-BB66-1C9861F16A8E

Device       Start      End  Sectors Size Type
/dev/sdc1     2048  2203647  2201600   1G EFI System
/dev/sdc2  2203648 35758079 33554432  16G Linux filesystem

我想将驱动器的剩余 223 GB 格式化为一个分区,以便我可以挂载并放入实际数据。(我这样做的原因是因为我希望能够加密该分区,以帮助防止可能的盗窃驱动器,并且宁愿每次服务器重新启动时都必须通过 SSH 登录并使用加密密钥安装它,而不是在没有帮助的情况下让它从加密驱动器启动)。

所以,现在我想向该磁盘添加一个分区,并fdisk发出有用的警告:

This disk is currently in use - repartitioning is probably a bad idea.
It's recommended to umount all file systems, and swapoff all swap
partitions on this disk.

如果这是一些外部驱动器,我会简单地理解umount它,但由于它是系统启动并安装的驱动器/,所以这并不是那么简单(至少这是我的理解,我不是 Linux 专家)。

我非常希望避免让系统陷入没有手动干预就无法启动的情况。该机器缺乏足够的硬件来与监视器连接,因此我基本上依赖它来启动并自动引导到我可以通过其静态 LAN IP 进行 SSH 访问的状态。如果它无法做到这一点,那真的很不方便,所以我想避免这种情况。

谢谢!

答案1

只要您不删除根分区 ( /dev/sdc2),或者在未先收缩其上的文件系统的情况下收缩该分区,修改分区表就是安全的。

这个警告是为了阻止那些不真正知道自己在做什么的人在没有做一些研究的情况下就继续前进并破坏他们的系统......所以它已经完成了它的工作:)

顺便说一句,这同样适用于正在使用的任何其他分区,无论是作为安装的文件系统还是交换空间还是其他任何分区 - 不要在使用时删除该分区。并且在未先缩小 fs 分区上的 fs 的情况下,不要缩小 fs 分区。请注意,某些文件系统不支持收缩(有些仅支持增长),有些不支持收缩或增长。

另外顺便说一句,作为一般规则,只要有可用空间可扩展分区,增加分区的大小通常是安全的......这通常是文件系统的增长方式 - 首先增长分区,然后使用适当的特定于文件系统工具(例如resize2fsxfs_growfs)来扩展文件系统。

相关内容