原来在桌面上一直使用virtualbox虚拟机管理程序(VMM)构建虚拟机安装不同的操作系统,现在

研究linux下的KVM,能否将已经建立的virtualBox虚拟客户机(guest)转换为KVM虚拟机呢?经过查找

资料,还真可以。下面说明一下步骤:

1、将virtualbox虚拟机的虚拟磁盘文件(VDI)转换成raw格式的文件

此步骤使用virtualbox的命令行工具vboxmanage,这个工具对于通过编制脚本生成虚拟机很有帮助,

其提供的功能比virtualbox图形配置提供的功能要强大的多。具体命令如下:

vboxmanage clonehd --format raw centos.vdi centos.img

说明:将名为centos.vdi 的虚拟磁盘文件转换为raw格式的虚拟磁盘文件,raw格式的文件可以说是

不同格式虚拟磁盘文件之间转换的桥梁,其他格式的虚拟磁盘文件都可以先转换成此格式,然后在转换为

其他目标格式。转换完成后,生成的raw格式文件大小是在配置虚拟机时指定的大小,实际vdi文件只占用

实际应用的大小,如配置时虽然指定为20G,但安装完操作系统及相关软件后,可能只需要8G,那么实际

的虚拟磁盘文件(vdi格式)只占用8G,但是在用上面的命令转换后,则转换后的文件大小就是在建立虚拟

机时指定磁盘空间的大小,在这里就是20G,因此在转换前需要查看一下磁盘空间是否足够。

命令参数: clonehd   --克隆虚拟磁盘

--format raw    --指定转换格式

clone这个此在虚拟化技术中用的很多,诸如备份、迁移等很多都是通过这个技术实现。

2、将转换后的raw格式文件转换为kvm使用的qcow2格式文件

此步骤使用qemu-img工具实现,如果机器上没有,可以通过rpm或yum进行安装,包名为qemu-img。

qemu-img是专门虚拟磁盘映像文件的qemu命令行工具。

具体命令如下:

qemu-img convert -f raw centos.img -O qcow2 centos.qcow2

参数说明:convert   将磁盘文件转换为指定格式的文件

-f   指定需要转换文件的文件格式

-O  指定要转换的目标格式

转换完成后,将新生产一个目标映像文件,原文件仍保存。

3、利用qemu-kvm命令基于转换后的虚拟磁盘镜像启动虚拟机

在生成kvm支持的文件格式后,即可以使用qemu-kvm基于已转换的磁盘文件启动虚拟机了,语法

如下:

qemu-kvm -m 1024 -M pc -smp 2 -hda /opt/images/centos.qcow2 -boot c -name centos \

-k en-us vnc :0  -usb -usbdevice tablet

启动后,将生产一个单独的qemu-kvm进程,利用vnc工具可以连接到这个虚拟机,在本例中vnc端口为

5900,连接后,可以在客户机中进行各种操作。

参数说明: -m 1024    指定内存大小

-M  pc      真的机器类型,这里为RHEL 5.4.0 PC

-smp        使用2个虚拟cpu仿真对称多处理器系统

-hda         指定虚拟磁盘文件名称

-boot       指定引导设备 c 为硬盘,d为光驱

-name      指定虚拟机名字

-k             指定键盘layout

vnc :0   指定vnc连接端口,最终端口为后面的数字+5900

-usb         使usb设备有效

-usbdevice tablet   加入把设备,tablet是指使用绝对坐标的指针设备,如鼠标

4、其他说明

使用第三步生成的虚拟机只是临时的,在此进程被关闭后,此虚拟机也不存在。可以手工编制一个

配置文件,保护虚拟机的各类参数保存在/etc/libvirt/qemu目录下,这样就能够被virsh进行管理,可以

方便的启动和关闭。配置文件可以使用已有虚拟机的配置文件作为模板。

在用virtualbox生成的虚拟机中,如果安装了virtualbox的VBoxGuestAdditions(主要用来控制鼠标

捕获等功能),则需要先在虚拟机中卸载,因此kvm不支持。

http://blog.csdn.net/starshine/article/details/7032316

