debian虚拟机安装kvm虚拟机

迈不过友情╰ 2022-05-22 12:54 704阅读 0赞

一、概念介绍

1、libvirt是Linux上的虚拟化库,是长期稳定的C语言API,支持KVM/QEMU、Xen、LXC等主流虚拟化方案。virsh是libvirt对应的shell命令。

  1. 2kvm,即Kernel-basedVirtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization

3、vnc既远程访问软件,用于访问创建好的虚拟机。

二、配置环境

1、linux debian8.8

2、安装kvm/qemu

$ apt-get install kvm qemu

3、安装libvirt

$ apt-get install libvirt-bin libvirt-dev

4、网桥管理工具

$ apt-get install bridge-utils

5、安装vnc viewer

安装vnc viewer(有win/linux/android)版本,本人是安装在windows下的。

6、查看是否支持虚拟化

$egrep ‘vmx|svm’ —color /proc/cpuinfo

KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。有返回结果,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。

7、加载kvm 内核

$modprobe kvm

$modprobe kvm-intel

$lsmod | grep kvm#查看内核

三、创建虚拟机

1、找1个合适的winxp安装镜像(iso)

为何这一步单独拿出讲, 是有原因的。

kvm 的虚拟硬盘的模式是virtio,virtio的性能和稳定性上佳, 但是windows安装盘是找不到virtio模式的虚拟硬盘的, 必须要在安装前先加载virtio的磁盘驱动。

网上也有加载驱动的教程,但是相对麻烦,建议直接下载整合了virtio驱动的windows安装镜像。

2、准备虚拟硬盘文件。

$qemu-img create -f raw /data/my_kvm.raw10G

3、配置虚拟网卡

这里本人的br_eth0信息如下:

HWaddr 20:25:64:80:61:94

inet addr:10.12.13.20

Bcast:10.12.255.255

Mask:255.255.0.0

4、准备和编写1个虚拟机配置文件。(备份,以后可以重用/迁移)

1) 虚拟机cpu数量(非必要,默认是2)

2) 虚拟机内存大小(非必要,默认是2G)

3) 虚拟硬盘文件位置。

4) winxp安装镜像的位置。

5) 虚拟网络实例的名字( 非必要, /etc/network/interfaces 里新加的br0 如果你用了别的名字的话)

6) vnc 端口(默认5900,除非你这个端口被占用否则不要改

下面定义一个my_kvm.xml用于配置虚拟机:

//如果是Xen,则type=‘xen’

my_kvm //虚拟机名称,同一物理机唯一

fd3535db-2558-43e9-b067-314f48211343 //同一物理机唯一,可用uuidgen生成

2048000

2048000 //memory这两个值最好设成一样

2 //虚拟机可使用的cpu个数,查看物理机可用CPU个数:cat /proc/cpuinfo |grep processor | wc-l



hvm//arch指出系统架构类型,machine 则是机器类型,查看机器类型:qemu-system-x86_64 -M ?

//启动介质,第一次需要装系统可以选择cdrom光盘启动

//表示启动按F12进入启动菜单





//Advanced Configuration and Power Interface,高级配置与电源接口

//Advanced Programmable Interrupt Controller,高级可编程中断控制器

//Physical Address Extension,物理地址扩展



//虚拟机时钟设置,这里表示本地本机时间

destroy //突发事件动作

restart

restart

//设备配置/

/usr/bin/kvm //如果是Xen则是/usr/lib/xen/binqemu-dm

//硬盘





// if windows must ide else virtio



















/* 利用Linux网桥连接网络 */



//配置的网桥网卡名称









//配置vnc,windows下可以使用vncviewer登录,获取vnc端口号:virsh dumpxml my_kvm | grep “vnc”









5、基于这个配置文件创建1个虚拟机

1)创建虚拟机

$virsh create my_kvm.xml

2)查看是否运行

$virsh list

6、安装winxp到虚拟机

在vnc viewer输入网址+端口打开,这时你已经见到winxp的安装界面了。之后安装也就是几个下一步的事情,安装完成后,设置ip,这里要与宿主机设置在同一个网段,这样就可以通过桥接访问外网,

7、维护这个虚拟机.(start/shutdown/update..)

马上检查ip是否同一网段, 如果是, 则开启远程桌面服务。以后就可以通过远程桌面访问了, 丢下不好用的vnc viewer。



四、制作模板



模板虚拟机安装好之后,停止该虚拟机,复制制作过程如下:(以本人second.xml为例)

下面的目录都是根据个人习惯,使用者也可以根据自己的习惯设计目录结构。



1、新建/data/xml目录下second.xml:



second

fd3535db-2558-43e9-b067-314f48311345//uuid要做相应的修改 2048000

2048000 2

hvm













destroy

restart

restart



/usr/bin/kvm





























2、复制镜像文件,再存放做好的镜像的目录下,本人的是data,克隆镜像,克隆出来的文件非常小只有几MB,这里为了管理方便,将镜像和xml配置文件分开存放。在这里已经制作出了新的模板my_kvm.raw,拷贝到/data/modules下:

  1. cp my\_kvm.raw moudles/my\_kvm.img

进入/data/moudles目录下,制作模板快照(注意:这里制作镜像需要qcow2格式):

qemu-img create -f qcow2 my_kvm.qcow2-o backing_file=my_kvm.img

3、创建虚拟机

进入到/data/xml目录下

virsh create second.xml

五、总结


  1. 通过此次kvm虚拟机的创建工作,我了解到如何在linux安装windows虚拟机,而不是之前在windows Vmware中安装linux虚拟机的按键式操作。利用xml配置文件简化了kvm虚拟机的创建,但是需要了解网络的配置、端口、mac地址等概念的实际运用。利用virsh操作虚拟机更加方便快捷。

理论和实践相结合,首先了解虚拟机的原理,然后了解虚拟软件,然后了解虚拟机管理软件,然后就更上层的虚拟机调度;总的来说kvm和qemu就是虚拟软件,负责创建和运行虚拟机,但是却不能很方便的管理多个虚拟机的实例,为了更加方便的管理虚拟机,所有出现了libvirt和virsh等函数库和相应的命令行工具。

发表评论

表情:
评论列表 (有 0 条评论,704人围观)

还没有评论,来说两句吧...

相关阅读

    相关 kvm虚拟迁移

    说明:kvm虚拟机迁移我的总结分为三种: 冷迁移 热迁移 图形迁移   下面说各种迁移的步骤和注意事项: 冷迁移: 这个和克隆还是有区别的:克隆是把源虚拟机关闭,

    相关 KVM 安装windows 虚拟

    KVM 安装windows 虚拟机 家里有台linux电脑, 一直当文件服务器和下载机使用。 所谓下载机就是装1个xware用迅雷远程下载, 但是最近迅雷关闭了第三方机