分享交流
合作共赢!

KVM基础使用方法总结【二】——qemu管理虚拟机

Kvm的安装配置参考琼杰笔记文章:KVM的基础使用方法总结——【简介和安装】

一、qemu简介:

Qemu是一个广泛使用的开源计算机仿真器和虚拟机,当作为仿真器时,可以在一种架构(如PC机)下运行另一种架构(如ARM)下的操作系统和程序。而通过动态转化,其可以获得很高的运行效率。当作为一个虚拟机时,qemu可以通过直接使用真机的系统资源,让虚拟系统能够获得接近物理机的性能表现。qemu支持xen或者kvm模式下的虚拟化。当使用kvm时,qemu可以虚拟x86、服务器和嵌入式PowerPC、以及s390的系统。

qemu当运行与主机架构相同的目标架构时可以使用KVM,例如:当在一个x86兼容处理器上运行qemu-system-x86时,可以利用KVM加速以为宿主机和客户机提供更好的性能。

Qemu有如下几个部分组成:

  • 处理器模拟器(x86、PowerPC和Sparc);
  • 仿真设备(显卡、网卡、硬盘、鼠标等);
  • 用于将仿真设备连接至主机设备(真是设备)的通用设备;
  • 模拟机的描述信息;
  • 调试器;
  • 与模拟器交互的用户接口

 查看镜像文件信息:

[root@master01 opt]# qemu-img info cirros-0.5.1-i386-disk.img 
image: cirros-0.5.1-i386-disk.img
file format: qcow2
virtual size: 112M (117440512 bytes)
disk size: 14M
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false

安装VNC:

参考琼杰笔记文档:https://www.zhangqiongjie.com/?s=vnc

[root@master01 opt]# yum install tigervnc -y
[root@master01 opt]# rpm -ql tigervnc

Alt+2可以查看监控界面,Alt+1重新返回终端控制台界面。

二、qemu-kvm的使用

qemu-kvm的常用选项包括标准选项、显示选项、i386平台专用选项及Linux系统引导专用选项等相关的选项。

1.qemu-kvm的标准选项

qemu-kvm的标准选项主要涉及指定主机类型、CPU模式、NUMA、软驱设备、光驱设备及硬件设备等。

  • -name name: 设定虚拟机名称;
  • -M machine: 指定要模拟的主机类型,如Standard PC、ISA-only PC或Intel-Mac等,可以使用”qemu-kvm -M ?”获取所支持的所有类型;
  • -m megs: 设定虚拟机的RAM大小;
  • -cpu model: 设定CPU模型,如coreduo,qemu64等,可以使用”qemu-kvm -cpu ?”获取所支持的所有模型;
  • -smp n[,cores=cores][,threads=threads][,sockets=sockets][,maxcpus=maxcpus]: 设定模拟的SMP架构中CPU的个数等,每个CPU的核心数及CPU的socket数目等;PC机上最多可模拟255颗CPU;maxcpu用于指定热拔插入的CPU个数上限;
  • -numa opts: 指定模拟多节点的numa设备;
  •  -cdrom file: 使用指定file作为CD-ROM镜像,需要注意的是-cdrom和-hdc不能同时使用;将file指定为/dev/cdrom可以直接使用物理光驱;
  • -drive option[,option[,option[,…]]]: 定义一个硬盘设备,可用子选项有很多。

-drive可用的子选项有很多:

  • file=/path/to/somefile: 硬件映像文件路径;
  • if=interface: 指定硬盘设备所连接的接口类型,即控制器类型,如ide, scsi, sd, mtd, floppy, pflash及virtio等;(查看磁盘是否支持virtio: ~]# find /lib/modules/ -name “*virtio*.ko”,包含virtio.ko相关文件表示支持,否则不支持
  • index=index: 设定同一种控制器类型中不同设备的索引号,即标识号;
  • media=media: 定义介质类型为硬盘(disk)还是光盘(cdrom);
  • snapshop=snapshop: 指定当前硬盘设备是否支持快照功能:on或off;
  • cache=cache: 定义如何使用物理机缓存来访问块设备,其可用值有none, writeback, unsafe和writethrough四个;
  • format=format: 指定映像文件的格式,具体格式可参考qemu-kvm命令;
  • -boot [order=drives][,once=drives][,menu=on|off]: 定义启动设备的引导次序,每种设备使用一个字符表示;不同的架构所支持的设备及其表示字符不尽相同,在x86 PC架构上,a、b表示软驱;c表示第一块硬盘;d表示第一个光驱;n-p表示网络适配器;默认为硬盘设备:-boot order=dc,once=d;

