QEMU提供一系列的硬件模拟设备(CPU,网卡,磁盘等),客户机指令都需要QEMU翻译,因而性能较差。KVM是linux内核提供的虚拟化,可以用来进行vCPU的创建与运行,虚拟内存的地址空间分配,指令执行效率较高,但缺少IO设备的虚拟化。QEMU-KVM就是KVM与QEMU的结合,KVM负责CPU虚拟化+内存虚拟化,QEMU模拟其它IO设备。
二.安装并创建虚拟机
安装qemu-kvm软件
1 |
faramita2016@linux-l9e6:~> zypper install qemu-kvm // Ubuntu系统使用apt-get install qemu-kvm |
创建qcow2格式虚拟机磁盘文件
1 |
faramita2016@linux-l9e6:~> qemu-img create -f qcow2 vdisk.img 5G // 磁盘大小5G |
使用debian镜像安装虚拟机,order=dc优先使用CD-ROW(d),后使用硬盘(c),内存默认128m,使用-m 512指定
1 |
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -cdrom debian-9.4.0.iso -hda vdisk.img -boot order=dc |
三.设置虚拟机使用网桥bridge模式
宿主机中执行,qemu-bridge-helper增加当前用户可执行权限,用来自动添加网络后端tap设备
1 |
faramita2016@linux-l9e6:~> sudo chmod o+x /usr/lib/qemu-bridge-helper |
宿主机中执行,-net nic为虚拟机创建nic网卡(网络前端),-net bridge指定宿主机中使用网桥(网络后端)
1 |
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 // 指定网桥br0 |
虚拟机中执行,编辑/etc/network/interfaces,设置静态IP
1
2
3
4
5
6
7
8
9
10
11 |
root@debian:~ # vi /etc/network/interfaces
# The primary network interface
allow-hotplug ens3
#iface ens3 inet dhcp
iface ens3 inet static
address 10.0.0.8
netmask 255.0.0.0
gateway 10.0.0.1
hwaddress ether 52:54:00:12:34:56 // 设置mac地址,前3组不变
root@debian:~ # ifup ens3 // 打开ens3网络接口,ifdown关闭网络接口
root@debian:~ # /etc/init.d/networking restart // 重启网络服务 |
虚拟机中执行,编辑/etc/resolv.conf,设置DNS
1
2 |
root@debian:~ # vi /etc/resolv.conf
nameserver 8.8.8.8 // Google DNS |
四.设置虚拟机为非图形模式
虚拟机中执行,编辑/etc/default/grub文件,添加console=ttyS0启动参数
1
2
3
4
5
6 |
root@debian:~# vi /etc/default/grub
GRUB_DEFAULT=0 // 默认启动项
GRUB_TIMEOUT=0 // 默认菜单项停留时间
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet" // 默认内核启动参数
GRUB_CMDLINE_LINUX="console=ttyS0" // 手动添加内核启动参数,添加console=ttyS0 |
虚拟机中执行,更新grub配置,并重启
1
2 |
root@debian:~ # update-grub
root@debian:~ # shutdown -h now |
a.宿主机中执行,添加-nographic参数创建虚拟机,当前shell前台创建虚拟机
1 |
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -nographic |
b.宿主机中执行,添加-display none -daemonize参数创建虚拟机,当前shell后台创建虚拟机
1 |
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -display none -daemonize |
五.以只读方式启动虚拟机
a.创建一个快照
用qemu-img命令创建一个原始镜像的快照
1 |
faramita2016@linux-l9e6:~> qemu-img create -f qcow2 -b vdisk.img snapshot.img |
使用快照文件启动虚拟机
1 |
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda snapshot.img -net nic -net bridge,br=br0 -nographic |
b.使用临时快照
原理:创建一个临时快照,虚拟机启动之后,自动删除快照文件
1 |
faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -snapshot -nographic |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。
原文链接:https://www.cnblogs.com/faramita2016/p/9200648.html
相关文章
- 服务器租用价格怎么计算?服务器租用多少钱一年? 2025-05-27
- 云服务器的“弹性”体现在哪些方面? 2025-05-27
- 刀片服务器是什么 刀片服务器的主要特点 2025-05-27
- 利用FTP和计划任务自动备份网站数据和数据库 2025-05-27
- 服务器技术之硬件冗余技术 2025-05-27
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-05-26 28
-
2025-05-27 61
-
2025-05-26 75
-
金融科技行业的“出海”之路:基于API整个生命周期构建安全防线,筑实数字化创新基石
2025-05-27 24 -
2025-05-27 86