创建新虚拟机
现在我们可以使用“virt-install”命令来设置虚拟机。
程序的语法如下:
# virt-install --name=onitroad-vm \ --vcpus=1 \ --memory=1024 \ --cdrom=/tmp/debian-9.0.0-amd64-netinst.iso \ --disk size=5 \ --os-variant=debian8
首先,我们使用了--name
选项:这是强制性的,它用于为新虚拟机分配一个名称。
下一个选项是--vcpus
。 我们使用它来指定为客户提供的“虚拟CPU”的数量。
该--memory
选项用于指定内存大小
--cdrom
让我们指定的路径,文件或者设备被用作虚拟CD-ROM :它可以是ISO图像,CDROM设备或者从中访问引导ISO镜像的URL。
--disk
标志用于为客户配置媒体存储。
可以指定各种逗号分隔的选项,例如:size
,用于指定GB和“路径”中的虚拟磁盘的大小,用于指定用于为磁盘用于用于磁盘的路径(如果)尚未存在)。
如果指定了此选项,则必须确保可访问目标路径并具有正确的SELinux上下文。
如果未指定“路径”选项,则如果以普通用户(kvm组成员)身份执行命令,则将在“$HOME/.local/share/libvirt/images”中创建磁盘;如果以root用户身份运行,则在/var/libvirt/images中创建磁盘。
接下来我们传递了--os variant
选项。虽然这不是强制性的,但强烈建议使用它,因为它可以提高虚拟机的性能。该选项将尝试将来宾系统微调到特定的操作系统版本。如果未通过该选项,程序将尝试自动检测安装介质中的正确值。要获取可运行的所有受支持系统的列表,请执行以下操作:
$osinfo-query os
如果一切顺利,将会安装virt-viewer
。 将出现一个窗口,显示客户操作系统安装程序。
系统引导时自动启动虚拟机
设置虚拟机在宿主机开机时自启动:
# virsh autostart onitroad-vm
要禁用此选项,我们运行:
# virsh autostart --disable onitroad-vm
克隆来宾系统
另一个实用程序,virt-clone
可用于通过克隆现有虚拟机来创建新的虚拟机。
首先确保被克隆的来宾系统已关机, 然后再运行:
virt-clone \ --oroirnal=onitroad-vm \ --name=onitroad-vm-clone \ --file=/var/lib/libvirt/images/onitroad-vm.qcow2
这里的内容很容易理解:我们使用“--oroirnal”选项指定要克隆的客户机,并使用“--name”指定新客户机的名称。
查看克隆后的虚拟机:
# virsh list --all Id Name State --------------------------------------------------- - onitroad-vm shut off - onitroad-vm-clone shut off
virsh工具
virsh实用程序可用于与虚拟机交互。
例如,假设您想列出所有配置的来宾系统,使用virsh您只需运行:
# virsh list --all
无论它们是否正在运行,输出都将显示所有已配置的来宾系统的ID,名称和状态。
但如果你想改变一些访客机器参数怎么办?
我们可以使用virsh
完成操作:
# virsh edit onitroad-vm
正如我们所看到的,输出是XML表示的虚拟机属性(在Virsh中叫做域) ,
例如,我们要修改vcpu的数量:
<vcpu placement='static'>1</vcpu>
新增一颗CPU
<vcpu placement='static'>2</vcpu>
修改后,重启虚拟机:
# virsh reboot onitroad-vm
现在如果我们在来宾系统中执行 lscpu
命令,将可以看到增加的CPU数量。
初步设置
检查CPU是否支持虚拟化:
$cat /proc/cpuinfo
如果我们使用AMD处理器,看到“SVM”表示支持虚拟化
如果CPU是英特尔,则需要看到“VMX”。
确保所需的内核模块已加载:
# lsmod | grep kvm kvm_intel 200704 0 kvm 598016 1 kvm_intel irqbypass 16384 1 kvm
可以看到除了“kVM模块”之外,也已经加载了“KVM_INTEL”。
如果模块未自动加载,则可以尝试使用modprobe
命令手动加载它们:
# modprobe kvm_intel
最后,我们必须启动“LibVirtd”守护程序:
# systemctl enable --now libvirtd