ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux 虚拟机扩展磁盘空间

Linux 虚拟机扩展磁盘空间

原创 Linux操作系统 作者:tian1982tian 时间:2012-05-19 10:45:46 0 删除 编辑

Linux 虚拟机扩展磁盘空间

    昨天,服务器上的虚拟机磁盘空间使用率达到100%了,真实麻烦,有什么办法将其扩展呢。具体方法如下、

VMware7.0安装目录下有一个命令行工具vmware-vdiskmanager.exe 程序,可用来修改虚拟机硬盘的大小。方法如下:
1. 关闭虚拟机;启动Windows下的命令提示符界面
2. 命令进入VMware的安装目录(如:F:\VMware),输入“vmware-vdiskmanager”后按回车键,可显示关于该命令的说明
3. 执行如下命令:
   vmware-vdiskmanager -x  30Gb "g:\project\Red Hat Enterprise Linux 5 64-bit.vmdk"  回车执行
参数-x表示要扩展虚拟机硬盘空间;
紧随其后的数字指要扩展的大小(如30Gb,表示磁盘总量,包含原来的磁盘容量);最后是要操作的虚拟机Linux的具体文件;
若路径名中有空格,必须以双引号括起来。
等待大约几分钟,执行完毕,退出命令提示符窗口,重启VMware,这时虚拟机硬盘空间已变成20GB了。这个过程中,已安装的Linux系统不会被破坏。
如果原来的虚拟机硬盘已被分成了多个分区,那么在通过 vmware-vdiskmanager.exe扩大了硬盘空间后,还需要在虚拟机系统中将增加的分区划分、格式化。
4. 启动虚拟机系统,用root登录(后续所有步骤都应以root用户身份登录操作),在 命令行用fdisk -l查看。由于这里是直接修改了原始空间大小,因此可以看到/dev/sda空间改变为21.4GB。如果是从VMware菜单里增加虚拟硬盘,则会多出一个/dev/sd?,这里的?代表硬盘编号,第一个硬盘编号为a即sda,第二个就是sdb,第三个是sdc,以此类推,一般来说,如果以前没有增加过硬盘,那么原来的硬盘就是sda,通过VMware菜单增加的虚拟硬盘编号就是sdb。如果添加的第二块硬盘是IDE硬盘,就应该看到hdb,如果是SCSI硬盘,看到的就应该是sdb。
hawkzy:~ # fdisk -l
Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          95      763056   82  Linux swap / Solaris
/dev/sda2   *          96         868     6209122+  83  Linux
5. 使用fdisk /dev/sda进入菜单项,m是列出菜单,p是列出分区表,n是增加分区,w是保存并推出。由于系统已经有了2个主分区,因此将这次新增的空间划分为扩展分区,再将扩展分区重新分区。由于这里扩展分区只有10G,因此10G划为一个区。
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): 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: 30GB, 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
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
/dev/sda1               1          95      763056   82  Linux swap / Solaris
/dev/sda2   *          96         868     6209122+  83  Linux
/dev/sda3             869        1958     8755425   5   Extended
/dev/sda4             869        1958     8755425   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
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/sda4              5154852    141440   4751556   3% /opt/sda5
 
现在挂载已经成功。但是,由于系统空间小的问题并没有解决(/dev/sda1空间仅余下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 -rf *
删除完后重启。重启后用命令观察是否挂载成功,正常情况下应该能够顺利完成。如果挂载失败,应修改文件/etc/fstab并且用命令mount重新挂载:
mount /dev/sda4  /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/sda4              5154852   4675196    217800  96% /usr
 
此时,已经将根目录的/dev/sda1分区的空间扩充了

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16400082/viewspace-730211/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 记一次误操作
下一篇: Linux 分区删除
请登录后发表评论 登录
全部评论

注册时间:2010-12-29

  • 博文量
    70
  • 访问量
    162741