- 论坛徽章:
- 0
|
由于实验需要,我在vmware workstation里装了个CentOS5.3,当时安装时设置swap分区1G,根分区19G。
现因为需要,需扩大根分区大小到50G以上。
我先用VMware DiskManager将CentOS的虚拟磁盘
空间
扩至55G(其实就是对vmdk文件动手术),基本把我物理磁盘的空余空间都给它了,centos5.vmdk文件的体积比原来大多了
然后我查到可以用gparted来调整
linux
的分区,据说是linux下的类似于pqmagic的图形化分区调整软件,于是就下载了一个gparted live cd最新版0.4.6,是一个iso文件,gparted-live-0.4.6-1.iso。这个
文件
的获取也是费了好长时间和精力,因为官网实在是太慢了,我还以为被封锁了,于是爬墙出去,还是慢,后来总算找到一个tw镜像,于是一整天时间就这样没了。接着我在vmware里设置bios,将该iso映像文件作为centos系统启动时的第一启动介质,可是gparted live cd运行后,认不到任何分区。看来这种方法无法实现不了。我又按照gparted的官方
指南
,下载了gparted的zip文件,可是在解压时出现如下错误,不知道究竟是怎么回事?
[root@remote-server gparted]# ll
total 102136
-rw-r--r-- 1 root root 104478706 Aug 17 01:48 gparted-live-0.4.6-1.zip
[root@remote-server gparted]# unzip gparted-live-0.4.6-1.zip -d /mnt
Archive: gparted-live-0.4.6-1.zip
error [gparted-live-0.4.6-1.zip]: missing 2840 bytes in zipfile
(attempting to process anyway)
error [gparted-live-0.4.6-1.zip]: start of central directory not found;
zipfile corrupt.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
[root@remote-server gparted]#
实在没有办法了,上网找答案,没有什么结果,又是一天过去了,没有什么收获,郁闷至极,这时看到一篇文章(
http://www.linuxfly.org/post/243/
),和我的情况有点类似,于是我就照着他的步骤一步步坐下来,成功进行了分区.
下面我把这篇文章贴出来,并根据自己在操作中的实际情况,再对原文作一个批注(斜体绿色),希望对有同样问题的朋友有所帮助。再次再一次感谢原作者
[原]给Vmware进行硬盘扩容
![]()
![]()
linuxing
, 12:39 ,
基础
知识
»
硬件处理
,
评论(0)
,
引用(0)
,
阅读(3004)
, Via 本站原创
![]()
大
|
中
|
小
![]()
引用地址:
注意:该地址仅在今日23:59:59之前有效
我一直在使用的一台测试用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
并选择不要挂载本地磁盘分区。(我是系统是centos,我把centos的dvd ISO文件在vmware的虚拟机
设置
里加载,并在启动时按F2进入BIOS设置,CDROM为第一启动,保存启动,按F5进入救援模式,在boot:提示符后输入 linux rescue)
2、删除swap分区
# fdisk /dev/sda (可以先用df -lh看一下调整之前的分区情况。fdisk命令里面的p代表在屏幕上列出分区情况,d是删除一个分区,2代表sda2,即想要删除的swap分区,这张图的最后一步没有写,其实是需要w保存分区表退出的,这点各位要注意)
![]()
500) {this.resized=true; this.width=500;}">
3、准备扩容
检查分区,及去掉索引,恢复到ext2状态:(我的centos会提示yes还是no,选择yes,我第一次选no了没有成功)
![]()
500) {this.resized=true; this.width=500;}">
4、修改分区表
在扩容的时候,需要先删除原来的sda1分区,然后在原扇区的基础上重建分区,并增加其大小。(放心,虽然期间有删除分区表的操作,但磁盘数据并不会丢失的)
# fdisk /dev/sda(这里有个地方需要注意一下,就是在新建第一个主分区时,要输入起始的柱面,默认为1就可以了,结束的柱面(按原作者的实际情况)默认为1305,这个地方你不能就按照它这个默认的,因为你还需要留出空间作为swap分区,所以原作者在这里填入1274,留出了将近250M出来。各位朋友你们可以根据你们的实际情况留出相应的空间,通常swap为内存大小的2倍,比如你内存为1G,你这里就留出2G)
![]()
500) {this.resized=true; this.width=500;}">
重建swap分区:
![]()
500) {this.resized=true; this.width=500;}">
改为swap分区格式:
![]()
500) {this.resized=true; this.width=500;}">
激活启动选项,并保存分区表:
![]()
500) {this.resized=true; this.width=500;}">
5、扩容分区
使用resize2fs进行扩容:(这一步也有yes或no的提示,选择yes)
![]()
500) {this.resized=true; this.width=500;}">
给ext2增加索引,升级为ext3格式:
![]()
500) {this.resized=true; this.width=500;}">
6、格式化swap分区
![]()
500) {this.resized=true; this.width=500;}">
最后,重启并确认系统是否正常。
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的扩容都是在原分区后面增加剩余空间的)。并且,该方式对于多个分区
管理
的情况,操作会更加麻烦,也很难实现。
关于LVM方式的扩容问题,请见这里:
[原]LVM2命令和测试
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/103501/showart_2033348.html |
|