KVM虚拟化平台的基础知识及搭建部署!

Posted handsomeboy-东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KVM虚拟化平台的基础知识及搭建部署!相关的知识,希望对你有一定的参考价值。

虚拟化技术

概述:这里的虚拟化知识是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,从而提高计算机的工作效率,同时从每个逻辑计算机可运行不同的操作系统,应用程序都可以再互相独立的空间内运行而互相不影响,保证了安全性

虚拟化技术类型

  • 全虚拟化:将物理硬件资源全部通过软件的方式抽象化,最后进行调用,使用VMM软件,再底层硬件和服务器之间建立一个抽象层,如:workstation
  • 半虚拟化:需要修改操作系统,它是以软件形式模拟物理硬件功能再加上物理硬件资源加强支持

虚拟化技术特性

  • 集中化管理
  • 提高硬件利用率
  • 把系统应用程序和服务硬件分离,提高了灵活性
  • 可部署额外的功能和方案,可提高透明负载均衡、故障迁移等应用环境(高可用)
  • 本地物理机故障会导致虚拟机不可用,同时可能虚拟机中文件会损坏
  • 实施配置辅助,管理人员运维、排障困难
  • 在一台操作系统中模拟多个操作系统
  • 在使用软件形式模拟物理硬件设备

KVM

KVM简介

KVM(Kernel-based Vritual Machine)–基于内核的虚拟机,它属于全虚拟化方案,要求cpu支持Intel-VT-x或AMD-V

KVM三种模式

  • 客户模式:客户机在操作系统中运行的模式,客户机分为内核模式和用户模式
  • 内核模式:模拟cpu、内存,实现客户模式切换,处理从客户模式的推出,KVM运行在该模式下
  • 用户模式:为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,QEMU工作在该模式下(主要用于抽象层和内核层的对接)

KVM虚拟化平台部署

设备:CentOS7,内存8G,单网卡,192.168.118.44
虚拟机设置支持虚拟化

[root@localhost ~]# hostnamectl set-hostname kvm			#修改主机名
[root@localhost ~]# su
[root@kvm ~]# mkdir /mount
[root@kvm ~]# vim /etc/fstab								#永久性挂载镜像光盘
/dev/cdrom /mount iso9660 defaults 0 0
[root@kvm ~]# mount -a
[root@kvm ~]# vim /etc/ssh/sshd_config 						#将sshd配置文件中的反解DNS设置为NO
UseDNS no
[root@kvm ~]# systemctl restart sshd


##制作本地yum仓库
[root@kvm yum.repos.d]# mv CentOS-* bak
[root@kvm yum.repos.d]# ls
bak
[root@kvm yum.repos.d]# vim local.repo
[local]
name=kvm
baseurl=file:///mount
gpgcheck=0
enabled=1
[root@kvm yum.repos.d]# yum clean all
[root@kvm yum.repos.d]# yum makecache

##安装qemu及其它所需的工具
[root@kvm yum.repos.d]# yum install -y qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager
注释:qemu-kvm为KVM模块,qemu-kvm-tools是KVM调试工具,virt-install是虚拟机的命令行工具,qemu-img是qemu的组件,
bridge-utils桥接网络支持工具,libvirt为虚拟机管理工具,virt-manager图形界面管理虚拟机
  • 查看cpu是否支持虚拟化
[root@kvm yum.repos.d]# cat /proc/cpuinfo | grep vmx		#看到又vmx,说明可以支持
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat pku ospke spec_ctrl intel_stibp flush_l1d arch_capabilities
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat pku ospke spec_ctrl intel_stibp flush_l1d arch_capabilities
……………………………………………………
[root@kvm yum.repos.d]# lsmod | grep kvm			#查看已经载入的kvm模块
kvm_intel             183621  0 
kvm                   586948  1 kvm_intel
irqbypass              13503  1 kvm
[root@kvm yum.repos.d]# ls -sf /lib/systemd/system/graphical.target 	/etc/systemd/system/default.target
##设置开启启动界面的显示模式
  • 设置Bridge桥接模式
[root@kvm ~]# 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=9c1fe1a3-6fd0-45fc-93d3-4c112430fc53
DEVICE=ens33
ONBOOT=yes
#IPADDR=192.168.118.44							#注释掉原本IP地址等信息
#NETMASK=255.255.255.0		
#GATEWAY=192.168.118.2
#DNS1=114.114.114.114
BRIDGE=br0										#设置网桥模式,管理br0网卡
[root@kvm ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0		#创建桥接网卡
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=yes
BOOTPROTO=static                                        
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=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.118.55                                                   
NETMASK=255.255.255.0           
GATEWAY=192.168.118.2
DNS1=114.114.114.11
  • 创建KVM存储和镜像数据目录,上传centos7镜像
[root@kvm ~]# mkdir -p /data_kvm/iso
[root@kvm ~]# mkdir -p /data_kvm/store
[root@kvm ~]# cd /abc
[root@kvm abc]# ls					
CentOS-7-x86_64-DVD-1810-7.6.iso			#这里的镜像文件先下载好
[root@kvm abc]# cp -p CentOS-7-x86_64-DVD-1810-7.6.iso /data_kvm/iso/		#复制镜像文件到/data_kvm/iso/目录下
[root@kvm abc]# systemctl restart network									#重启网卡
[root@kvm abc]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.118.55  netmask 255.255.255.0  broadcast 192.168.118.255
        inet6 fe80::8b77:e9af:5e0c:d6db  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:95:cd:9a  txqueuelen 1000  (Ethernet)
        RX packets 37  bytes 6605 (6.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 46  bytes 6017 (5.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 使用虚拟机管理器管理虚拟机
[root@kvm abc]# virt-manager
  • 创建存储池



  • 创建存储卷

  • 创建镜像池


  • 进入虚拟机管理器新建虚拟机





以上是关于KVM虚拟化平台的基础知识及搭建部署!的主要内容,如果未能解决你的问题,请参考以下文章

部署KVM虚拟化平台------搭建

KVM虚拟化平台部署及管理

虚拟化技术之KVM平台部署及简单应用

部署kvm搭建虚拟化平台

Centos 7上KVM虚拟化平台搭建及管理,图文并茂,详细易懂~~

Docker容器与虚拟化技术——部署KVM虚拟化平台