1、查看cpu是否支持虚拟化

[root@localhost ~]# egrep ‘(vmx|svm)’ /proc/cpuinfo

2、启动kvm模块

[root@localhost ~]# modprobe kvm
[root@localhost ~]# lsmod |grep kvm

3、安装组件

[root@localhost ~]# yum install -y virt-* libvirt bridge-utils qemu-img qemu-kvm

4、启动libvirtd服务

[root@localhost ~]# service libvirtd start

5、配置网桥br0

将NetworkManager服务关闭,开机启动也关闭

[root@localhost ~]# chkconfig NetworkManager off

[root@localhost ~]# service NetworkManager stop

配置网桥

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-br0
  
  
  DEVICE=br0
  BOOTPROTO=static
  ONBOOT=yes
  TYPE=Bridge
  IPADDR=192.168.4.233
  NETMASK=255.255.255.0
  DNS2=114.114.114.114
  GATEWAY=192.168.4.1
  DNS1=8.8.8.8
  DELAY=0
  [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0
  BOOTPROTO=none
  HWADDR=6c:0b:84:92:9f:e4
  IPV6INIT=yes
  MTU=1500
  NM_CONTROLLED=yes
  ONBOOT=yes
  TYPE=Ethernet
  USERCTL=no
  PEERDNS=yes
  NM_CONTROLLED=no
  BRIDGE=br0

重启网络服务

[root@localhost ~]# service network restart

查看桥接设备

[root@localhost ~]# brctl show

6、安装centos7

virt-install \
  \--connect qemu:///system                               #连接默认本hypervisor
  \--virt-type kvm                                        #虚拟化类型为kvm 
  \--vcpus=1                                              #vcpu为1
  \--name unbuntu16                                       #虚拟机名称
  \--ram 512                                        #内存大小
  \--cdrom /var/lib/libvirt/images/ubuntu-16.04.5-server-amd64.iso                         #指定使用cdrom光驱启动,指定镜像路径
  \--disk path=/var/lib/libvirt/images/ubuuntu16.img,size=50,format=qcow2,bus=virtio       #指定硬盘路径,大小,格式为qcow2,总线类型为virtio
  \--network bridge=br0     #指定虚拟网络类型为网桥br0
  \--os-type=linux    #指定虚拟机操作系统类型为linux




// 示例   内存16G 硬盘300G
 [root@localhost ~]# virt-install --name=jhapp --ram=16384 --vcpus=1 --os-type=linux --os-variant=rhel7 --location=/home/kvmiso/CentOS-7-x86_64-DVD-2009.iso --disk path=/home/kvmData/jhapp.img,size=300 --network bridge=br0 --nographics -x 'console=ttyS0' 

// 示例   内存32G 硬盘500G
virt-install --name=rhdb --ram=32768 --vcpus=1 --os-type=linux --os-variant=rhel7 --location=/home/kvmiso/CentOS-7-x86_64-DVD-2009.iso --disk path=/home/kvmData/rhdb.img,size=500 --network bridge=br0 --nographics -x 'console=ttyS0'

开始安装后,正常的情况下会进入到这样一个界面

centos9安装kvm centos7安装kvm_linux

这是让你配置语言、时区、安装源、网络、密码等信息,就和我们在VMware里安装CentOS虚拟机是一样的,只不过这个是命令行形式,而VMware里是图形界面罢了。

首先设置语言,按数字1,回车进入以下界面:

centos9安装kvm centos7安装kvm_配置文件_02

例如我要选Chinese就按数字68并回车即可,回车之后会让你选择是中文简体还是繁体,也是按下相应的数字并回车即可:

centos9安装kvm centos7安装kvm_配置文件_03

配置完成之后又会再次回到配置界面,设置时区

centos9安装kvm centos7安装kvm_重启_04

centos9安装kvm centos7安装kvm_linux_05

设置root密码:

centos9安装kvm centos7安装kvm_配置文件_06

开始安装系统:

centos9安装kvm centos7安装kvm_配置文件_07

一切顺利,安装成功!

centos9安装kvm centos7安装kvm_配置文件_08

这时我们是处于一个虚拟终端的,如果要退出来虚拟机,应该说是切出来,按Ctrl + ] 即可。
切出虚拟机后,可以看到/kvm_data/目录下多了一个虚拟机的磁盘目录:

7、配置固定IP,可以局域网直接访问

[root@localhost ~]# ip addr

配置ip

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
  
  
  DEVICE=eth0
  HWADDR=xxxxxxxxxx
  TYPE=Ethernet
  UUID=xxxxxxxxx
  ONBOOT=yes
  IPADDR=192.168.xxx.xxx
  NETMASK=255.255.255.0
  GATEWAY=192.168.xxx.1
  DNS1=114.114.114.114
  DNS2=8.8.8.8
  IPV6INIT=no
  NM_CONTROLLED=no
  BOOTPROTO=static
  ARPCHECK=no

重启网卡服务

systemctl restart network

 8、卸载虚机

#查看虚机
  virsh list
  #强制停止虚机
  virsh destroy jhapp
  #删除虚机
  virsh undefine jhapp
  #查出痕迹删除
  locate jhapp
  updatedb
  
  无法取消定义
  [root@localhost ~]# virsh undefine jhapp
  错误:Refusing to undefine while domain managed save image exists
  [root@localhost ~]# virsh undefine jhapp --managed-save
  域 jhapp has been undefined

 9、常用virsh命令

virsh list             列出当前宿主机上处于运行状态的虚拟机
  
  virsh list --all      列出当前宿主机上所有的虚拟机
  
  virsh start vm1     (虚拟机name) 开启某一台虚拟机
  
  virsh shutdown vm1   (虚拟机name) 正常关闭一台虚拟机
  
  virsh destroy vm1      强制关闭某一台虚拟机
  
  virsh autostart vm1    开机自启动虚拟机vm1
  
  virsh autostart  --disable vm1 关闭开机自启动
  
  virsh edit vm1       编辑某个虚拟机的配置文件
  
  virsh pool-list       列出存储池
  
  virsh console           连入虚拟机
  
  #ctrl ]                退出console
  
  virsh autostart 虚拟机名    #设置随宿主机开机自启动
  
  virsh autostart --disable 虚拟机名  #取消随宿主机开机自启动

  10、配置网卡混乱后出现错误,解决方法如下

编辑配置文件:
  # vi /etc/sysconfig/network-scripts/ifcfg-eth0 
  将ONBOOT=no改成yes
  保存退出,重启网卡
  
  vm虚拟机克隆,系统MAC和UUID会重复,导致获取不到IP
  报错:device eth0 does not seem to be present, delaying initialization 
  需要修改文件
  1、vi /etc/sysconfig/network-scripts/ifcfg-eth0
  ifcfg-eth0的配置文件里保存了以前的MAC地址,就把这一行删除掉在重启网卡
  2、/etc/udev/rules.d/70-persistent-net.rules 删除后重启机器
  因为这个文件绑定了网卡和mac地址,所以换了网卡以后MAC地址变了,所以不能正常启动,也可以直接编辑这个配置文件把里面的网卡和mac地址修改乘对应的,不过这样多麻烦,直接删除重启,它会自动生成个。