VMware虚拟机扩容
作者:金良(golden1314521@gmail.com) csdn博客:http://blog.csdn.net/u012176591
用了一段Linux虚拟机。发现安装虚拟机时分配的空间不够用,又不舍得删掉虚拟机重装。毕竟辛辛苦苦在上面装了好多软件,我可不想再为这些配置折腾一番。
怎么办呢,当然是虚拟机扩容。
1.虚拟机所在磁盘空间不够,能够把虚拟机复制到还有一块磁盘里。
2.进入VMware的安装文件夹,在命令提示符后输入"vmware-vdiskmanager",什么參数也不加直接按回车键。可显示这一命令的说明。
3.这一步要关闭虚拟机才行:
扩容命令:C:\Program Files\VMware\VMware Workstation>vmware-vdiskmanager -x 40Gb "D:\Program Files\Virtual Machines\Ubuntu\Ubuntu.vmdk"
參数 "-x" 表示要扩展虚拟机硬盘空间,紧随其后的数字是要扩展到的大小 ( 扩展到 40GB ,包括了原先的磁盘容量 ) 。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29sZGVuMTMxNDUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
重新启动 VMware 。会发现虚拟机硬盘空间已变成 40GB 了
4.运行命令 df -ah查看磁盘情况,发现磁盘空间和扩容前一样。仍是20G:
5.查看分区,运行命令:
- fdisk -l
以下是当前的磁盘分区表截图。这时我们能够看到磁盘的总量的确添加到 40GB 了,可是分区仅仅有曾经的那几个原有的分区。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29sZGVuMTMxNDUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
添加分区过程截图:
重新启动后格式化该分区:
发现一个问题,我命名扩增了20G。为什么新增的分区容量这么小,以至于格式化时提示“Filesystem too small for a journal”
再看虚拟机配置。截图:
图上显示的是:眼下此虚拟硬盘的大小(current size)是19.8G,最大是(maximum size)40G。可是怎么获得这个最大磁盘容量呢?
然后我用了还有一种方法扩容:
与之前的思路不同,本方法不是扩大原来的虚拟磁盘的容量,而是另加一个虚拟磁盘来扩充容量。
第一步、退出Linux虚拟机系统。通过在VMware上对虚拟机进行设置来添加一块虚拟硬盘。
附截图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29sZGVuMTMxNDUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29sZGVuMTMxNDUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29sZGVuMTMxNDUyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
第二步、重新启动Linux虚拟机,对这块虚拟硬盘进行分区、格式化和挂载。
看下磁盘分区情况:
- root@ubuntu:/home/now/android4.0.1# fdisk -l
- Disk /dev/sda: 21.5 GB, 21474836480 bytes
- 255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0x000e4e09
- Device Boot Start End Blocks Id System
- /dev/sda1 * 2048 39845887 19921920 83 Linux
- /dev/sda2 39847934 41940991 1046529 5 Extended
- /dev/sda5 39847936 41940991 1046528 82 Linux swap / Solaris
- Disk /dev/sdb: 21.5 GB, 21474836480 bytes
- 255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0x00000000
- Disk /dev/sdb doesn't contain a valid partition table
这里能够看到/dev/sdb 就是我们新加入的硬盘。我们须要给新的硬盘分区。
步骤例如以下(看提示):
- root@ubuntu:/home/now/android4.0.1# fdisk /dev/sdb
- Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
- Building a new DOS disklabel with disk identifier 0x9d6a9772.
- Changes will remain in memory only, until you decide to write them.
- After that, of course, the previous content won't be recoverable.
- Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
- 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
- Partition type:
- p primary (0 primary, 0 extended, 4 free)
- e extended
- Select (default p): p
- Partition number (1-4, default 1): 1
- First sector (2048-41943039, default 2048):
- Using default value 2048
- Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):
- Using default value 41943039
- Command (m for help): p
- Disk /dev/sdb: 21.5 GB, 21474836480 bytes
- 255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0x9d6a9772
- Device Boot Start End Blocks Id System
- /dev/sdb1 2048 41943039 20970496 83 Linux
- Command (m for help): w
- The partition table has been altered!
- Calling ioctl() to re-read partition table.
- Syncing disks.
再看磁盘分区,已达到我们想要的结果:
- root@ubuntu:/home/now/android4.0.1# fdisk -l
- Disk /dev/sda: 21.5 GB, 21474836480 bytes
- 255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0x000e4e09
- Device Boot Start End Blocks Id System
- /dev/sda1 * 2048 39845887 19921920 83 Linux
- /dev/sda2 39847934 41940991 1046529 5 Extended
- /dev/sda5 39847936 41940991 1046528 82 Linux swap / Solaris
- Disk /dev/sdb: 21.5 GB, 21474836480 bytes
- 213 heads, 34 sectors/track, 5791 cylinders, total 41943040 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk identifier: 0x9d6a9772
- Device Boot Start End Blocks Id System
- /dev/sdb1 2048 41943039 20970496 83 Linux
我们把新加的磁盘/dev/sdb1 挂载到根分区
- root@ubuntu:/home/now# mount /dev/sdb1 /
- mount: you must specify the filesystem type
系统提示须要明白的文件类型,即我们须要对其进行格式化。
以下是格式化操作:
- root@ubuntu:/home/now# mkfs -t ext3 /dev/sdb1
- mke2fs 1.42 (29-Nov-2011)
- Filesystem label=
- OS type: Linux
- Block size=4096 (log=2)
- Fragment size=4096 (log=2)
- Stride=0 blocks, Stripe width=0 blocks
- 1310720 inodes, 5242624 blocks
- 262131 blocks (5.00%) reserved for the super user
- First data block=0
- Maximum filesystem blocks=0
- 160 block groups
- 32768 blocks per group, 32768 fragments per group
- 8192 inodes per group
- Superblock backups stored on blocks:
- 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
- 4096000
- Allocating group tables: done
- Writing inode tables: done
- Creating journal (32768 blocks): done
- Writing superblocks and filesystem accounting information: done
然后挂载,成功:
- root@ubuntu:/home/now# mount /dev/sdb1 /
- root@ubuntu:/home/now#
查看挂载情况,能够看到/dev/sdb1挂载到了根分区:
- root@ubuntu:/home/now# df
- Filesystem 1K-blocks Used Available Use% Mounted on
- /dev/sda1 19478204 16257028 2208696 89% /
- udev 503544 4 503540 1% /dev
- tmpfs 102472 1108 101364 2% /run
- none 5120 0 5120 0% /run/lock
- none 512352 152 512200 1% /run/shm
- /dev/sdb1 19478204 16257028 2208696 89% /
能够看到这不是我们想要的结果,这是由于“挂载点”必须是一个已经存在的文件夹,这个文件夹能够不为空,但挂载后这个文件夹下曾经的内容将不可用,只是umount以后会恢复正常。
使用卸载命令,发现不能卸载:
- root@ubuntu:/# umount /dev/sdb1
- umount: /: device is busy.
- (In some cases useful info about processes that use
- the device is found by lsof(8) or fuser(1))
好在使用mount挂载系统的一个特点是一旦系统重新启动之后就失效,须要又一次挂载。
所以我们重新启动就能卸载掉磁盘/dev/sdb1了。
系统重新启动后。在根文件夹下新建一个子文件夹(由于全部的文件夹都是挂载到根文件夹下的),然后把磁盘/dev/sdb1挂载在此文件夹下:
- root@ubuntu:/home/now# cd /
- root@ubuntu:/# mkdir /storehouse
- root@ubuntu:/# mount /dev/sdb1 /storehouse
查看存储空间利用情况:
- root@ubuntu:/# df -h
- Filesystem Size Used Avail Use% Mounted on
- /dev/sda1 19G 16G 2.2G 88% /
- udev 492M 4.0K 492M 1% /dev
- tmpfs 101M 956K 100M 1% /run
- none 5.0M 0 5.0M 0% /run/lock
- none 501M 152K 501M 1% /run/shm
- /dev/sdb1 20G 173M 19G 1% /storehouse
看到了吧,最后一行就是我们挂载的文件夹。
使用下面试试。往里面拷贝一个压缩文件:
- root@ubuntu:/# cp /home/now/android4.0.1.tar.gz /storehouse
- root@ubuntu:/# ls /storehouse/
- android4.0.1.tar.gz lost+found
然后查看存储空间利用情况:
- root@ubuntu:/# df -h
- Filesystem Size Used Avail Use% Mounted on
- /dev/sda1 19G 16G 2.2G 88% /
- udev 492M 4.0K 492M 1% /dev
- tmpfs 101M 968K 100M 1% /run
- none 5.0M 0 5.0M 0% /run/lock
- none 501M 152K 501M 1% /run/shm
- /dev/sdb1 20G 1.9G 17G 11% /storehouse
可以看到可以正常使用。
改动/etc/fstab文件,开机自己主动挂载:
如图。红色方框是我们加入的
VMware虚拟机扩容的更多相关文章
- 虚拟化之vmware虚拟机扩容与克隆
前提条件: 1.在新建虚拟机的时候创建磁盘如下图,之后这个磁盘就可以在虚拟机关机状态下动态扩展大小,否则只能通过添加另外一块硬盘的方式来扩容.
- [linux]vmware中linux虚拟机扩容 标签: vmware虚拟机linux 2016-09-05 08:03 315人阅读 评
扩容原因 现阶段,虚拟机的标配都是1G内存和20G硬盘,大部分时候是够用的,但是也会出现虚拟机里面东西放多了硬盘不够用的情况,这种情况下,除了清理垃圾,另外就只能给虚拟机扩容了.因为window扩容相 ...
- [转载]实战Linux下VMware虚拟机根目录空间扩充
[转载]实战Linux下VMware虚拟机根目录空间扩充 (2011-07-31 21:34:34) 转载▼ 标签: 转载 原文地址:实战Linux下VMware虚拟机根目录空间扩充作者:shar ...
- Vmware虚拟机安装Ubuntu并设置root登陆
主机操作系统是win7.在Ubuntu官网下好系统镜像.iso文件,安装好Vmware workstation软件 1 安装Ubuntu系统到Vmware虚拟机: 注意下面这步是无法直接设置账号为ro ...
- Vmware虚拟机Devstack安装openstack(All in one)
Vmware虚拟机Devstack安装openstack(All in one) 博客园第一篇博客,先练习一下. 官方文档 环境 Vmware虚拟机 OS : Ubuntu 14.04 Nat网络,D ...
- [原创]Windows Server 2003 物理机转换为VMware虚拟机出现VSS错误的处理
一台Windows Server 2003 物理机需要转换为VMware虚拟机,工具为Vmware vCenter Converter Standalone 6.0,转换开始就出现错误“FAILED: ...
- VMWare虚拟机实例拷贝到另一台服务器后出现Error in the RPC receive loop: RpcIn: Unable to send.错误的解决
把一个VMWare虚拟机实例拷贝到另一台服务器后,在事件查看器中的应用程序日志中不断出现Error in the RPC receive loop: RpcIn: Unable to send.错误, ...
- 使用Vmware虚拟机部署开发环境之Mac OS X系统安装
一.使用VMware虚拟机部署Swift开发环境所需工具: Vmware Workstation 10.0虚拟机软件 VM安装Mac解锁工具Unlock 苹果操作系统(Mac OS X Maveric ...
- 修改VMware虚拟机里面的显卡名称
修改VMware虚拟机里面的显卡名称 现在有些蛋疼坑爹的游戏,会检测显卡的名称,如果其中有“Vmware”这类的字眼,就会提示程序在虚拟机中运行而拒绝执行(太不科学了嘛,我要是把我的实机驱动名称也改成 ...
随机推荐
- Servlet,JDBC,JSONObject三者配和处理客户端请求并返回正确的json数据
JSON简介 首先我们来理解json(JavaScript Object Notation),如果你熟悉python的字典结构和列表结构,其实json格式是非常容易理解的,当然不熟也不难理解,网上的资 ...
- 转载RabbitMQ入门(3)--发布和订阅
发布和订阅 (使用java 客户端) 在先前的指南中,我们创建了一个工作队列.这工作队列后面的假想是每一个任务都被准确的传递给工作者.在这部分我们将会做一些完全不同的事情–我们将一个消息传递给多个消费 ...
- Delphi 为什么它提示PCHAR是不安全的类型呢 Unsafe type 'PChar'
DELPHI7已经考虑到了移植到点NET的问题,在点NET里,指针是不安全的.至于为什么有的人遇到,有的人没有遇到,那是因为各人的编译选项不同.在Project菜单下选Options“Compiler ...
- 也说Autofac在MVC的简单实践:破解在Controller构造函数中的实例化 - winhu
相信大家对Autofac并不陌生,很多人都在使用.本文只是介绍一下本人在使用时的一点想法总结. 在使用一个框架时,肯定要去它的官网查阅一下.autofac的官网给出了一些经典的使用案例.如注册容器: ...
- webdriver(python)学习笔记二
自己开始一个脚本开始学习: # coding = utf-8 from selenium import webdriver browser = webdriver.Firefox() browser. ...
- 软件测试技术(五)——Software Review
本周的测试课上进行了一次同行评审的演练,大家讨论的很热烈,不过我也发现了一些不太理解的过程,如如何进行计划活动,走读.技术评审.正规检视是基于什么目的,并应该在何时进行.我做了一下详细的研究. 首先, ...
- 总结:ADO.NET在开发中的部分使用方法和技巧
如何使用 SqlDataAdapter 来检索多个行 以下代码阐明了如何使用 SqlDataAdapter 对象发出可生成 DataSet 或 DataTable 的命令.它从 SQL Server ...
- 【Windows核心编程】重载类成员函数new / new[] / delete / delete[]
// Heap.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <Windows.h> #include &l ...
- LeetCode题解——3Sum Closest
题目: 给定一个数组,和一个指定的值,找出数组中3个数,它的和最接近这个指定值,并返回这个和. 解法: 和上一题找3个数的和为0一样,先排序再遍历,这一次不需要记录路径. 代码: class Solu ...
- 怎么使用PHPMailer实现邮件的发送??
来源:http://www.ido321.com/1103.html 发送邮件是常用的功能,LZ今天在项目中也碰到了,特此分享一下. 首先,去下载PHPMailer 1.https://github. ...