KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine)
是一个 Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor
美国环境保护EPA报告中曾经统计过一组统计数据:EPA研究服务器和数据中心得能源效率时发现,实际上服务器只有5%得时间时在工作的,其他时间一直处于休眠状态
软件资源是没有硬件资源性能高(稳定和效率)的(相同功能)
使用的方法:使用hypervisor
(VMM)软件,其原理是在底层硬件和服务器之间建立一个抽象层,而基于核心的虚拟机是面向Linux系统的开源产品hypervisor(VMM)可以捕捉CPU的指令。为指令访问硬件控制器和外设充当中介。
优势
劣势
KVM虚拟化架构/三种模式
客户模式(guestOS):VM中的OS为Guestos
用户模式:
linux内核模式
KVM原理
以上构成一个完整的虚拟化平台
进行一些基础的配置
----修改主机名----
hostnamectl set-hostname kvm
su
----将镜像光盘挂载----
vim /etc/fstab
/dev/cdrom /mnt iso9660 defaults 0 0
mount -a
环境优化
----设置DNS反向解析----(是否反解DNS,设置为NO可以让客户端连接服务器更快)
vim /etc/ssh/sshd_config
----115行 取消DNS注释,改为NO----
UseDNS no
YUM仓库
----本地YUM仓库----
cd /etc/yum.repos.d/
mv CentOS-* repo.bak
vim local.repo
[local]
name=kvm
baseurl=file:///abc
gpgcheck=0
enabled=1
yum clean all && yum makecache
关闭防火墙策略
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
安装KVM基本组件
安装 GNOME 桌面环境 如果装了图形界面可以不需要装
yum groupinstall -y "GNOME Desktop"
==KVM 模块==
yum -y install qemu-kvm
==安装KVM 调试工具,可不安装==
yum -y install qemu-kvm-tools
==构建虚拟机的命令行工具==
yum -y install virt-install
==qemu 组件,创建磁盘、启动虚拟机等==
yum -y install qemu-img
==网络支持工具==
yum -y install bridge-utils
==虚拟机管理工具==
yum -y install libvirt
==图形界面管理虚拟机==
yum -y install virt-manager
CPU是否支持虚拟化
cat /proc/cpuinfo | grep vmx
lsmod | grep kvm
设置开启启动界面的显示模式
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO=none '//原本的修改为none'
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="0739b616-18e4-49b1-9a09-f75cc793899b"
DEVICE="ens33"
ONBOOT="yes"
#IPADDR=192.168.90.10
#NETMASK=255.255.255.0
#GATEWAY=192.168.90.2
#DNS1=8.8.8.8
#DNS2=114.114.114.114
BRIDGE=br0 '//注释掉原本的IP地址,添加此段'
创建、编辑桥接网卡
vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
OTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.90.10 #这里可以改成之前ens33的ip,这样就可以再次连上xshell了
NETMASK=255.255.255.0
GATEWAY=192.168.90.2 #网卡也跟之前一样
systemctl restart network '重启网卡'
到这一步基本的虚拟化环境已经配置完成
如果需要创建虚拟机
virt-manager
输入完之后桌面会有管理虚拟机的一个可视化工具安装
自行创建即可