KVM 虚拟机安装

安装虚拟机

图形界面安装方式

virt-manager是一款使用libvirt接口管理虚拟机的桌面图形化程序。

使用方式相当简单,只需要在桌面环境下的命令行终端,输入virt-manager即可打开这款图形界面管理软件。

virt-manager

在安装的过程中,可能会遇到下面的出错信息:

Unable to complete install: 'internal error: process exited while connecting to monitor: Could not access KVM kernel module: Permission denied failed to initialize KVM: Permission denied'

解决办法:让系统重新加载KVM内核模块

# 卸载当前kvm模块
rmmod kvm_intel  
rmmod kvm  
# 重新加载
modprobe kvm  
modprobe kvm_intel  

总结:图形界面安装方式非常方便,直观,配置选项也很丰富,而且提供了虚拟机快照,在线迁移等功能。使用的参数也基本都经过了优化,比如使用virtio作为多数I/O设备的驱动。

命令行安装方式

virt-install 是一款用来创建KVM, Xen, or Linux container 虚机的命令行工具。

# Example 1
$ sudo virt-install --name=DemoVM --hvm --memory=512 --vcpus=1 \
   --disk path=/var/vm/cent7.qcow2,bus=virtio,format=qcow2,size=3 \
   --os-type=linux \
   --os-variant=centos7.0  \
   --network network=default \
   --cdrom /var/iso/CentOS-7-x86_64-Minimal-1611.iso

这条指令仅仅是通过命令行的方式启动虚拟机的安装程序,仍然会在前台使用virt-viewer显示安装界面

# Example 2
# 'extra-args'只能配合'--location'一起使用,所以事先必须将ISO镜像挂载到目录
$ sudo mount /var/iso/CentOS-7-x86_64-Minimal-1611.iso /mnt/iso
$ sudo virt-install -n cent7 --memory 512 \
--disk path=/var/vm/cent7.qcow2,size=3 \
--location /mnt/iso \
--nographics \
--extra-args 'console=ttyS0,115200n8 serial' \
--disk path=/var/iso/CentOS-7-x86_64-Minimal-1611.iso,device=cdrom

这条指令会启动Text-based Anaconda安装程序,并使用当前虚拟终端显示VM console的内容(不需要启动任何图形化界面)

参数说明

参数说明
--name创建的虚拟机名称,这个name不能与现有的虚拟机冲突
--hvm | --paravirtGuset的虚拟化类型 hvm=完全虚拟化 paravirt=半虚拟化
--memory内存大小(M)
--vcpus虚拟cpu数量
format磁盘镜像格式(qcow2支持的特性最丰富,压缩,快照,动态扩展等)
--network设置网络类型(使用bridge等网络类型需要为host的网卡做额外配置)
--os-variant要安装的Guest OS类型,为了更好的模拟硬件设备,强烈建议提供这个参数 osinfo-query os命令查询当前kvm支持的guest操作系统类型

删除虚拟机

# 删除虚拟机
$ sudo virsh destory <VM-Name>
# 注销虚拟机(以便重新创建同名虚拟机)
$ sudo virsh undefine <VM-Name>
# 手动删除VM磁盘镜像文件
$ sudo rm /var/vm/<VM-Name>.qcow2

扩展阅读

Installing Virtual Machines with virt-install

redhat 官方安装文档