当前位置:文档之家› 实战Linux下VMware虚拟机根目录空间扩充

实战Linux下VMware虚拟机根目录空间扩充

实战Linux下VMware虚拟机根目录空间扩充分类:Linux 2011-02-14 16:59 532人阅读评论(0) 收藏举报今天上午接到通知说服务器挂了,经过检查发现原因是Linux的虚拟机根分区已经使用100%,以至于服务不能正常进行。

经过小小的研究,顺利解决问题,把服务器的空间由4G扩成12G。

现将执行全过程总结如下,以供分享。

首先,介绍下大体的解决思路,要想扩充,硬件上要有准备,说白了也就是要有一块新的空间来供我们使用。

对于实体机我们需要准备一块新的硬盘,而对于VMWare 虚拟机,我们只需要使用vmware自带的软件扩充下磁盘大小。

扩充磁盘,只意味着硬件条件得到满足。

接下来就需要对新的磁盘空格进行合理的操作,来扩充我们需要的分区。

值得注意的是,这里我们基于LVM来操作的。

如果您的环境不是LVM的,可以考虑改成LVM的,否则后文无需再读。

具体执行过程将细细道来。

第一步、使用VMware工具扩容分配的硬盘空间1、vmware 提供一个命令行工具,在Windows下为vmware-vdiskmanager.exe 位于vmware 的安装目录下,比如C:/Program Files/VMware/VMware Workstation/vmware-vdiskmanager.exe.在Linux下有直接的vmware-vdiskmanager指令。

进行的操作:在windows 下运行CMD , 转到vmware 的安装目录,可执行vmware-vdiskmanager.exe;在Linux下,直接敲入vmware-vdiskmanager ,可执行该指令扩充使用的指令: vmware-vdiskmanager -x 16Gb myNewlinux.vmdk说明:要扩容的系统这时不能在运行,参数"-x" 表示要扩展虚拟机硬盘空间,紧随其后的数字是要扩展到的大小,而非增加量(本例为扩展到16GB ,这是一个磁盘总量,包含了原先的磁盘容量) 。

最后是指定要操作的虚拟机磁盘的具体文件,要是路径名中有空格,必须以双引号括起来。

按回车键开始执行,执行完毕,退出命令提示符窗口,重启VMware ,会发现虚拟机硬盘空间已变成16GB 了。

2、我们重启虚拟机后,发现虚拟机的硬盘是变成16GB 了,但进入linux 系统后,用"df -h"查看发现硬盘空间还是原先那么大。

虽然已经扩大了磁盘,但是由于还没有经过分区,指定文件系统,所以linux 操作系统无法识别。

其实就相当于你的硬盘虽然大了,但是你并没有对其进行分区是一个道理。

第二步、使用Linux下的fdisk工具进行分区首先,需要以root身份登录系统。

fdisk 命令:fdisk -l : 打印当前的磁盘分区表,这时我们可以看到磁盘的总量的确增加到16GB 了,但是分区只有以前的那几个原有的分区。

键入命令:fdisk /dev/sda “sda 就是经过扩容的硬盘,为SCSI 硬盘,IDE 类型硬盘对应为hda ,是对该硬盘进行操作”键入:m “ 列出fdisk 的帮助”我们在这里是要添加一个新分区,即将扩容出来的那部分做成一个新分区,这样才能被操作系统挂载识别。

键入:n ” 命令n 用于添加新分区"此时,fdisk 会让你选择添加为逻辑分区呢(编号从5 开始)还是主分区(编号1 到4 )。

选择主分区吧,则键入p ;选择逻辑分区键入l 。

我们选择主分区于是:键入:p " 选择创建主分区"此时,fdisk 会让你选择主分区的编号,如果已经有了主分区sda1 ,sda2 ,那么编号就选3 ,即要创建的该分区为sda3.键入: 3此时,fdisk 又会让你选择该分区的开始值这个就是分区的Start 值(start cylinder );这里最好直接按回车,如果您输入了一个非默认的数字,可能会造成空间浪费;对于分区的End 值(end cylinder),同样直接按回车。

这时候会显示出你新建分区的柱面范围和空间大小。

此时键入:w 表示" 保存所有并退出,分区划分完毕"我们的新建分区/dev/sda3,却不是LVM的。

所以,接下来使用fdisk将其改成LVM 的。

