一、安装前检查
1、查看CPU是否支持VT(虚拟化)
cat /proc/cpuinfo | egrep 'vmx|svm'
结果显示由vmx或svm则表示支持虚拟化技术,否者需要设置CPU开启虚拟化
2、关闭防火墙和selinux
systemctl stop firewalld
setenforce 0
二、设置CPU开启虚拟化
1、关闭虚拟机,勾选虚拟化引擎,下图红框所示
2、勾选虚拟化引擎,重启虚拟机,如果出现下图错误,则去掉勾选,按步骤 3 操作
3、
(1)控制面板->程序->开启或关闭windows功能,去掉勾选
(2)关闭服务中的HV主机服务
(3)运行关闭Hyper-V
bcdedit /set hypervisorlaunchtype off
(4)按一下连接下载工具
https://www.microsoft.com/en-us/surface?icid=mscom_marcom_dlc
(5)解压缩
(6)管理员运行命令行终端Windows PowerShell (管理员),即右键开始-> Windows PowerShell (管理员)(A)进入终端。然后工具的解压目录,执行一下命令
Set-ExecutionPolicy RemoteSigned
然后就会禁用Hyper-V,电脑重启
(7)重启后有一个黑幕,按下Win键或者F3确认关闭Device Guard以及虚拟机安全策略,然后按任意键重启电脑。
4、然后再打开虚拟机可以正常运行
三、安装virsh相关软件
(1)下载创建虚拟机所需要的镜像文件
CentOS-7-x86_64-Minimal-1810.iso
(2)安装KVM及相关依赖包
yum install -y qemu-img
yum install -y libvirt
yum install -y virt-install
yum install -y qemu-kvm
yum install -y qemu-kvm-tools
yum install -y virt-manager
(3)验证kvm安装是否成功,安装成功如下图所示
virsh -c qemu:///system list
(4)加载KVM模块,并检查是否加载成功,成功如下图所示
## 加载kvm模块
modprobe kvm
## 检查模块是否加载成功,执行如下命令
lsmod |grep kvm
(5)开启虚拟化和使能开机项
systemctl start libvirtd
systemctl enable libvirtd
#查看使能开机项
systemctl list-unit-files |grep libvirtd.service
#查看状态
systemctl status libvirtd
四、安装虚拟机系统
注意:安装过程中确保CentOS-7-x86_64-Minimal-2009.iso镜像是完整的没有问题的。
(1)创建安装脚本iso.sh
virt-install --connect qemu:///system \
--virt-type=kvm \
--name client_centos7.0 \
--ram 4096 \
--check path_in_use=off \
--vcpus 2 \
--arch=x86_64 \
--network network=default,model=virtio \
--location= /mnt/sdk/vm_disk/CentOS-7.0-1406-x86_64-Minimal.iso \
--disk path= /mnt/sdk/vm_disk/client_centos7.0.qcow2,device=disk,bus=virtio \
--graphics none \
--extra-args "console=tty0 console=ttyS0,115200n8"
(2)在/var下创建tools文件夹
(3)创建磁盘。为了满足脚本配置,将iso放到/home下
qemu-img create -f qcow2 /mnt/sdk/zxia/disk_128G_vdb.img 128G
(5)执行脚本iso.sh
#给脚本加可执行权限
chmod 755 iso.sh
./iso.sh
(6)进入安装界面的过程
具有感叹号的选项都是需要手动设置的。
1)根据https://blog.csdn.net/m0_38039437/article/details/108738886完成相关的配置
(7)查看虚拟机是否安装成功
virsh list --all
(8)启动虚拟机
virsh start 虚拟机名字
(9)进入虚拟机
virsh console 虚拟机名字
五、在KVM中为虚拟机创建快照
(1)关闭虚拟机
Virsh shutdown 虚拟机机名
(2)为虚拟机创建快照
#为虚拟机test1创建快照test_snapshot1
virsh snapshot-create-as test1 test_snapshot1
#列出虚拟机test1的所有快照
virsh snapshot-list test1
#恢复虚拟机
virsh snapshot-revert test1 test_snapshot1
(3)console无法进入虚拟机
sudo systemctl enable serial-getty@ttyS0.service
sudo systemctl start serial-getty@ttyS0.service
参考文献
https://blog.csdn.net/m0_38039437/article/details/108738886