我有一台运行 CentOS 6.3 的虚拟机。未安装 LVM。从虚拟机方面来看,我已将底层磁盘从 15GB 增加到 40GB,因此现在需要扩展分区和文件系统。
我已成功启动到“救援模式”,因此没有挂载任何文件系统。我的问题出现在尝试使用 parted 的 resize 命令时。
[root@livedvd ~]# parted
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 269MB 268MB primary ext3 boot
2 269MB 1880MB 1880MB primary linux-swap(v1)
3 1880MB 17.2GB 15.3GB primary ext4
(parted)
因此我现在尝试使用以下命令扩展分区:
(parted) resize 3 4366MB 35GB
WARNING: you are attempting to use parted to operate on (resize) a file system...
...
No Implmentation: Support for opening ext4 file systems is not implemented yet.
(parted)
太棒了!6.3 这么老了!我进行了 yum 更新,但没什么变化。警告消息继续说我应该使用 e2fsprogs。我尝试了 resize2fs /dev/sda3,但它显示“文件系统已经是 3735296 个块长。没什么可做的”。我的理解是这是针对文件系统的。我必须先扩展分区。
我还将内存从 1GB 增加到了 4GB,因此我也尝试增加 linux-swap,因此值为 4366MB。
我发现这网站,引用“无实施错误”并建议我使用 cfdisk /dev/sda3。帖子继续说这将删除分区。然后我应该用 resize2fs /dev/sda3 重新创建它。我不确定我是否喜欢删除分区的声音。
如果有人能给我指明正确的方向,我将不胜感激。
答案1
我从未使用 parted 执行过此操作,但是我使用 fdisk/resize2fs 执行过。以下是有关如何执行此操作的链接:
http://geekpeek.net/resize-filesystem-fdisk-resize2fs/
基本上它的要点是:
- 卸载正在调整大小的文件系统
- 删除该分区,并创建一个具有相同第一个扇区的更大的分区(您所做的只是删除分区表中的引用,而不是实际分区,因此它会在新的更大的分区中找到文件系统)
- 扩展文件系统以填充更大的分区
- 重新挂载调整大小后的文件系统。
答案2
https://ubuntuforums.org/showthread.php?t=1389429
我通过使用 parted 执行以下操作解决了这个问题:
Run parted on your device: parted /dev/sdX
Change display unit to sectors: unit s
Print current partition table and note the start sector for your partition: p
Delete your partition (won't delete the data or filesystem): rm <number>
Recreate the partition with the starting sector from above: mkpart primary <start> <end>
Exit parted: quit
Check the filesystem: sudo e2fsck -f /dev/sdXX
Resize filesystem: sudo resize2fs /dev/sdXX
答案3
对于那些运行 LVM 的用户,请执行以下操作。如果您没有运行 LVM,则应该运行。在这里的虚拟环境中全天运行 lvm。我知道这不能回答您的问题,但它可能会对使用 LVM 的人有所帮助,所以请看这里。
如果您不添加光盘,您需要做的就是在在线和安装时运行以下命令来添加空间。
首先运行 vgdisplay,如果有可用空间
lvresize -L +10G /dev/VGname/LVname
然后运行 resize2fs /dev/VGname/LVname
你完成了。