KVM/QEMU的虚拟化环境的搭建

本文详细介绍了如何配置宿主机以支持KVM,包括BIOS设置以开启CPU虚拟化,检查内核支持KVM,以及选择性地下载和编译KVM和QEMU源码。教程涵盖了安装步骤和常见问题解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、宿主机前期配置

  1. 宿主机BIOS设置,开启CPU虚拟化。处理器要在硬件上支持VT技术,还要在BIOS中将其功能打开,KVM才能使用。一般在BIOS中,VT的标识通常为“Intel(R) Virtualization Technology”或“Intel VT”等类似的文字说明。
  2. 在虚拟机上安装宿主机Linux操作系统,本实验以Ubuntu16.04为例,宿主机操作系统的具体安装步骤见实验一。
  3. 判断宿主机CPU是否支持虚拟化。Intel系列CPU支持虚拟化的标志为“vmx”,AMD系列CPU的标志为“svm”。使用命令“grep -E "vmx|svm" /proc/cpuinfo”,如图所示,如果显示内容中能找到“vmx”或者“svm”字符,说明该CPU支持虚拟化。4110d36fac614dd29ce5719af21bbe49.png
  1. 判断宿主机操作系统内核是否支持KVM,利用命令“uname -r”查看内核的版本号,2.6以上的内核都支持。
  2. 使用命令“lsmod|grep kvm”查看内核是否已安装KVM模块。如果能看到“kvm_intel”和“kvm”两个模块,说明kvm已经是linux的一个module了,不必再安装,否则需要下载编译安装KVM,如图所示。(目前大部分主流Linux操作系统中都包含KVM模块,不需要编译安装。但作为初学者,如果想了解KVM的编译安装步骤可接着下面第2步的步骤做,否则直接跳到第3步骤。)de6154e5255045f2b117c6fbe697071c.png

2、KVM的源码下载和安装(选做)

1. 如已有KVM则先进行卸载,没有则跳过。卸载方法如下:

(1)查看相关正在运行的mod

lsmod | grep kvm

(2)停止模块运行

如果cpu是AMD:sudo rmmod kvm-amd

如果cpu是Intel:sudo rmmod kvm

(3)卸载模块:

如果cpu是AMD:sudo modprobe -r kvm-amd

如果cpu是Intel:sudo modprobe -r kvm-intel

sudo modprobe -r kvm

(4)完全卸载

sudo aptitude purge kvm qemu-kvm

sudo apt-get remove kvm qemu-kvm

