您的位置:首页 > 运维架构 > Linux

给Vmware进行硬盘(分区)无损扩容 (linux)

2015-07-31 00:14 330 查看
也可以使用工具

GParted-LiveCD

我一直在使用的一台测试用VMware虚拟机,其原来只有8G的磁盘大小,可最近因数据太多,导致空间不够。因不想重装系统,决定在保留原有数据的情况下,对其进行扩容。该扩容方法也适合于在现实环境中,即单个物理磁盘仍有剩余空间用于扩大原分区的情况(有点类似于Windows下使用PQmagic进行扩容的方法)。在进行扩容步骤的描述前,请先看您的机器是否符合如下的情况:

引用
1、分区使用ext2或ext3的文件系统;

2、分区所在的磁盘仍有剩余空间(或可通过删除旧分区腾出空间,即合并分区的情况);

3、剩余空间必须在紧跟需要扩容的分区之后;

4、只适合于单个磁盘的情况,单个盘柜的扩容也可以,但多个硬盘的合并是不行的;

※注意,该操作有危险,请务必注意备份数据。

一、系统环境

操作系统:红旗 DC Server 5.0

原VMware虚拟机磁盘空间是8G,使用其自带命令vmware-vdiskmanager.exe进行扩容:

cd "/Program Files/VMware/VMware Server"/

vmware-vdiskmanager -x 10Gb "D:/VMware/RedFlag/myLinux.vmdk"

-x参数后跟扩容后的大小,上面命令把原磁盘空间扩容到10Gb。

进入系统后,看到的情况如下:

引用
[root@mail ~]# df -B 4k

Filesystem 4K-块 已用 可用 已用% 挂载点

/dev/sda1 2000255 1837860 60785 97% /

none 64271 0 64271 0% /dev/shm

[root@mail ~]# df

Filesystem 1K-块 已用 可用 已用% 挂载点

/dev/sda1 8001020 7351788 242792 97% /

none 257084 0 257084 0% /dev/shm

[root@mail ~]# df -h

Filesystem 容量 已用 可用 已用% 挂载点

/dev/sda1 7.7G 7.1G 227M 97% /

none 252M 0 252M 0% /dev/shm

[root@mail ~]# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 1012 8128858+ 83 Linux

/dev/sda2 1013 1044 257040 82 Linux swap

二、操作步骤

我们要进行操作的是/dev/sda1这个根分区,该分区目前大小是8G左右,经VMware扩容后,该分区所在硬盘剩余空间约有2G。但需要注意的是,剩余空间并不是在/dev/sda1分区的后面(右面),而是在硬盘的最后。所以,我们在进行扩容工作的时候,必须先把swap删掉,把剩余空间连接到/dev/sda1的后面,才能进行扩容的操作。(若用过PQmagic的朋友,应该明白这一点)

另外,虽然resize2fs支持在线扩容,但为了安全起见,我还是建议用umount的离线方式进行会更好。

1、进入拯救模式

因我要操作的是系统根分区,而又需要在umount状态下,故只能由拯救模式进行了。

使用系统安装光盘启动后,进入拯救模式:

boot: linux rescue

并选择不要挂载本地磁盘分区。

2、删除swap分区

# fdisk /dev/sda





3、准备扩容

检查分区,及去掉索引,恢复到ext2状态:





4、修改分区表

在扩容的时候,需要先删除原来的sda1分区,然后在原扇区的基础上重建分区,并增加其大小。(放心,虽然期间有删除分区表的操作,但磁盘数据并不会丢失的)

# fdisk /dev/sda





重建swap分区:





改为swap分区格式:





激活启动选项,并保存分区表:





5、扩容分区

使用resize2fs进行扩容:





给ext2增加索引,升级为ext3格式:





6、格式化swap分区





最后,重启并确认系统是否正常。

7、结果

引用
[root@mail ~]# df -B 4k

Filesystem 4K-块 已用 可用 已用% 挂载点

/dev/sda1 2518272 1839511 576428 77% /

none 64271 0 64271 0% /dev/shm

[root@mail ~]# df

Filesystem 1K-块 已用 可用 已用% 挂载点

/dev/sda1 10073088 7358044 2305712 77% /

none 257084 0 257084 0% /dev/shm

[root@mail ~]# df -h

Filesystem 容量 已用 可用 已用% 挂载点

/dev/sda1 9.7G 7.1G 2.2G 77% /

none 252M 0 252M 0% /dev/shm

[root@mail ~]# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 1274 10233373+ 83 Linux

/dev/sda2 1275 1305 249007+ 82 Linux swap

※ 可见,整个过程相对比使用LVM管理的方式要复杂,因为LVM方式不用涉及剩余空间位置的问题(LVM的扩容都是在原分区后面增加剩余空间的)。并且,该方式对于多个分区管理的情况,操作会更加麻烦,也很难实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: