在VmWare下面,硬盘空间如果不够的话,是不能动态增加硬盘空间的。只得新增一块硬盘。
方法如下:
1、先将虚拟机Power Off,在Virtual Machine Setting对话框里点击左下角的“Add”,选择“Hard Disk”,之后选择“Create a new virtual disk”,分配容量,其他默认配置就可以了。
2、启动虚拟机系统,用root登陆,在 命令行用fdisk -l查看是否识别了新硬盘,如果添加的是IDE硬盘,就应该看到hdb,如果是SCSI硬盘,看到的就应该是sdb。
Disk /dev/sdc: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sdc doesn't contain a valid partition table
因为我之前已经加过一块硬盘了,所以这里显示sdc。
3、使用fdisk /dev/sdc,在出现的选项中选择“w”,即将分区表写入硬盘并退出,这时再用fdisk -l查看就会发现:
Disk /dev/sdc: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x5404b953
Device Boot Start End Blocks Id System
4、用mkfs命令将其格式化,mkfs /dev/sdc
5、用mount命令将其挂载,mount -t ext2 /dev/sdb /media
done!
结论:结测试,好象有一点问题,不能正常访问sdb盘。[freeman comments]这种方法只能增加独立硬盘。
下面是为vmware扩展一个硬盘作为分区用的步骤:
1、在vmware的配置中,增加一块硬盘,有HDE/SCSI两种硬盘。
2、进入linux,ls /dev/sd*,可以看到sda,sdb sdc,我的是第二块SCSI硬盘,因此是/dev/sdc
3、创建物理卷:# pvcreate /dev/sdc 执行后,可以看到物理卷创建成功。
4、# vi /etc/fstab可以看到,物理卷组和逻辑卷都是存在的/dev/VolGroup00/LogVol00
因此,我就加入现有的物理卷:vgextend -v VolGroup00 /dev/sdc
5、需要扩展逻辑卷组的大小
# lvextend -L+8G /dev/VolGroup00/LogVol00 -v
用pvdisplay,vgdisplay和lvdisplay命令来看,确实增加了8G的容量。但是用#df命令来看,LogVol00大小仍然没有变,是什么原因呢?
我想应该是没有用fdisk来对/dev/sdc进行分区。
于是执行:# fdisk /dev/sdc
分区时选主分区,hex code为8e,代表分区为linux LVM格式。因为我准备把它加入到/根分区中去。
我用#mkfs -t ext3 /dev/sdc1格式化,结果说是系统在使用,不能格式化,看起来,得把逻辑分区建立起业后,才可以统一的格式化。这相当于是RAID盘。物理盘看不见了,能够看见的,就是逻辑盘。
怎么办?我有一个担心,我在sda2上面保存有我的数据文件啊,不能格式化的。
很不幸的是,我不小心执行了# vgreduce -a /dev/hdc,结果是把我的VG干掉了。不过系统还在正常使用中,不知道重启后会怎么样。
重启后,mount不上根文件系统,系统挂了。
总结:
sdc其实不需要分区,只需要pvcreate,然后加入VG分组,扩展逻辑分组区大小即可。这一块PE区是否可以被ext3分区,好象不必去管。因为如果是分了区,格式化了,那就只能用mount的方法来挂载(这是推荐的方法,可以mount /usr区,这样也就可以置于/根文件系统的管理之下。
物理卷组是mkfs的对象,而物理卷是不能单独来format的,切记!所以,sdc根本就不需要fdisk,然后mkfs.ext3 /dev/sdc1这样的操作过程。如果分区并格式化了,就必须用mount的方法来挂载。
2010-6-10号总结,由于我在/etc/fstab中挂载的一个sdc容量不够,我不得不删除重新扩容。
我这次没有执行fdisk /dev/sdc,而是直接执行mkfs.ext3 /dev/sdc来format,整盘格式化是允许的。
不过挂载的设备要变为/dev/sdc而不是/dev/sdc1