增加VMware下的虚拟机磁盘空间

在安装虚拟机Linux的时候,为了节省硬盘空间,常把硬盘容量设置得较小,可是随着安装软件的增加,比如OracleSUN Studio等软件,硬盘容量就不够用了。

VMware6.0安装目录下有一个命令行工具vmware-vdiskmanager.exe 程序,可用来修改虚拟机硬盘的大小。方法如下:

1.       关闭虚拟机;启动Windows下的命令提示符界面;

2.       命令进入VMware的安装目录(如:D:/VMware,输入“vmware-vdiskmanager”后按回车键,可显示关于该命令的说明。

3.       执行如下命令:

   vmware-vdiskmanager -x 20Gb "J:/VMware Space/SUSE Linux 64-bit.vmdk"

参数-x表示要扩展虚拟机硬盘空间;紧随其后的数字指要扩展的大小(如20Gb,表示磁盘总量,包含原来的磁盘容量);最后是要操作的虚拟机Linux的具体文件。若路径名中有空格,必须以双引号括起来。

等待约20分钟,执行完毕,退出命令提示符窗口,重启VMware,这时虚拟机硬盘空间已变成20GB了。这个过程中,已安装的Linux系统不会被破坏。

如果原来的虚拟机硬盘已被分成了多个分区,那么在通过 vmware-vdiskmanager.exe扩大了硬盘空间后,还需要在虚拟机系统中将增加的分区划分、格式化。

4.       启动虚拟机系统,用root登录(后续所有步骤都应以root用户身份登录操作),在 命令行用fdisk -l查看。由于这里是直接修改了原始空间大小,因此可以看到/dev/sda空间改变为21.4GB。如果是从VMware菜单里增加虚拟硬盘,则会多出一个/dev/sd?,这里的?代表硬盘编号,第一个硬盘编号为asda,第二个就是sdb,第三个是sdc,以此类推,一般来说,如果以前没有增加过硬盘,那么原来的硬盘就是sda,通过VMware菜单增加的虚拟硬盘编号就是sdb。如果添加的第二块硬盘是IDE硬盘,就应该看到hdb,如果是SCSI硬盘,看到的就应该是sdb

hawkzy:~ # fdisk -l

 

Disk /dev/sda: 21.4 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x00067588

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1          95      763056   82  Linux swap / Solaris

/dev/sda2   *          96         868     6209122+  83  Linux

/dev/sda3             869        1958     8755425   83  Linux

5.       使用fdisk /dev/sda进入菜单项,m是列出菜单,p是列出分区表,n是增加分区,w是保存并推出。由于系统已经有了3个主分区,因此将这次新增的空间划分为扩展分区,再将扩展分区重新分区。由于这里扩展分区只有5G,因此5G划为一个区。

hawkzy:~ # fdisk /dev/sda

 

The number of cylinders for this disk is set to 2610.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

   (e.g., DOS FDISK, OS/2 FDISK)

 

Command (m for help): m

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)

 

Command (m for help): p

 

Disk /dev/sda: 21.4 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x00067588

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1          95      763056   82  Linux swap / Solaris

/dev/sda2   *          96         868     6209122+  83  Linux

/dev/sda3             869        1958     8755425   83  Linux

 

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

e

Selected partition 4

First cylinder (1959-2610, default 1959):

Using default value 1959

Last cylinder or +size or +sizeM or +sizeK (1959-2610, default 2610):

Using default value 2610

 

Command (m for help): p

 

Disk /dev/sda: 21.4 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x00067588

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1          95      763056   82  Linux swap / Solaris

/dev/sda2   *          96         868     6209122+  83  Linux

/dev/sda3             869        1958     8755425   83  Linux

/dev/sda4            1959        2610     5237190    5  Extended

 

Command (m for help): n

First cylinder (1959-2610, default 1959):

Using default value 1959

Last cylinder or +size or +sizeM or +sizeK (1959-2610, default 2610):

Using default value 2610

 

Command (m for help): p

 

Disk /dev/sda: 21.4 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x00067588

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1          95      763056   82  Linux swap / Solaris

/dev/sda2   *          96         868     6209122+  83  Linux

/dev/sda3             869        1958     8755425   83  Linux

/dev/sda4            1959        2610     5237190    5  Extended

/dev/sda5            1959        2610     5237158+  83  Linux

Command (m for help): w

 

6.       mkfs命令将其格式化为ext3格式。

mkfs.ext3 /dev/sda5

7.       增加文件夹/opt/sda5。这里增加的文件夹是为了挂载新增加的分区。

mkdir -p /opt/sda5

8.       修改文件/etc/fstab,挂载/dev/sda5/opt/sda5

先备份:

hawkzy:~ # cp /etc/fstab /etc/fstab.bak

再在文件/etc/fstab最后一行增加如下内容下面

/dev/sda2            /                    ext3       acl,user_xattr        1 1

/dev/sda3            /home                ext3       acl,user_xattr        1 2

/dev/sda1            swap                 swap       defaults              0 0

/home/swap           swap                 swap       defaults              0 0

proc                 /proc                proc       defaults              0 0

sysfs                /sys                 sysfs      noauto                0 0

debugfs              /sys/kernel/debug    debugfs    noauto                0 0

usbfs                /proc/bus/usb        usbfs      noauto                0 0

devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

/dev/sda5            /opt/sda5            ext3       defaults              1 1

9.       重启init 6

查看:

hawkzy@hawkzy:~> df -k

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/sda2              6111520   5433528    367536  94% /

udev                    648032        60    647972   1% /dev

/dev/sda3              8617868   7008780   1171320  86% /home

/dev/sda5              5154852    141440   4751556   3% /opt/sda5

现在挂载已经成功。但是,由于系统空间小的问题并没有解决(/dev/sda2空间仅余下6%),因此还需要进一步修改配置。

10.    备份/usr文件夹下的文件到/opt/sda5

经过分析/dev/sda2/usr文件夹非常大,占据3.5G空间,为了释放系统空间,这里考虑将用新增加的分区作为/usr的镜像。而/opt/sda5挂载的/dev/sda5,空间有5G,足够使用了。

拷贝/usr下的所有文件到/opt/sda5下:

cp -r /usr/* /opt/sda5/

11.    重新修改/etc/fstab文件,挂载/dev/sda5/usr目录下

这一步修改文件重启后才能生效。但是修改完后暂时不要重启

/dev/sda5            /usr                ext3       defaults              1 1

12.    保留/usr文件夹,但是删除/usr下的所有文件,为挂载做准备。

cd /usr

rm -rI *

删除完后重启。重启后用命令观察是否挂载成功,正常情况下应该能够顺利完成。如果挂载失败,应修改文件/etc/fstab并且用命令mount重新挂载:

mount /dev/sda5 /usr

hawkzy@hawkzy:~> df -k

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/sda2              6111520   2780952   3020112  48% /

udev                    648032        60    647972   1% /dev

/dev/sda3              8617868   7011912   1168188  86% /home

/dev/sda5              5154852   4675196    217800  96% /usr

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值