Linux系统下常用的虚拟机是KVM,Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块。
实验环境
物理机:Windows 10
虚拟机:VMWare Workstation 16.1.0
系统:CentOS-7.8(越新越好,7.2有很多报错)
CPU:Intel 4核(已在虚拟机设置中开启虚拟化支持)
内存:8G
硬盘:60G(WIN7分配25G,上传系统进去占用4G左右)
网卡:ens33(桥接)
安装步骤
1、查看cpu是否支持kvm
egrep '(vmx|svm)' /proc/cpuinfo
如果有过滤出红色vmx或svm关键字就代表支持虚拟化,vmx是Intel的CPU,svm是AMD的CPU。
[root@kvm ~]# lsmod | grep kvm kvm_intel 188688 0 kvm 636969 1 kvm_intel irqbypass 13503 1 kvm
如上图所示表示开启成功,无显示就表示需在虚拟机CPU设置中开启VT。
2、安装kvm所需要的软件包
Kvm:内核提供,模拟CPU和内存
qemu-kvm qemu-img qemu-kvm-tools:虚拟操作系统模拟器加速模块
QEMU是一个模拟器,通过动态二进制转换来模拟cpu以及其他一系列硬件,使guest os认为自己就是在和真正的硬件打交道,其实是和qemu模拟的硬件交互。这种模式下,guest os可以和主机上的硬件进行交互,但是所有的指令都需要qemu来进行翻译,性能会比较差。
qemu-kvm:模拟硬盘和网卡,是qemu一个特定于kvm加速模块的分支
libvirt:必须要装的核心工具,对kvm虚拟机进行管理的工具和api,libvirtd调用kvm-qemu控制虚拟机。
virt-manager:虚拟机图形管理工具(宿主机有桌面环境时可以考虑安装,命令操作或者远程控制则不需要)
bridge-utils:虚拟机与外界通信的命令管理工具
virt-install:虚拟机安装工具
pyhon-virtinst: 包含python模块和工具(virt-install,virt-clone和virt-image)
安装
如果只虚拟化linux,不要图形界面只需要安装下面3个包就够了
yum install qemu-kvm virt-install libvirt -y
如果需要安装Windows和图形管理界面需要运行下面这条命令
yum install qemu-kvm virt-* libvirt-* -y
开启、开机启动、状态查看
systemctl enable libvirtd --now systemctl status libvirtd
查看操作结果,出现Active:active(running)字样则说明正在运行中
3、网桥搭建
安装好KVM后会自动生成一个192.168.122.0/24的NAT网段给虚拟机用,接入NAT网络的虚拟机无法被物理机访问,所以需要配置一个桥接网络,这一步类似于VMware虚拟机的桥接模式,目的是让虚拟机接入局域网并有一个路由器分配的内网IP。
ifconfig
创建桥网络br0,找到自己桥接至局域网的网卡名称,这里我的是en33
首先要关闭selinux,否则网桥可能会创建失败。
[root@kvm network-scripts]# setenforce 0 [root@kvm ~]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.52540020ac65 yes virbr0-nic
桥接设备关联网卡
virsh iface-bridge ens33 br0
查看桥接设备
[root@kvm ~]# brctl show bridge name bridge id STP enabled interfaces br0 8000.000c292e4a03 yes ens33 virbr0 8000.5254006b7b3f yes virbr0-nic
显示已经不止一行,说明桥接网络成功。
4、创建WIN7虚拟机
创建iso镜像目录
mkdir /opt/iso
上传WIN7的ISO镜像文件至虚拟机/opt/iso下面
进入虚拟机的图形界面,使用virt-manager命令打开管理界面,创建一台WIN7,方法和平时安装系统时一样,按要求设置下,下一步下一步就好了。
5、管理虚拟机
[root@kvm ~]# virsh list Id Name State ---------------------------------------------------- 4 win7 running [root@kvm ~]# virsh shutdown win7 Domain win7 is being shutdown [root@kvm ~]# virsh start win7 Domain win7 started
编辑配置
virsh edit win7
查看所有虚拟机包括已关机的
virsh list --all
发表评论