Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。
KVM 架构图:
- Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O 设备驱动等),被 KVM 置于一种受限制的 CPU 模式下运行。
- KVM:运行在内核空间,提供 CPU 和内存的虚级化,以及客户机的 I/O 拦截。Guest 的 I/O 被 KVM 拦截后,交给 QEMU 处理。
- QEMU:修改过的被 KVM 虚机使用的 QEMU 代码,运行在用户空间,提供硬件 I/O 虚拟化,通过 IOCTL /dev/kvm 设备和 KVM 交互。
KVM安装:
1.查看计算机CPU虚拟环境
2.安装KVM及管理工具
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client -y
3.使用 qemu-img 和 qemu-kvm 命令行方式安装
3.1 qume-img创建虚拟磁盘 (qcow2格式)
简介:qcow2 镜像格式是 QEMU 模拟器支持的一种磁盘镜像。它也是可以用一个文件的形式来表示一块固定大小的块设备磁盘。与普通的 raw 格式的镜像相比,有以下特性:
1.更小的空间占用
2.支持写时复制(cow,copy on write)
3.支持快照(snapshot)
4.可选择基于 zlib 的压缩方式及AES加密
qemu-img create -f qcow2 WindowServer.qcow2 30G
1.开始创建虚拟机并安装2008
virt-install --virt-type kvm --name instance-0002 --ram 1024 --cdrom=/system_iso/windows_server_2008_r2_standard_sp1_x64_617598.iso --boot cdrom --network network=default --graphics vnc,listen=0.0.0.0 --disk path=/kvm_img/WindowServer.qcow2 --noautoconsole --os-type=windows
打开 virt-manager
安装系统
分区格式化
等待文件复制安装
安装完成
其它:
虚拟机管理工具:
virsh 常用命令:
virsh start x 启动名字为x的非活动虚拟机
virsh list 列出虚拟机
virsh create x.xml 创建虚拟机(创建后,虚拟机立即执行,成为活动主机)
virsh suspend x 暂停虚拟机
virsh resume x 启动暂停的虚拟机
virsh shutdown x 正常关闭虚拟机
virsh destroy x 强制关闭虚拟机
# virsh undefine x 删除虚拟机
virsh dominfo x 显示虚拟机的基本信息
virsh domname 2 显示id号为2的虚拟机名
virsh domid x 显示虚拟机id号
virsh domuuid x 显示虚拟机的uuid
virsh domstate x 显示虚拟机的当前状态
virsh dumpxml x 显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时
,需要给虚拟机分配id号、uuid、vnc端口号等等)
virsh setmem x 512000 给不活动虚拟机设置内存大小
virsh edit x 编辑配置文件(一般是在刚定义完虚拟机之后)