`
dargoner
  • 浏览: 41751 次
社区版块
存档分类
最新评论

[Ubuntu] Linux 中使用 KVM

阅读更多

转载本站文章请注明,转载自:扶凯 [http://www.php-oa.com ]

本文链接: http://www.php-oa.com/2010/02/22/ubutnu-kvm-vmware.html

听讲XEN很快就要从LINUX内核中去掉,redhat和Ubuntu也大力的在推广KVM,所以在Ubuntu下整了一下KVM,相当容易使用,基本比Vmware还要容易,但性能好上很多倍,因为他是半虚拟的,很大程序上可以直接使用真实的硬件.

RedHat 红帽CTO Brian Steven在一次记者招待会说:“我们致力于Xen,RHEL 5有10年的生命周期,因此会有一个较大的交叉过渡。我们将在Red Hat 6中全面使用KVM,但KVM目前已经准备就绪,完全可以正式投入到数据中心和云中,不用再等待了!”

KVM要使用2.6.20以上的内核才行.Ubuntu到是不用担心,它基本一直使用的是最新的内核.

需要关心一点就是,你的硬件,CPU是不是支持半虚拟(VT/AMD-V),使用下面的命令可以查看是否支持

grep -E '(vmx|svm)'   /proc/cpuinfo

  在ubuntu中安装KVM

我原来以为KVM很难装,没想到现在容易成这样了.太方便了

sudo apt-get install kvm libvirt-bin ubuntu-vm-builder  bridge-utils kvm-pxe uml-utilities

安装KVM在ubuntu中的GUI管理软件,象我,拿ubuntu当桌面,就不使用命令…呵呵

sudo apt-get install virt-manager virt-viewer

需要设置一下网桥

sudo /etc/init.d/networking stop

 我们来修改一下配置

sudo vim /etc/network/interfaces

 静态IP和使用DHCP是不一样的,DHCP修改成下面这样

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 5
bridge_maxwait 5


static:

auto br0
iface br0 inet static
address 192.168.0.xxx
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
bridge_ports eth0
bridge_stp off
bridge_fd 5
bridge_maxwait 5

完事后
进入ubuntu的“应用程序”-> “系统工具” -> “虚拟系统管理”就可以全GUI来玩kvm啦

 

RedHat Centos 安装 KVM

在 Centos 中安装 kvm 也一样很容易,

1. 安装 KVM 和 virtinst (一个创建 virtual machines 的工具 )

yum install kvm kmod-kvm qemu libvirt python-virtinst

 

 2. 装完后记的重起,重起后检查模块是否有加载

$ lsmod | grep kvm
kvm_amd                50452  0
kvm                   109264  1 kvm_amd

 也可以使用 virsh 来测试

virsh -c qemu:///system list

 

 3. 安装桥接管理的工具

yum install bridge-utils

 

 4. 安装 GUI 的管理软件

yum install virt-manager

 

KVM 的高级管理

KVM 现在相当成熟,在三个比较常用管理程序(我所知道的),大家平时玩玩的话,就用 GUI 来管理就好了,GUI 都会我就不详细写了:
virt-manager: 这个我最常用,是 GUI 的,需要 x windows 的支持。这个是 RedHat 开发,大家想了解可以到  http://virt- manager.et.redhat.com/ 上看看
virt-install:python 写的文字介面的管理 kvm 的程序,这个也是Red Hat 开发的哦。
ubuntu-vm-builder:这个是 Canonical (Ubuntu)开发的文字的管理程序。

 

virt-install 的基本使用

(1. 安装 virt-install 和 图形化的连接软件 virt-viewer

 

sudo apt-get install python-virtinst virt-viewer

详细使用可以 man virt-install

(2. virt-install 安装虚拟系统

例:

virt-install \
--connect qemu:///system \
--name= 虚拟机器的名字 \
--ram=设置内存的大小 [MB] \
--os-type=操作系统的类型 [linux ] \
--os-variant=操作系统的版本 [centos 5.4] \
--hvm [全虚拟化( hvm )与半虚拟化( paravirt  )选择其一] \
--paravirt  [全虚拟化( hvm )与半虚拟化( paravirt  )选择其一] \
--accelerate  [KVM 加速器] \
--cdrom=系统安装的CD路径 [*.iso] \
--file=虚拟硬盘的路径 [*.qcow2] \
--file-size=虚拟硬盘的大小 [GB] \
--bridge=br0 \
--vnc \
--noautoconsole  \
--debug

 注意 Windows 只能用有全虚拟化( hvm )与半虚拟化( paravirt  )中选择 hvm.hvm 的意思是指硬件辅助的虚拟化,就是需要所谓的 VT 支持的。

 建出来的虚拟机会在 / etc/ libvirt/ qemu/ 虚拟机器名称.xml 有个配置文件

(3. 使用 virt-install  启动虚拟的机器

进入 virsh 中,所有 virsh 的操作都要先进入这个

$virsh

 

 管理启动

virsh# start 虚拟机器名字
virsh# list  --all
virsh# quit

 

(4. 安装管理查看 virt-install 安装后的系统是否正常

virt-viewer --connect qemu+ssh://帐号@虚拟机实体主机IP    要连接的虚拟机器名字

 

virt-install 的其它使用

在原来的基础上复制一个新的虚拟机器

virt-clone  --connect=qemu:///system \
-o 旧的虚拟机器名称  -n 新的虚拟机器名称  -f  新的虚拟硬碟路径 [*.qcow2]

查看所有虚拟出的机器

virsh# list --all

dump 虚拟出的机器配置文件

virsh# dumpxml 虚拟出的机器名称  /tmp/虚拟出的机器配置文件 [*.xml]

使用现有的虚拟出的机器配置文件建立虚拟新机器

virsh# define  /etc/libvirt/qemu/虚拟出的机器配置文件 [*.xml]

移除虚拟出的机器

virsh# undefine 虚拟出的机器名称

关闭虚拟出的机器

virsh# shutdown 虚拟出的机器名称

关掉虚拟出的机器的电源

virsh# destory 虚拟出的机器名称

 

 
KVM的小技巧

1.提升KVM的网络和硬盘IO在linux中的性能
官方提供了一个叫kvm-guest-drivers-windows的网卡驱动很不错,虚拟机的启动参数那里加上model=virtio这个参数,界 面中也是可以设置的.硬盘也有virtio的驱动,记的使用.在Virt-manager 中可以选择 virtio disk.获得高性能的网络和磁盘操作
virtio的网卡驱动的地址: http://sourceforge.net/project/showfiles.php?group_id=180599&package_id=267943
virtio的硬盘驱动的地址:http://www.linux-kvm.com/sites/default/files/viostor.iso

2.和真实机器中资料共享

这个是超级方便的,不需要象VBox搞个文件夹,只要在Host的设置中直接给真实的Dev的块设备直接设定到Guest的配置中,然后在进入kvm中的系统,直接mount就行

3.转换VMWare的image让KVM能使用
我们先要安装一个小软件virt-goodies.

sudo apt-get install virt-goodies

然后使用vmware2libvirt来给VMWare VM的基本资料vmx转成KVM可以读入的XML. 如

vmware2libvirt -f myvm.vmx > myvm.xml

在转VMWare VM的disk image, 使用qemu-img转成KVM能读的文件.

qemu-img convert -f vmdk myvm.vmdk -O qcow2 myvm.qcow2

可能还需要修改一下vmx转成的xml,

disk中的target dev,在VMWARE是ide(target dev=’hda’ bus=’ide’)可能要修改成scsi(target dev=’sda’ bus=’scsi’),我们看能不能找到ROOT就知道是不是用对了;
bridge mode, 给interface type=’network’修改成interface type=’bridge’, 而source network=’default’修改成source bridge=’br0′.

qcow选项,则会创建QCOW(写时复制)格式
修改后给VM的配置加入到libvirtd中.

virsh -c qemu:///system define myvm.xml
virsh -c qemu:///system list --all

FAQ:
1.如果在安装的时候见到"FATAL: Error inserting kvm_intel"
这是因为没有在BIOS中打开virtualization.需要进入BIOS中打开,然后断电重起.进入系统后打modprobe kvm-intel来加载模块


   先在虚拟机中打开windows自己的远程桌面,然后给用户设定密码,然后运行 rundll32 netplwiz.dll,UsersRunDll 启 用windows的自动登录。(这三步必不可少,否则rdesktop是无法连上winxp的)
   重新启动虚拟机,当听到winxp后台登录的声音后,即可用rdesktop远程登录:

rdesktop localhost:3389 -u *** -p *** -g 1280×700 -r sound:local

 

-u winxp的用户名, -p winxp的密码, -r sound:local  启用声音

现在可以看到桌面了吧。是不是灰常流畅呢?鼠标、键盘 都非常完美啊,剪贴板也可以公用哦。堪比装了tools的virtualbox,但是比后者占用的资源要少的多。

分享到:
评论

相关推荐

    Ubuntu18.04下的KVM网络配置(附各种问题解答)

    KVM(Kernel-based Virtual Machine)是一种开源的虚拟机软件,能够在 Linux 操作系统上实现虚拟化技术。配置 KVM 网络需要了解网桥模式的配置方法,以下是详细的配置步骤和相关知识点。 一、网桥模式的配置方法 1...

    Ubuntu Linux 轻松入门PPT

    本PPT《Ubuntu Linux轻松入门》主要针对初学者,旨在帮助他们快速掌握Ubuntu系统的安装、使用及基本操作。以下是几个核心知识点: 1. **安装Ubuntu**: Ubuntu提供了图形化的Live CD/USB安装方式,支持并行安装在...

    Ubuntu Linux实用学习教程

    这份教程将涵盖从安装、基本操作到高级系统管理的诸多方面,帮助用户全面掌握Ubuntu Linux的使用技巧。 一、安装Ubuntu Linux 在开始学习之前,首先要了解如何安装Ubuntu。这包括选择合适的安装类型(如桌面版或...

    Ubuntu Linux实用学习教程.pdf

    此外,还会介绍如何在Ubuntu上运行和调试代码,以及使用虚拟化技术(如VirtualBox或KVM)来测试不同环境。 除此之外,Ubuntu的社区支持是其强大生命力的源泉。教程会教导读者如何有效地利用Ubuntu论坛、官方文档和...

    Ubuntu Linux 指南

    书中探讨了KVM、LXC、Docker等工具的使用,以及如何在Ubuntu上构建和管理虚拟机和容器。 #### 系统备份与恢复 数据安全是IT管理中的重要议题。本书提供了详细的指南,涵盖数据备份策略、备份工具的选择(如rsync、...

    Ubuntu Linux轻松入门ppt

    **Ubuntu Linux轻松入门** Ubuntu Linux是一款基于Debian的开源操作系统,以其用户友好、社区支持和免费的特点在全球范围内广受欢迎。本教程将引导你逐步踏入Ubuntu Linux的世界,让你轻松掌握其基本操作和应用。 ...

    ubuntu linux从入门到精通.rar

    在这个压缩包中,你将找到一系列帮助你深入理解和掌握Ubuntu Linux的知识点。 首先,我们要了解Linux的基本概念。Linux是一种自由开放源代码的操作系统,它由来自全球各地的开发者共同维护和改进。Ubuntu Linux则是...

    2009年图书:Ubuntu Linux的秘密

    12. **云服务与虚拟化**:Ubuntu与OpenStack等云技术的集成,以及如何在Ubuntu中使用VirtualBox或KVM进行虚拟化操作。 通过阅读《Ubuntu Linux的秘密》,读者不仅可以掌握Ubuntu的基本操作,还能了解到Linux系统的...

    Ubuntu.Linux 英文版经典 教程

    Ubuntu Linux是世界上最受欢迎的开源操作系统之一,尤其在服务器领域中占据着重要的位置。这个英文版的经典教程涵盖了Ubuntu Linux的基础知识,系统管理,以及高级服务器配置等多个方面,旨在帮助用户全面了解和掌握...

    Ubuntu 18.04 LTS安装KVM虚拟机的方法步骤

    前一阵使用在最新的Ubuntu 18.04上安装了KVM来虚拟一个小的VM集群,将主要过程和其中遇到的一些问题记录下来。 准备工作 首先需要检查一下CPU是否支持虚拟化,执行一下命令来检查/proc/cpuinfo文件中是否又虚拟化...

    linux安装KVM总结

    在Ubuntu系统中,可以使用`apt-get`命令来安装KVM及相关组件: ``` sudo apt-get install kvm qemu qemu-kvm virt-manager kernel-package linux-source kqemu-source build-essential ``` 安装成功后,可以检查是否...

    ubuntu.linux.bible

    根据提供的文件信息,我们可以归纳出一系列与Ubuntu Linux相关的知识点,这些知识点主要集中在Ubuntu Linux系统的基础概念、安装配置...通过深入学习这些知识点,可以帮助读者更好地掌握Ubuntu Linux系统的使用和管理。

    Ubuntu.Linux从入门到精通

    13. **虚拟化技术**: 介绍如何在Ubuntu上运行虚拟机(如VirtualBox、KVM),以及Docker容器的使用。 14. **自动化脚本**: 学习编写Bash脚本,实现日常任务的自动化。 15. **Ubuntu的最新发展**: 随着技术的更新,...

    云计算实验报告一(KVM与Docker安装使用)

    2) KVM目前已成为学术界和工业界的主流虚拟机监控器(VMM)之一,已经在越来越多的应用场景中使用。 任务:通过KVM的官方网站https://www.linux-kvm.org/,在Linux系统中下载并安装使用KVM,进一步了解KVM的原理。 ...

    华为服务器iBMC桌面远程连接工具KVM_Client

    KVM_Client工具是华为为了配合iBMC功能而设计的,它支持Windows、Linux、Mac OS X以及Ubuntu等多种操作系统,这意味着无论你使用哪种工作环境,都能轻松接入并管理你的华为服务器。使用KVM_Client,你可以实现以下...

    8 Ubuntu KVM安装配置.pdf

    下面是 Ubuntu 16.04 中安装和配置 KVM 的步骤: 一、确认 CPU 是否支持虚拟化 在安装 KVM 之前,首先需要确认 CPU 是否支持虚拟化。可以使用以下命令来检查: egrep -o '(vmx|svm)' /proc/cpuinfo 如果返回值中...

    Ubuntu Linux到达并且超越服务器端

    Ubuntu 7.04版的一个重大改进是对虚拟化的支持,特别是对基于内核的虚拟机(KVM)的支持。这一特性允许在具备Intel-VT或AMD-V扩展的x86系统上运行未经修改的Linux实例,提高了虚拟机的效率。同时,VMI支持的引入,...

    [Ubuntu.Linux.基础视频教程].1.4.虚拟机Virtual.Machine

    本视频教程聚焦于Ubuntu Linux操作系统的基础学习,特别是针对虚拟机环境的使用。虚拟机技术是现代计算机系统中一个重要的组成部分,它允许用户在单个物理主机上运行多个独立的操作系统实例,而无需对硬件进行实际的...

    kvm虚拟机安装与配置

    在我们的示例中,我们使用了四个虚拟机:kvm_server、vir_guest1、vir_guest2 和 manager。kvm_server 是虚拟机服务器,vir_guest1 和 vir_guest2 是运行在 kvm_server 上的虚拟机客户端,而 manager 是虚拟机管理器...

    Ubuntu12.04配置KVM方法操作步骤20150901.pdf

    标题中的“Ubuntu12.04配置KVM方法操作步骤20150901.pdf”指的是在Ubuntu 12.04操作系统上安装和配置Kernel-based Virtual Machine(KVM)的详细过程。KVM是一款开源的虚拟化技术,允许用户在Linux系统上创建和运行...

Global site tag (gtag.js) - Google Analytics