当前位置:首页 > 虚拟机 > 正文

libvirt命令创建虚拟机


一、KVM:virt-install创建虚拟机grep-E'vmx|svm'/proc/cpuinfo
#-Egrep的扩展模式
#当前CPU是否支持硬件虚拟化
lsmod|grepkvm
#检查kvm模块是否只是一个linux模块kvm安装完成后,整个linux系统将成为一个hypervisor(虚拟机管理层)。qemu、virt和virsh对应两个家族qemu只支持命令行方式(创建、删除、管理等),virt-install创建虚拟机,virsh只能管理虚拟机(不能创建),而virt-.管理器提供网络界面。
综上所述,libvirt家族和qemu家族都可以实现虚拟机的生命周期管理。它们只是用于相同目的的不同工具。
mkdir/home/vm
上传CentOS-7-x86_到此目录
virt-install-ncentos3-r256--disk/home/vm/,format=qcow2,size=2--networkbridge=br0--os-variant=rhel7.6--cdrom/home/vm/CentOS-7-x86_64-最小--vnc--vncport=6666--vnclisten=0.0.0.0
-n虚拟机名称
-r内存(默认单位MB)
--disk指定磁盘(可以使用qemu-img预先创建,也可以在这里创建)
*使用qemu-img创建磁盘10G
--network指定此处使用虚拟机br0使用的网络。这个桥设备要提前准备好
--cdrom指定镜像文件
--vnc设置vnc,指定vnc监听端口和监听地址
#输入上述命令后才按回车
忽略上面弹出的警告框
此时查看主机开放的端口,就会出现我们正在监听的6666端口
使用vnc客户端新建一个连接,IP地址填写主机地址,端口6666,名称为虚拟机的名称
将颜色级别设置为rgb222,然后点击确定
双击连接图标进入安装界面
注意:
1运行virt-install和go时要小心,不要遗漏任何参数。刚刚漏掉了--vnc参数,导致vnc无法连接
2主机必须运行虚拟机并保证CPU和内存资源充足,否则会出现问题安装。
二、测试开发之系统篇-按需创建测试虚拟机

首先我们来了解一下KVM虚拟机相关的几个概念和工具。

创建新的KVM虚拟机时,可以指定另一个磁盘文件作为BackingFile。BackingFile是一个只读虚拟磁盘基础映像,可以在多个虚拟机之间共享。创建并运行基于BackingFile的虚拟机时,文件只会增量写入到自己的磁盘文件中,从而提高效率并节省磁盘和维护成本。

虚拟机快照保存虚拟机在指定时间点的状态。当我们在自动化测试过程中遇到问题或错误时,我们可以使用快照来保存并恢复到执行过程中的某个时间。观点。通过BackingFile机制,虚拟机支持以下多层依赖快照链。

您可以使用以下命令将快照链中的虚拟机导出,形成独立的磁盘镜像文件,不再依赖于其他镜像。

假设我们在用户的工作目录中创建以下目录。

下面通过一个例子介绍如何快速创建测试虚拟机。

(1)按照上一篇文章的步骤创建Win10虚拟机;

(2)在虚拟机中,安装工作中使用的测试软件;

(3)使用以下命令创建新的共享工具盘;

(4)将共享磁盘挂载到虚拟机上,并将工具和文件复制到磁盘上;

(5)删除虚拟机。在确认对话框中,请选择不删除相关磁盘文件;

(6)将原虚拟机主磁盘文件移至基础镜像目录,如kvm/base/windows/win10/x64-pro-zh_2。

(7)执行以下命令,使用上述基础镜像作为BackingFile创建新的虚拟机磁盘;

(8)在图形界面中,新建一个测试虚拟机,挂在新建的虚拟机和共享磁盘上。

除了使用图形界面的qemu-manager软件之外,这里还有一个命令行的方法,可以在测试平台的代码中使用。

(9)导出虚拟机XML配置文件

(10)修改XML配置文件中以下字段:第一个盘的nameuuidvcpumemory和currentMemorymacaddress源文件

(11)在第一个磁盘的Elemnt中,添加以下BackingFile相关内容:

(12)如果需要使用页面VNC访问虚拟机桌面,找到XML图形元素并修改为以下内容。

(13)使用以下命令定义虚拟机。

(14)使用以下命令启动虚拟机。

(15)使用以下命令获取虚拟机的VNC端口号,并在VNC软件中使用端口“5900+此号”访问虚拟机远程桌面。

