Linux 桌面虚拟化技术 KVM

KVM: 是指基于Linux 内核的虚拟机(Kernel-based Virtual Machine)。是第一个整合到 Linux
内核的虚拟化技术。在 KVM 模型中,每一个虚拟机都是一个由 Linux 调度程序管理的标准进程,你可
以在用户空间启劢客户机操作系统。

centos7迷你镜像下载点我

查看 CPU 是否支持硬件虚拟化技术

Intel:cat /proc/cpuinfo | grep --color vmx

AMD :cat /proc/cpuinfo | grep --color svm

看看 flag 有没有上面的 vmx 戒者是 svm,有的话就是支持全虚拟化技术

如果没有开启 BIOS 虚拟化支持,查找 VT 改为: enable

BIOS 中也要打开,默认很多机器没有打开。

kvm虚拟机图形化界面进入bios kvm 虚拟桌面_IPV6


F10 保存退出

操作系统必须是 RHEL6 64 位以上, RHEL6 32 不能安装 KVM

虚拟机配置

kvm虚拟机图形化界面进入bios kvm 虚拟桌面_管理工具_02

安装kvm

安装 KVM 模块、管理工具和 libvirt,命令行安装
//安装前:使用系统镜像,配置好本地yum源
[root@localhost yum.repos.d]# mount /dev/sr0 /mnt/
[root@localhost yum.repos.d]# cat lee.repo 
[lee-yum]
name=lee1
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
//安装kvm
[root@localhost ~]# yum -y install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python
//开启服务
[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# systemctl enable libvirtd
//确定正确加载 kvm 模块
[root@localhost ~]# lsmod |grep kvm
kvm_intel             174841  0 
kvm                   578518  1 kvm_intel
irqbypass              13503  1 kvm

qemu-kvm : kvm 主程序, KVM 虚拟化模块
virt-manager: KVM 图形化管理工具
libvirt: 虚拟化服务
libguestfs-tools : 虚拟机的系统管理工具
virt-install : 安装虚拟机的实用工具 。比如 virt-clone 克隆工具就是这个包安装的
libvirt-python : python 调用 libvirt 虚拟化服务的 api 接口库文件

使用命令:virt-manager 建立虚拟机(虚拟机上操作)

将 kvm 管理工具从英文界面,切换成中文界面:
[root@localhost ~]# LANG=‘zh_CN.UTF-8’
[root@localhost ~]# echo $LANG
zh_CN.UTF-8

kvm虚拟机图形化界面进入bios kvm 虚拟桌面_centos_03

//上传镜像:把 centos7.4 镜像上传到/var/lib/libvirt/images/目录下
[root@localhost ~]# cd /var/lib/libvirt/images/
[root@localhost images]# ls
CentOS-7-x86_64-Minimal-2003.iso

配置 KVM 网络桥接功能

[root@localhost images]# rpm -ivh /mnt/Packages/bridge-utils-1.5-9.el7.x86_64.rpm
[root@localhost images]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=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=c713acec-674b-411d-9e61-646482a292ca
DEVICE=ens33
IPADDR=192.168.176.137 #删除
NETMASK=255.255.255.0  #删除
GATEWAY=192.168.176.2  #删除
DNS1=8.8.8.8           #删除
ONBOOT=yes
IPV6_PRIVACY=no
PEERDNS=no
BRIDGE="br0" #在文件最后插入这一行
//生成桥设备的配置文件:
[root@localhost network-scripts]# vim ifcfg-br0
DEVICE="br0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge"     注:TYPE="Bridge" , B要大写
BOOTPROTO=none
IPADDR=192.168.176.137
NETMASK=255.255.255.0
GATEWAY=192.168.176.2
DNS1=8.8.8.8
[root@localhost network-scripts]# systemctl restart network
//测试br0
[root@localhost network-scripts]# ifconfig
[root@localhost network-scripts]# brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.000c295a88b4	no		ens33
virbr0		8000.525400db8ffb	yes		virbr0-nic

创建一台 KVM 虚拟机

创建一个分区,用亍存放安装好的 Linux 操作系统
[root@localhost network-scripts]# mount /dev/sdb /var/lib/libvirt/images/

kvm虚拟机图形化界面进入bios kvm 虚拟桌面_kvm虚拟机图形化界面进入bios_04


kvm虚拟机图形化界面进入bios kvm 虚拟桌面_centos_05


kvm虚拟机图形化界面进入bios kvm 虚拟桌面_管理工具_06


kvm虚拟机图形化界面进入bios kvm 虚拟桌面_管理工具_06


kvm虚拟机图形化界面进入bios kvm 虚拟桌面_管理工具_06


kvm虚拟机图形化界面进入bios kvm 虚拟桌面_centos_09

kvm虚拟机常用命令
[root@localhost network-scripts]# virsh list #列出在运行的虚拟机
[root@localhost network-scripts]# virsh start centos7.0 #启动虚拟机
[root@localhost network-scripts]# virsh shutdown centos7.0 #关闭虚拟机
[root@localhost network-scripts]#virsh autostart centos7.0 #设置centos7.0虚拟机为物理机开机