2.qemu-kvm的显示选项

显示选项用于定义虚拟机启动后的显示接口相关类型及属性等。

  • -nographic: 默认情况下,qemu使用SDL来显示VGA输出,而此选项用于禁止图形接口,此时qemu类似一个简单的命令行程序,其仿真串口设备将被重定向到控制台;
  • -curses: 禁止图形接口,并使用curses/ncurses作为交互接口;
  • -alt-grab: 使用Ctrl+Alt+Shift组合键释放鼠标;
  • -ctrl-grab: 使用右Ctrl键释放鼠标;
  • -sdl: 启用SDL;
  • -vnc display[,option[,…]]]: 默认情况下,qemu使用SDL显示VGA输出;使用-vnc选项,可以让qemu监听在VNC上,并将VGA输出重定向值VNC回话;使用此选项时,必须使用-k选项指定键盘布局类型;其有许多子选项,具体请参照qemu-kmv的手册;
  • -sdl: 启用SDL;
  • -spice option[,option[,…]]: 启用spice远程桌面协议,其有许多子选项,具体参照qemu-kvm手册;

VNC选项的使用:

display:

  • host:N :192.168.100.1:1,监听于192.168.100.1主机的5900+N端口上;
  • unix:/path/to/socket_file
  • none

options:

  • passowrd: 连接时需要验证密码,设定密码可通过monitor接口使用change配置
  • reverse: “反向”连接至某处于监听状态的vncview上;
  • -monitor stdio: 表示在标准输入输出上显示monitor界面;
  • -nographic: Ctrl+a,c可在console和monitor之间切换;Ctrl+a,h可显示帮助信息;

vnc实例:

[root@master01 ~]# qemu-kvm -m 512 -smp 2 -cpu host -drive file=/opt/pe.qcow2,media=disk,format=qcow2,cache=writeback -drive file=/opt/ubuntu-18.04.4-live-server-amd64.iso,media=cdrom -boot order=dc,once=d -vnc 192.168.100.1:0 password -monitor stdio 

无窗口启动实例:

[root@node01 opt]# qemu-kvm -name "vm03" -m 256 -smp 1 -drive file=/opt/vm10.img -nographic

3.qemu-kvm的网络属性选项

网络属性相关选项用于定义网络设备接口类型及其相关的各属性等信息,常用的主要有nic, tap和user三种类型网络接口的属性,其他类型参照qemu-kvm手册。

  •  -net nic[,vlan=n][,macaddr=mac][,mode=type][,name=name][,addr=addr][,vectors=v]: 创建一个新的网卡设备并连接至vlan n中;PC架构上默认的NIC为e1000, macaddr用于为其指定MAC地址,name用于指定一个在监控时显示的网上设备名称;emu可以模拟多个类型的网卡设备,如virtio, i82551, i82557b, i82557d, i82559er, ne2k_isa, rtl8139, e1000, smc91c111, lance及mcf_fec等;不过,不同平台架构上,其支持的类型可能只包含前述列表的一部分,可以使用”qemu-kvm -net nic,model=?”来获取当前平台支持的类型;(查看网卡是否支持半虚拟化virtio:[root@node01 ~]# ethtool -i ens33,若显示有virtio_net表示支持)
  • -net tap[,vlan=n][,name=name][,fd=h][,ifname=name][,script=file][,downscript=dfile]: 通过物理机的TAP网络接口连接至vlan n中,使用script=file指定的脚本(默认为/etc/qemu-ifup)来配置当前网络接口,并使用downscript=file指定的脚本(/etc/qemu-ifdown)
 

 

赞(0) 打赏
未经允许不得转载:琼杰笔记 » KVM基础使用方法总结【二】——qemu管理虚拟机
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