(如遇到E: Could not get lock /var/lib/dpkg/lock-frontend…问题,参考下面链接的方法解决:

https://blog.csdn.net/KingoKing/article/details/115416744)

2. KVM源码下载及安装

  1. 下载KVM源码。使用命令“git clone git://git.kernel.org/pub/scm/virt/kvm/kvm.git”下载KVM到本地“/home/kvm”目录,如图所示。下载完毕后会在“/home/kvm”目录生成一个新的“kvm”目录,显示了kvm源码的目录结构。36e6b5c1159b4824abf3954eb251e6c9.png
  2. 4807056076914de3b7e3fa5b4398e9a1.png
  1. KVM下载完成后,在“/home/kvm/kvm”目录下使用命令“make menuconfig”进行对KVM的配置。在配置时如果出现如图所示的错误,只需按照图所示下载“libncurses5-dev”包即可。dedabc50a07d46f2b34fbd6f04156a90.png42bcc2ad0e4045f284c5557ed7306f15.png

再次运行“make menuconfig”若出现错误,则缺少依赖库,执行下面两个命令进行依赖库安装,如图所示。

sudo apt-get install flex

sudo apt-get install bison65694bc40e35448885b49dac54c3516c.png

  1. 执行“make menuconfig”命令,在最后的“Virtualization”选项中,选中前两项“Kernel-based Virtual Machine(KVM) support”和“KVM for Intel processors support”(如果是AMD处理器,需选定“KVM for AMD processors support”选项)为<M>后保存退出即可,如图所示。

758ba7a6aaef47d5ba28bf8fa48660fb.pngd01f8a0a2e8f42bd97a16ecfbed91bf0.png

  1. 接下来使用命令“make –j 20”编译KVM,编译过程较慢,需耐心等待,测试在4核CPU的普通PC上编译了1个小时左右。如果在编译过程中出现如图1-9所示错误,只需按照图所示安装“libssl-dev”包即可。97f4e53931c54fc2a026aebe338a0483.pnga10b7a5b9b1243f6a3d357e90395315e.png
  1. KVM的安装可分为module的安装,kernel与initramfs的安装两步。进入到KVM下载目录,在“/home/kvm/kvm”目录下使用命令“make modules_install”安装module(需要4-5分钟时间)。安装成功后在“/lib/modules/$kernel_version/kernel/arch/x86/kvm”目录下,可以看到kvm的内核驱动文件kvm.ko和分别支持Intel和AMD类型CPU的内核驱动文件kvm_intel.ko和kvm_amd.ko,如图所示。0e79cc8dcb194de1a88c76c2a9a6ac21.png
  1. 接下来使用“make install”命令安装KVM的kernel和initramfs。安装成功后,可以通过“lsmod|grep kvm”命令查看KVM模块是否加载。如果没有,重新启动系统后,再次使用命令“lsmod|grep kvm”查看已经安装的KVM模块,这时能看到“kvm_intel”和“kvm”两个模块,如图所示。如果还不能看到,可以使用“modprobe kvm”命令和“modprobe kvm_intel”命令手动加载后查看。341cd86f7fe3476baa87e1bc4d9f9861.png
  1. KVM模块加载成功后,可以在“/dev”目录看到一个名字为“kvm”的设备文件,如图所示。至此,KVM安装结束。85cba597fa3743adbd716d25a541c267.png

3、QEMU的源码下载和安装

  1. QEMU官网地址为http://www.qemu.org/,QEMU可以以多种方式下载安装,在Ubuntu操作系统中使用命令“apt-get install qemu”。实验优先使用源码下载编译安装,请按以下步骤操作。
  2. 下载QEMU源码。使用命令

“wget --no-check-certificate https://download.qemu.org/qemu-2.5.0.tar.xz”下载QEMU到本地“/home/kvm”目录(创建目录命令:mkdir /home/kvm),并采用命令“tar xvJf qemu-2.5.0.tar.xz”进行解压,如图所示。下载解压完毕后会在该目录下生成“qemu-2.5.0”目录。26b1a0afaf4a46ddbea95d6f43c26dc7.png

  1. 配置QEMU,到QEMU下载目录“/home/kvm/qemu-2.5.0”,执行命令“./configure --enable-sdl”进行配置。

在该步骤如果由于缺少相应的包导致配置失败,如图1-15所示,使用“apt-cache search 包名”进行搜索,然后使用“apt-get install”命令逐一下载安装即可。(可能会出现的错误为缺少zlib包,使用命令“apt-get install zlib zlib1g zlib1g-dev”命令安装。没有c++编译器时,使用命令“apt-get install gcc”命令安装。缺少glib时,使用“apt-get install libglib2.0-dev”命令安装。其他错误可以逐一排查。)
如果由于某些包版本不对,如图所示,可以根据提示使用相应的命令更新即可。516f2150e2704b588dac0481ebff6ff5.png

5c92388a2829416a9e15729be1e78ac5.png

出现如下提示则qemu的configure配置过程正常进行。

02a62d09ac774798b8f02a7fd866e4be.png

  1. 配置成功后,使用“make -j 20”命令编译QEMU,过程稍慢需耐心等待,在4核CPU的普通PC上编译了15分钟左右,时间大概15-30分钟。
  2. 编译成功后,使用“make install”安装QEMU。
  3. 安装完毕后,使用命令“qemu-system-x86_64”查看QEMU是否安装(按两次Tab键可以给出以qemu-system-开头的命令),使用“which qemu-system-x86_64”命令可以查看安装的QEMU所存放的目录,如图所示。e88f930582f24e52b48d059d7633f101.png

使用qemu-system-x86_64 -version查看qemu版本号e513ad92cf024cdf9bf2e4c7cc0f6645.png

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鷇韩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值