Oracle VM VirtualBox Linux 虚拟机扩容

来源:互联网 发布:ubuntu离线安装mysql 编辑:程序博客网 时间:2024/05/17 21:55
/**************************************************************
*虚拟磁盘扩容
*参考:http://blog.csdn.net/ganshuyu/article/details/17954733
**************************************************************/
--查看虚拟机的虚拟磁盘情况
C:\Program Files\Oracle\VirtualBox>VBoxManage list hdds
UUID:           d6f4e61a-8894-4c7b-b620-d4d55693a6e3
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       C:\yang.lan1\lanyang\Redhat\Linux-disk1.vmdk
Storage format: VMDK
Capacity:       28672 MBytes
Encryption:     disabled


UUID:           386d050d-da40-49e6-ab2f-588c0237b9c6
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       C:\yang.lan1\lanyang\XP32\win32-disk1.vmdk
Storage format: VMDK
Capacity:       61440 MBytes
Encryption:     disabled


UUID:           e31fd7fa-9236-4edb-83da-2bc7c081a563
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       C:\Users\yang.lan1\VirtualBox VMs\121_KSAPP_4.4_1\111-disk1.vmdk
Storage format: VMDK
Capacity:       16384 MBytes
Encryption:     disabled


--如果扩容失败执行
C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd e31fd7fa-9236-4edb-83da-2bc7c081a563 --resize 51200
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Resize medium operation for this format is not implemented yet!


方法1
#在命令行先创建一个空的vdi虚拟机介质,创建时设置大小为扩容后的大小,然后使用克隆命令进行虚拟机介质克隆。
#创建新虚拟介质命令
#注意名字不一样(_50g),否则创建失败
VBoxManage.exe createhd -filename "C:\Users\yang.lan1\VirtualBox VMs\121_KSAPP_4.4_1\111-disk1_50g"  -size 51200  -format vmdk -variant Standard
#执行结果
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Medium created. UUID: a11fa1f3-6f43-4797-92d3-2df252d7325e




#克隆命令
C:\Program Files\Oracle\VirtualBox>VBoxManage clonehd "C:\Users\yang.lan1\VirtualBox VMs\121_KSAPP_4.4_1\111-disk1.vmdk"  "C:\Users\yang.lan1\VirtualBox VMs\121_KSAPP_4.4_1\111-disk1_50g.vmdk" --existing
#执行结果
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vmdk'. UUID: a11fa1f3-6f43-4797-92d3-2df252d7325e




方法2 
--查找你虚拟机的硬盘,执行命令
VBoxManage list hdds
--执行下述命令将vmdk转化为vdi
--VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage clonehd "C:\Users\yang.lan1\VirtualBox VMs\121_KSAPP_4.4_1\111-disk1.vmdk" "C:\Users\yang.lan1\VirtualBox VMs\121_KSAPP_4.4_1\ksdbscolned.vdi" --format vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'vdi'. UUID: f3f2ccf8-5f1c-4c70-80c2-97fa4a392607


扩大vdi硬盘的大小
--VBoxManage modifyhd 你的uuid --resize 40960
VBoxManage modifyhd f3f2ccf8-5f1c-4c70-80c2-97fa4a392607 --resize 51200
--如果报错则使用绝对路径加虚拟硬盘名字 
VBoxManage modifyhd   "C:\Users\yang.lan1\VirtualBox VMs\121_KSAPP_4.4_1\ksdbscolned.vdi" --resize 51200


/**********************************************************************
*新建分区:新建有要重启虚拟机才能在/dev先看到新建的分区,才能进行后续操作(注意要用root用户登录)
*参考:http://dreamfire.blog.51cto.com/418026/1084729/
**********************************************************************/ 
--查看分区情况
$:frisk -l
Disk /dev/hda: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes


   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1          13      104391   83  Linux
/dev/hda2              14        2088    16667437+  8e  Linux LVM
/dev/hda4            2089        6527    35656267+  8e  Linux LVM
--增加分区
$:frisk /dev/hda 
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)
增加新的分区 p-n-p-t(修改为LVW格式)-w(一定要保存)


--格式化(一定要与原有分区文件格式相同)
$:mkfs -t ext3 /dev/hda4


--挂载(如果已有lvm分区挂载过则不需挂载,直接将新增的分区扩展上去即可)
$:mount  /dev/sda3  /home/ganshuyu/workspace


/*****************************************************************************************************
LVM 扩容 :参考: http://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html
一、简介
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的
硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是
以逻辑卷的方式。
LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。


基本的逻辑卷管理概念:


PV(Physical Volume)- 物理卷 
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。


VG(Volumne Group)- 卷组 
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。


LV(Logical Volume)- 逻辑卷 
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
*****************************************************************************************************/
--建立物理卷
pvcreate  /dev/hda4
--卷组扩容
vgextend VolGroup00 /dev/hda4
--逻辑卷扩容
lvextend -L +34G /dev/mapper/VolGroup00-LogVol00
--df -h 发现实际容量并没有变化,因为我们的系统还不认识刚刚添加进来的磁盘的文件系统,所以还需要对文件系统进行扩容
resize2fs /dev/mapper/VolGroup00-LogVol00
--查看实际容量


[root@localhost mapper]# df -TH
Filesystem    Type     Size   Used  Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
              ext3      50G    13G    36G  26% /
/dev/hda1     ext3     104M    19M    81M  19% /boot
tmpfs        tmpfs     459M      0   459M   0% /dev/shm




××××××××××××××××××××××××××至此,终于扩容成功××××××××××××××××××××××××××