我们有一个在 VMWare vSphere 上运行的虚拟 Linux 服务器(Fedora Core 2.6.35.6-45.fc14.x86_64)。最初它有 3 个 SCSCI 驱动器,每个 32GB。现在我们将挂载在“/home”下的磁盘扩展到 256GB。但 Linux 服务器在重启后显然看不到这种变化。有没有一种安全的方法可以将 ext4 分区从 32GB 扩展到 256GB 而不丢失任何数据?
在提出这个问题之前,我已经在 Google 上搜索过,许多人建议使用 GParted。但是现在这似乎不适合我,因为我目前只能通过 shell 访问该服务器。
编辑:这是来自 df 的输出:
[root@d0001-prf01 dmr]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg_d0011prf01-lv_root
ext4 31705024 3385376 27997620 11% /
tmpfs tmpfs 4098300 88 4098212 1% /dev/shm
/dev/sda1 ext4 495844 31317 438927 7% /boot
/dev/mapper/vg_d0011prf01-lv_home
ext4 23674012 11840672 10630756 53% /home
如果需要,我可以提供更多分区信息。
编辑:我可以看到该 Linux 服务器上设置了 LVM:
lvm> lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv_home vg_d0011prf01 -wi-ao 22.94g
lv_root vg_d0011prf01 -wi-ao 30.72g
lv_swap vg_d0011prf01 -wi-ao 9.81g
这是否意味着我可以使用 lvresize 命令?
答案1
是的,看起来您可以使用 lvresize,假设卷组中有空间。
看看你是否有一些可用空间:-
sudo vgs -v vg_d0011prf01
如果愿意,您可以使用以下命令调整卷大小。以下操作将使大小增加 2Gig。
sudo lvextend -L+2G /dev/mapper/vg_d0011prf01-lv_home
然后使用 resize2fs 调整卷大小,例如:-
sudo resize2fs /dev/mapper/vg_d0011prf01-lv_home
答案2
有几种工具可用于调整分区大小,parted
(或者gparted
图形界面)可能是最好的选择。这里有两个步骤。首先,您必须将分区扩展到新空间,然后您必须扩展文件系统以使用整个分区。
我确实建议改用 LVM。以后管理此类更改的灵活性非常值得付出努力去设置它。您甚至可以在新的空白空间中添加一个新分区,在其中配置 LVM,在其中启动卷组和文件系统,将数据复制到新空间,然后托管当前分区,将其添加到卷组并扩展到它。
不管你做什么,除非你的系统已备份,否则不要做任何事情!