ubuntu qemu kvm ubuntu安装kvm

怎样在 Ubuntu 和 Debian 中通过命令行管理 KVM

第一步:确认你的硬件平台支持虚拟化

第一步,首先要确认你的 CPU支持硬件虚拟化扩展(e.g.,Intel VT或者 AMD-V),这是 KVM对硬件的要求。下面的命令可以检查硬件是否支持虚拟化。

第二步:安装KVM

使用 apt-get安装 KVM和相关的用户空间工具。

$ sudo apt-get install qemu-kvm libvirt-bin

安装期间,libvirtd用户组(在 debian上是 libvirtd-qemu用户组)将会被创建,并且你的用户 id将会被自动添加到该组中。这样做的目的是让你可以以一个普通用户而不是 root用户的身份去管理虚拟机。你可以使用 id命令来确认这一点,下面将会告诉你怎么去显示你的组 id:

$ id<your-userID>

如果因为某些原因,libvirt(在 debian中是 libvirt-qemu)没有在你的组 id中被找到,你也可以手动将你自己添加到对应的组中,如下所示:

在 ubuntu上:

$ sudo adduser [youruserID] libvirtd

在 debian上:

$ sudo adduser [youruserID] libvirt-qemu

按照如下命令重新载入更新后的组成员关系。如果要求输入密码,那么输入你的登陆密码即可。

$ exec su-l$USER

这时,你应该可以以普通用户的身份去执行 virsh了。做一个如下所示的测试,这个命令将会以列表的形式列出可用的虚拟机(当前的列表是空的)。如果你没有遇到权限问题,那意味着到目前为止一切都是正常的。

$ virsh list

Id Name State

第三步:配置桥接网络

为了使 KVM虚拟机能够访问外部网络,一种方法是通过在 KVM宿主机上创建 Linux桥来实现。创建之后的桥能够将虚拟机的虚拟网卡和宿主机的物理网卡连接起来,因此,虚拟机能够发送和接收由物理网卡传输的数据包。这种方式叫做网络桥接。

下面将告诉你如何创建并且配置网桥,我们创建一个网桥称它为 br0。

首先,安装一个必需的包,然后用命令行创建一个网桥。

$ sudo apt-get install bridge-utils

$ sudo brctl addbr br0

下一步就是配置已经创建好的网桥,即修改位于/etc/network/interfaces的配置文件。我们需要将该桥接网卡设置成开机启动。为了修改该配置文件,你需要关闭你的操作系统上的网络管理器(如果你在使用它的话)。跟随操作指南的说明去关闭网络管理器。

关闭网络管理器之后,接下来就是通过修改配置文件来配置网桥了。

#auto eth0

#iface eth0 inet dhcp

auto br0

iface br0 inet dhcp

bridge_ports eth0

bridge_stp off

bridge_fd 0

bridge_maxwait 0

在上面的配置中,我假设 eth0是主要网卡,它也是连接到外网的网卡,同样,我假设 eth0将会通过 DHCP协议自动获取 ip地址。注意,之前在/etc/network/interfaces中还没有对 eth0进行任何配置。桥接网卡 br0引用了 eth0的配置,而 eth0也会受到 br0的制约。

重启网络服务,并确认网桥已经被成功的配置好。如果成功的话,br0的 ip地址将会是 eth0自动分配的 ip地址,而且 eth0不会被分配任何 ip地址。

$ sudo/etc/init.d/networking restart

$ ifconfig

如果因为某些原因,eth0仍然保留了之前分配给了 br0的 ip地址,那么你可能必须手动删除 eth0的 ip地址。

第四步:用命令行创建一个虚拟机

对于虚拟机来说,它的配置信息被存储在它对应的xml文件中。因此,创建一个虚拟机的第一步就是准备一个与虚拟机对应的 xml文件。

第五步:使用命令行启动虚拟机