[root@CNGI-SIP6-BUPT ~]# fdisk /dev/sdaCommand (m for help): mCommand (m for help): t //改变分区系统idPartition number (1-4): 3 //指定分区号Hex code (type L to list codes): 8e //指定要改成的id号,8e代表LVM。

Command (m for help): w我们现在还不能用这个分区, 因为我们没格式化。

这时要重启系统就能够在dev 下面看到sda3 ,如果不重启不能进行下面操作。

重启后,在此查看fdisk -lDevice Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 1044 8281507+ 8e Linux LVM/dev/sda3 1045 2088 8385930 8e Linux LVM可以看到/dev/sda3已支持LVM。

第三步、格式化该新添加的分区键入:mkfs -t ext3 /dev/sda3或者mkfs.ext3 /dev/sda3来格式化指定的分区,依次类推,现在的系统大部分都是ext3 格式,如果你需要其它的,可以查看mkfs 的帮助。

到此为止,我们就新建了一个分区/dev/sda3,此时我们已经可以通过挂载,来使用这个新的空间。

但是对于我,这并不能满足我的需求,因为服务器的服务程序是在根目录上的,目前根目录空间已经使用完毕,所以能把新建的分区使用在更目录上,分担根目录的空间,才能解决问题。

下面用到的理论是基于LVM的,如果不知道的话,建议稍微查些资料有助于理解。

当然,一步步的跟我做,应该也没有问题。

第四步、扩充根分区接着,使用vgextend 命令加到lvm组里面去,做如下操作:[root@CNGI-SIP6-BUPT ~]# lvsLV VG Attr LSize Origin Snap% Move Log Copy% ConvertLogVol00 VolGroup00 -wi-ao 3.97GLogVol01 VolGroup00 -wi-ao 3.91G[root@CNGI-SIP6-BUPT ~]# pvcreate /dev/sda3Physical volume "/dev/sda3" successfully created[root@CNGI-SIP6-BUPT ~]# vgextend VolGroup00 /dev/sda3 (其中是当前需要扩充的lvm组名,可以通过df -h查看,例如我的是:/dev/mapper/VolGroup00-LogVol00)Volume group "VolGroup00" successfully extendedYou have new mail in /var/spool/mail/root[root@CNGI-SIP6-BUPT ~]# vgdisplay--- Volume group ---VG Name VolGroup00System IDFormat lvm2Metadata Areas 2Metadata Sequence No 4VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 2Act PV 2VG Size 15.84 GBPE Size 32.00 MBTotal PE 507Alloc PE / Size 252 / 7.88 GBFree PE / Size 255 / 7.97 GBVG UUID 3vSeag-Q74D-Gn1b-OHEq-zyH1-YgSO-ThhBCp[root@CNGI-SIP6-BUPT ~]#主要查看Free PE / Size 255 / 7.97 GB,说明我们最多可以有7.97G的扩充空间。

最后,给根分区增加空间[root@CNGI-SIP6-BUPT ~]# lvextend -L +7.96G /dev/VolGroup00/LogVol00/dev/sda3Rounding up size to full physical extent 7.97 GBExtending logical volume LogVol00 to 11.94 GBLogical volume LogVol00 successfully resized[root@CNGI-SIP6-BUPT ~]#[root@CNGI-SIP6-BUPT ~]# vim /etc/fstab/dev/VolGroup00/LogVol00 / ext3 defaults 1 1LABEL=/boot /boot ext3 defaults 1 2tmpfs /dev/shm tmpfs defaults 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0/dev/VolGroup00/LogVol01 swap swap defaults 0 0~逻辑卷现在使用的就是ext3的文件系统最后扩展一下文件系统,此处不需要卸载,就ok了要先做fsck,检查文件系统:e2fsck -f /dev/VolGroup00/LogVol00告诉系统,分割区大小有调整了,以下以实际情况为主[root@CNGI-SIP6-BUPT ~]# resize2fs /dev/VolGroup00/LogVol00resize2fs 1.39 (29-May-2006)Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required Performing an on-line resize of /dev/VolGroup00/LogVol00 to 3129344 (4k) blocks. The filesystem on /dev/VolGroup00/LogVol00 is now 3129344 blocks long.到此所有操作完毕,使用df -h来查看扩充后的空间大小。

相关主题