KVM --- 全称是基于内核的虚拟机(Kernel-based Virtual Machine)是一个开源软件,基于内核的虚拟化技术,实际是嵌入系统的一个虚拟化模块,通过优化内核来使用虚拟技术,该内核模块使得 Linux 变成了一个Hypervisor,虚拟机使用 Linux 自身的调度器进行管理。
1、查看系统版本
[root@localhost ~]# cat /etc/centos-releaseCentOS Linux release 7.4.1708 (Core)
2、首先验证CPU是否支持虚拟化,输入有vmx或svm就支持,支持虚拟化则就支持KVM
[root@localhost ~]# grep -E '(vmx|svm)' proc/cpuinfo **
3、确保加载kvm模块
[root@localhost ~]# lsmod |grep kvmkvm_intel 174841 0kvm 578518 1 kvm_intelirqbypass 13503 1 kvm#如果没有加载,运行一下命令[root@localhost ~]# modprobe kvm[root@localhost ~]# modprobe kvm-intel
4、安装KVM相关软件包
[root@localhost ~]# yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -yqemu-kvm 主要的KVM程序包python-virtinst 创建虚拟机所需要的命令行工具和程序库virt-manager GUI虚拟机管理工具virt-top 虚拟机统计命令virt-viewer GUI连接程序,连接到已配置好的虚拟机libvirt C语言工具包,提供libvirt服务libvirt-client 虚拟客户机提供的C语言工具包virt-install 基于libvirt服务的虚拟机创建命令bridge-utils 创建和管理桥接设备的工具
5、关闭selinux
[root@localhost ~]# setenforce 0[root@localhost ~]# vim etc/sysconfig/selinux修改SELINUX=disabled
6、启动libvirt并设置开机自启动
[root@localhost ~]# systemctl start libvirtd[root@localhost ~]# systemctl enable libvirtd
7、将ISO系统镜像存放到服务器的一个目录里,比如/data/iso
[root@localhost ~]# mkdir -p data/{iso,kvmstorage}[root@localhost ~]# cd data/iso/[root@localhost iso]# ll总用量 4217748-rw-r--r-- 1 root root 950009856 11月 22 15:24 CentOS-7-x86_64-Minimal-1804.iso-rw-r--r-- 1 root root 3368962048 3月 23 2012 cn_windows_server_2008_r2.iso
8、进入图形化
[root@localhost ~]# virt-manager

新建虚拟机







kvm常用命令
KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理
命令帮助[root@localhost ~]# virsh --help查看虚拟机状态[root@localhost ~]# virsh list --allId 名称 状态----------------------------------------------------4 win2k8r2 running关机[root@localhost ~]# virsh shutdown win2k8r2强制关闭电源[root@localhost ~]# virsh destroy win2k8r2通过配置文件创建虚拟机[root@localhost ~]# virsh create etc/libvirt/qemu/win2k8r2.xml设置虚拟机开机自启[root@localhost ~]# virsh autostart win2k8r2[root@localhost ~]# ll etc/libvirt/qemu/autostart/总用量 0lrwxrwxrwx 1 root root 30 1月 24 13:06 win2k8r2.xml -> /etc/libvirt/qemu/win2k8r2.xml到处虚拟机配置文件[root@localhost ~]# virsh dumpxml win2k8r2 > etc/libvirt/qemu/win2k8r2_bak.xml删除虚拟机(该命令只删除配置文件,并不删除磁盘文件)[root@localhost ~]# virsh undefine win2k8r2通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。[root@localhost ~]# mv /etc/libvirt/qemu/win2k8r2_bak.xml /etc/libvirt/qemu/win2k8r2.xml[root@localhost ~]# virsh define /etc/libvirt/qemu/win2k8r2.xml编辑配置文件[root@localhost ~]# virsh edit win2k8r2挂起[root@localhost ~]# virsh suspend win2k8r2恢复[root@localhost ~]# virsh resume win2k8r2
生成虚拟机
[root@localhost ~]# virt-install --virt-type kvm --name centos --ram 1024 \--disk /data/kvmstorage/centos7.qcow2,format=qcow2 \--network bridge=br0 \--graphics vnc,listen=0.0.0.0 --noautoconsole \--os-type=linux --os-variant=rhel7 \--location=/data/iso/CentOS-7-x86_64-Minimal-1804.iso[root@localhost ~]# virsh list --allId 名称 状态----------------------------------------------------5 win2k8r2 running7 centos running
文章转载自5分享,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