另外,我使用GO语言基于libvirt接口实现了虚拟机管理功能。这个开源项目旨在为大家提供一个基于KVM虚拟机和Docker容器的按需测试环境管理平台。详细信息请参考GitHub上的easysoft/zagent项目。

常用命令:


三、Centos7下如何搭建KVM虚拟机预安装
======================================================================================
KVM相关安装包及其功能
主要KVM包qemu-kvm
python-virtinst创建机器所需的虚拟命令行工具和库
虚拟机管理工具virt-managerGUI
virt-top虚拟机统计命令
virt登录程序-viewerGUI,连接配置好的虚拟机
libvirtC语言工具包,提供libvirt服务
libvirt-client为虚拟客户端提供的C语言工具包
命令virt-installvirtual基于libvirt服务的机器创建
bridge-utils用于创建和管理桥接设备的工具
=============================================
1.确保机器有VT
终端输入命令:
cat/proc/cpuinfo|grepvmx#intelcpu
cat/proc/cpuinfo|grpesvm#amdcpu
如果有vmx或flags:中的svm,表示支持VT;如果没有输出,则说明您的CPU不支持,您将无法使用KVM虚拟机。
2.确保BIOS中启用VT:Intel(R)VirtualizationTech[Enabled]并使用以下命令
lsmod|grepkvm
modprobekvm-intel
3。
a、安装bridge-utils,用于管理brctl网桥的工具
yum-yinstallbridge-utils
安装后systemctlrestartnetwork重新启动网络
b创建ifcfg-br0。文件中输入以下内容,根据相关真实环境修改红色部分。
TYPE="Bridge"
BOOTPROTO="static"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="否"
IPV6INIT="是"
IPV6_AUTOCONF="是"
IPV6_DEFROUTE="是"
IPV6_PEERDNS="是"
IPV6_PEERROUTES="是"
IPV6_PRIVACY="否"
IPV6_FAILURE_FATAL="否"
STP="是"
DELAY="0"
NAME="br0"
DEVICE="br0"
ONBOOT="yes"
IPADDR="172.16.10.215"#要桥接的网卡IP
PREFIX="16"
GATEWAY="172.16.11.1"
DNS1="8.8.4.4"
DOMAIN=""
c.修改要桥接的网卡的配置文件,记得保存
#TYPE="Ethernet"
#BOOTPROTO="static"
#DEFROUTE="yes"
#PEERDNS="是"
#PEERROUTES="是"
#IPV4_FAILURE_FATAL="否"
#IPV6INIT="是"
#IPV6_AUTOCONF="是"
#IPV6_DEFROUTE="是"
#IPV6_PEERDNS="是"
#IPV6_PEERROUTES="是"
#IPV6_PRIVACY="否"
#IPV6_FAILURE_FATAL="否"
NAME=“eno16777736”
UUID=“dad441c6-d806-4b24-98f2-46e606a83288”
DEVICE=“eno16777736”
ONBOOT=“yes”
#IPADDR=“172.16。10.215"
#PREFIX="16"
#GATEWAY="172.16.11.1"
#DNS1="8.8.4.4"
#DOMAIN="anskvm"
桥=“br0”
d。重启网络并检查网桥状态
systemctlrestartnetwork
brctlshow
4.安装kvm
复制代码如下:
yum-yinstalllibcanberra-gtk2qemu-kvm.x86_64qemu-kvm-tools.x86_64libvirt.x86_64libvirt-cim.x86_64libvirt-client.x86_libvirt-python.x86_6.x86_64dbus-develvirt-clonetunctlvirt-managerlibvirtlibvirt-pythonpython-virtinst
5。安装x-windows并使用GUI。管理虚拟机
yumgroupinstall“XWindowSystem”
6.安装汉字修复界面截断问题
yuminstalldejavu-lgc-sans-fonts
yumgroupinstall"Fonts"-y
7.启用libvirt
systemctlstartlibvirtd
systemctlenablelibvirtd
8。使用virt-manager管理kvm
本地需要安装xmanager和xshell工具,使用时勾选x11转发。xshell建立连接。
9、下载ISO或qcow2文件到/var/lib/libvirt/images#(该目录为KVM镜像仓库)
使用xshell(连接时使用步骤8)即可连接到主机后,使用virt-manager创建虚拟机,安装前必须配置该虚拟机,否则安装过程中键盘和鼠标将无法使用。