我有一个磁盘安装到虚拟机上,但没有作为一个整体。我在该磁盘上创建了一个文件系统。它没有分区。现在,我将磁盘大小从 100G 调整为 200G。我还需要做什么才能让文件系统充分利用磁盘大小吗?
对于某些磁盘分区上的文件系统,我们需要更新保存该文件系统的分区的大小。但我不确定我们是否需要在上述情况下做任何事情。
答案1
您需要验证内核是否已识别新大小,例如运行fdisk -l /dev/<device>
或cat /sys/block/<device>/size
并检查总大小是否与新大小匹配而不是旧大小匹配。如果您在虚拟机中使用半虚拟化驱动程序,大多数驱动程序都会自动处理此问题。
但如果旧的大小仍然显示,echo 1 > /sys/block/<device>/device/rescan
可以用来告诉内核设备的大小已经改变。
一旦内核知道整个设备的新大小,在您的情况下就没有需要编辑的分区表,因此您可以使用依赖于文件系统的工具直接扩展文件系统。
对于 ext2/ext3/ext4 文件系统,resize2fs /dev/<device>
无论文件系统当前是否已挂载,您都可以使用 。
对于 XFS,文件系统必须被安装来扩展它,命令将是xfs_growfs <mount point pathname>
.
其他文件系统类型有自己的规则和扩展工具。
如果您的发行版包含fsadm
,它提供了一种统一的方法来调整 ext2/ext3/ext4 文件系统、ReiserFS 和 XFS 的大小(希望将来能够扩展以涵盖其他文件系统类型)。命令是fsadm resize /dev/<device>
.
答案2
如果磁盘完全是空的(没有分区、文件系统等),则您不需要执行任何操作。否则,您需要使用 fdisk 等程序来调整分区及其内部文件系统的大小。
另外,您不能拥有没有分区的文件系统,除非您使用的任何操作系统写入随机位置,但随后它无法启动。