在启动虚拟机之前,我们需要创建它的初始磁盘镜像。为此,你需要使用 qemu-img命令来生成一个 qemu-kvm镜像。下面的命令将会创建 10 GB大小的空磁盘,并且它是 qcow2格式的。

$ qemu-img create-f qcow2/home/dev/images/alice.img 10G

使用 qcow2格式的磁盘镜像的好处就是它在创建之初并不会给它分配全部大小磁盘容量(这里是 10 GB),而是随着虚拟机中文件的增加而逐渐增大。因此,它对空间的使用更加有效。

现在,你可以通过使用之前创建的 xml配置文件启动你的虚拟机了。下面的命令将会创建一个虚拟机,然后自动启动它。

$ virsh create alice.xml

Domain alice created from alice.xml

注意:如果你对一个已经存在的虚拟机执行了了上面的命令,那么这个操作将会在没有任何警告的情况下抹去那个已经存在的虚拟机的全部信息。如果你已经创建了一个虚拟机,你可能会使用下面的命令来启动虚拟机。

$ virsh start alice.xml

使用如下命令确认一个新的虚拟机已经被创建并成功的被启动。

$ virsh list

Id Name State

----------------------------------------------------

3 alice running

同样,使用如下命令确认你的虚拟机的虚拟网卡已经被成功的添加到了你先前创建的 br0网桥中。

$ sudo brctl show

远程连接虚拟机

为了远程访问一个正在运行的虚拟机的控制台,你可以使用VNC客户端。

需要解决更多linux问题,详情请看

望采纳

在Ubuntu上安装KVM虚拟化工具

在Ubuntu上安装KVM虚拟化工具,确保处理器支持硬件虚拟化,如Intel VT-x或AMD-V。安装步骤如下:

1.更新系统,安装必要软件包。

2.检查CPU是否支持硬件虚拟化,结果大于0表示支持。

3.安装KVM及其管理工具:`qemu-kvm`、`libvirt-daemon-system`、`libvirt-clients`、`bridge-utils`、`virt-manager`。

4.将当前用户添加至`libvirt`和`kvm`用户组,不需使用`sudo`管理虚拟机。

5.确认libvirtd服务运行,未运行时启动服务并设置自动启动。

6.使用`virt-manager`或`virsh`创建和管理虚拟机。启动`virt-manager`命令行输入。

完成上述步骤后,已在Ubuntu上成功安装KVM工具。现在可创建和管理虚拟机以满足需求。

kvm安装linux系统kvm安装linux

Windows系统能装KVM吗?

因为KVM广泛的兼容性,支持Windows,Linux,和Sun等主流操作系统,并兼容联想、曙光、浪潮、华为、宝德、HP、IBM、戴尔和思科等主流服务器。

所以Windows系统能装KVM。

裸机(服务器)可以直接安装KVM(虚拟机)吗?怎么安装?

两种最流行的裸机开源虚拟化技术是KernelVirtualMachine(KVM)和Xen,所以KVM可以直接在裸机上运行,不需要什么操作系统。KVM几乎支持任何操作系统:Linux、MacOS、Unix、Windows以及你所采用的其他任何操作系统。

KVM怎么连接?

一安装VNC1.安装VNC服务端(1)在Linux系统上安装VNCyum-yinstallvnc-serveryum-yinstalltigervnc-server(2)设置远程登录所需要的密码输入vncserver后会提示输入密码注:此密码是远程登录时所需要输入的密码(3)进行vncserver配置vi/etc/sysconfig/vncservers设置以下配置值VNCSERVRES=10000:root(其中10000为桌面号、root为用户名)VNCSERVERARGS=geometry800x600_nolistentcp_localhost(4)进行防火墙配置允许远程连接VNC服务器vi/etc/sysconfig/iptables_AINPUT_mstate_stateNEW_mtcp_ptcp_dport5901_jACCCEPT(5)重启VNC和防火墙服务servicevncserverrestartserviceiptablesrestart2.安装VNC客户端在Linux上安装vncviewer在Windows上安装TigerVNC软件二创建KVM虚拟机1.创建Linux虚拟机(1)通过qemu-img创建一个7G的映像文件qemu-imgcreate_fqow2Ubuntu1204.img7G(2)创建一个Linux虚拟机qemu-kvm_m1024_cdromubuntu-12.04-desktop-i386.iso_drivefile=Ubuntu1204.img;boot=on_bootd_nographic_vnc:

2注:-vnc与:2之间有空格在另外一台机器上启动TigerVNC,输入192.168.0.123:5902进行连接来进行安装操作和观察安装进度注:192.168.0.123为本机IP,5902为相应端口号(5900+2)2.创建Windows虚拟机(1)制作包含virtio驱动的映像安装UltraISO软件下载win7.iso,virtio-win-1.1.16.vfd,virtio-win-0.1-30.iso将virtio-win-0.1-30.iso解压成文件夹使用UltraISO打开win7.iso,并将virtio-win-0.1-30复制到对应路径将添加了virtio驱动文件夹的新win7.iso文件另存为新的ios文件win7_virtio.isoqemu-imgcreate_frawwin7_virtio.img30Gqemu-kvm_m1024_cdromwin7_virtio.iso_drivefile=win7_virtio.img,if=virtio,boot=on_fdavirtio-win-1.1.6.vfd_bootd_nographic_vnc:

3注:-vnc与:3之间有空格在另外一台机器上启动TigerVNC,输入192.168.0.123:5903进行连接来进行安装操作和观察安装进度注:192.168.0.123为本机IP,5903为相应端口号(5900+3)三远程桌面虚拟化连接在另外一台机器上启动TigerVNC,输入192.168.0.123:593进行win7虚拟机登录

KVM、QEMU和KQemu有什么区别?

KVM只基于内核的虚拟化Qemu本身就是一种虚拟化,也是一种硬件仿真模拟器KQemu是Qemu针对于KVM做优化后和KVM的结合,性能比Qemu本身好很多。。。我们目前说的KVM其实就是qemu-kvm在linux中是以一个/dev/kvm的块设备和qemu-kvm的一个进程存在的

kvm三个组件及应用?

KVM虚拟化架构及三种模式

1、客户模式(guestOS):VM中的OS为GuestOS

客户机在操作系统中运行的模式,客户机分为内核模成和用户模式

2、用户模式:

为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,Qemu工作在此模式下(Qemu的主要功能)

3、linux内核模式

模拟CPU、内存,实现客户模式切换,处理从客户模式的推出,KVM即运行在此模式下

KVM原理

1、Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O设备驱动等)

被KVM置于一种受限制的CPU模式下运行。

2、KVM内核模块模拟处理器和内存以支持虚拟机运行

3、Qemu主要处理I/O以及为客户提供一个用户空间/dev/kvm工具libvirt来进行虚拟机管理

ioctl(定义)专用于设备输入输出操作的系统调用

libvirt:KVM管理工具

以上构成一个完整的虚拟化平台

简单理解:

KVM驱动提供处理器、内存的虚拟化,以及客户机I/O的拦截,guest的I/O被拦截后,交由Qemu处理

Qemu利用接口libkvm调用(ioctl)虚拟机设备接口/dev/kvm来分配资源、管理、维护虚拟机

KVM工作流程

用户模式的Qemu利用接口libkvm通过ioctl系统调用进入内核模式。KVM驱动为虚拟机创建虚拟CPU和虚拟内存,然后执行VMLAU-NCH指令进入客户模式,装载GuestOS并运行。GuestOS运行过程中如果发生异常,则暂停GuestOS的运行并保存当前状态同时退出到内核模式来处理这些异常。

内核模式处理这些异常时如果不需要V/O则处理完成后重新进入客户模式。如果需要V/O则进入到用户模式,则由Qemu来处理I/O,处理完成后进入内核模式,再进入客户模式

阅读剩余
THE END