实现将VirtualBox 虚拟机转换为KVM虚拟机的步骤的更多相关文章

  1. 不启动或进入虚拟机,查看 KVM 虚拟机中的网卡信息

    #!bin/bash#作者:liusingbon#功能:#脚本使用工具guestmount,可以将虚拟机的磁盘系统挂载到真实机文件系统中#Centos7.2中安装libguestfs-tools-c, ...

  2. QEMU/KVM虚拟机安装配置

    1.安装相关组件: [root@KVM ~]# yum install qemu-img qemu-kvm qemu-kvm-tools virt-manager virt-viewer virt-v ...

  3. kvm虚拟机日常管理和配置操作命令梳理

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理.1)查看KVM虚拟机配置文件及运行状态KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/autostart目录是配置kvm ...

  4. kvm虚拟机日常操作命令梳理

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理.废话不多说,下面列出kvm日常管理中的命令 1)查看KVM虚拟机配置文件及运行状态 KVM虚拟机默认配置文件位置: /etc/libvirt ...

  5. kvm虚拟机命令梳理

    kvm虚拟机命令梳理 )查看KVM虚拟机配置文件及运行状态 KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录. virsh命 ...

  6. kvm虚拟机操作相关命令及虚拟机和镜像密码修改

    虚拟机生命周期管理 1)查看kvm虚拟机状态 #virsh list --all 2)KVM虚拟机开机 # virsh start oeltest01 3)KVM虚拟机关机或断电 关机 默认情况下vi ...

  7. KVM 虚拟机基本管理及常用命令

    KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm qemu]# ll t ...

  8. KVM虚拟机管理——虚拟机克隆

    1. 概述2. 部署基本操作系统虚拟机3. 配置虚拟机3.1 修改/etc/sysconfig/network3.2 删除/etc/sysconfig/network-scripts/ifcfg-et ...

  9. Linux下KVM虚拟机基本管理及常用命令(转)

    说明:可能有重复 一.KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm ...

随机推荐

  1. Android 三星手机不能调起应用市场

    Uri uri; if (hasAnyMarketInstalled(getContext())) { uri = Uri.parse("market://details?id=" ...

  2. PHP中date函数参数详解

    date函数输出当前的时间echo date('Y-m-d H:i:s', time()); // 格式:xxxx-xx-xx xx:xx:xx 第一个参数的格式分别表示: a - "am& ...

  3. codeforces 659C . Tanya and Toys 二分

    题目链接 将给出的已经有了的排序, 在前面加上0, 后面加上1e9+1. 然后对相邻的两项判断. 如果相邻两项之间的数的和小于m, 那么全都选上, m减去相应的值. 如果大于m, 那么二分判断最多能选 ...

  4. OpenCV学习 1:OpenCV安装与第一个图像显示程序

    原创作品,转载请注明出处 为了提升逼格,决定学下OpenCV,想想如果可以做人脸识别,定点降落,让飞机跟着自己飞..想想都有点小激动.这只是想的,能不能学会还不知道..哈..      1:先下载:h ...

  5. Linux中的网络

    在windows 中表示一张网卡用本地连接1,本地连接2这种方式来表示:而在linux 中用的是etho,eth1 等等这样的东西来表示的.

  6. WIN7 64位通过VPN远程登录 ASP.Net通过VPN访问Oracle服务器

    因为客户这边的服务器是64位的,所以本人手贱,把系统换成了64位的win7,以为来客户这边工作会更方便,谁知道来到客户这边,进不了他们公司的内网,然后给我一个VPN的账号,先VPN然后才能登录他们的测 ...

  7. 2016 Multi-University Training Contest 2 总结

    第二次多校,出师未捷身先死 欣君看了一下09题,高呼水题,迅速码好,一A. 我看了11题,发现分奇偶讨论即可,于是按思路写好,一A. 欣君搞鼓出01题的一个公式,于是我照着写,一WA.简直不可思议,发 ...

  8. Centos6.8下安装oracle_11gr2版主要过程

    安装前准备 下载oracle版本 地址:http://docs.oracle.com/cd/E21901_01/index.html ,下载2个文件分别是 linux.x64_11gR2_databa ...

  9. [LeetCode][Python]Median of Two Sorted Arrays

    # -*- coding: utf8 -*-'''https://oj.leetcode.com/problems/median-of-two-sorted-arrays/ There are two ...

  10. 二、Cocos2dx中Android部分的c++和java实现相互调用(高级篇)

    本文由qinning199原创,转载请注明:http://www.cocos2dx.net/?p=97 本文目的 要完成在cocos2dx的场景上一个点击事件,传递一个消息到java层,下面让我们看看 ...