IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 部署KVM虚拟化平台!!! -> 正文阅读

[系统运维]部署KVM虚拟化平台!!!

虚拟化产生背景

案例分析

案例概述

  • 公司部分Linux服务器利用率不高,为充分利用这些Linux服务器,可以部署KVM,在物理机上运行多个业务系统
  • 例如:在运行Nginx的服务器上部署KVM,然后在虚拟机上运行Tomcat

案例前置知识点

1.什么是虚拟化

虚拟化就是把硬件资源从物理方式转变为逻辑方式。使用户可以灵活管理这些资源,并且允许1台物理机上同时运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术

2.虚拟化的优势

  • 减少服务器数量,降低硬件采购成本。
  • 资源利用率最大化
  • 降低机房空间、散热、用电消耗的成本
  • 硬件资源可以动态调整,提高企业IT业务灵活性
  • 高可用性
  • 在不中断服务的情况下进行物理硬件调整
  • 降低管理成本
  • 具备更高效的灾备能力

3.虚拟化技术类型

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

4.虚拟化技术特性

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

KVM虚拟化

KVM简介

  • KVM(Kernel-based Vritual Machine):基于内核的虚拟机
  • KVM 是基于虚拟化扩展的X86硬件的开源Linux原生的全虚拟化方案(要求cpu支持Intel-VT-x或AMD-V)
  • KVM(组件)内嵌于内核模块中,模拟处理器和内存以支持虚拟机运行

KM架构及原理

1.KVM虚拟化架构/三种模式出业

  • 1、客户模式(guestOS):VM中的OS为GuestoS
    客户机在操作系统中运行的模式,客户机分为内核模式和用户模式
  • 2、用户模式
    为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,Qemu工作在此模式下(Qemu的主要功能)
  • 3、 linux内核模式
    模拟CPU、内存,实现客户模式切换,处理从客户模式的推出,KVM即运行在此模式下

2.KVM原理

  • 1、Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O设备驱动等),被KVM置于一种受限制的CPU模式下运行。
  • 2、KVM内核模块模拟处理器和内存以支持虚拟机运行
  • 3、Qemu主要处理I/O以及为客户提供一个用户空间/dev/kvm 工具libvirt(KVM管理工具)来进行虚拟机管理ioctl(定义)专用于设备输入输出操作的系统调用

3.144 KVM工作流程

  • 用户模式的Qemu利用接口libkvm通过 ioctl系统调用进入内核模式。
  • KVM驱动为虚拟机创建虚拟CPU和虚拟内存,然后执行VWMLAU-NCH 指令进入客户模式,装载Guest OS 并运行。
  • Guest OS 运行过程中如果发生异常,则暂停Guest OS的运行并保存当前状态同时退出到内核模式来处理这些异常。
  • 内核模式处理这些异常时如果不需要 I/O则处理完成后重新进入客户模式。如果需要I/O则进入到用户模式,则由 Qemu来处理I/O,处理完成后进入内核模式,再进入客户模式

虚拟化前和虚拟化后对比

虚拟化前

  • 1、每台主机拥有一个操作系统
  • 2、软硬件紧密结合
  • 3、在同一个主机上运行多个应用程序通常会产生冲突
  • 4、系统资源利用率低(例如:5%)
  • 5、硬件成本高昂并且不够灵活

虚拟化后

  • 1、打破了操作系统和硬件的互相依赖
  • 2、通过封装到虚拟机的技术,管理操作系统和应用程序为单一的个体
  • 3、强大的安全和故障隔离
  • 4、虚拟机时独立于硬件的,它们可以在任何硬件上运行

KVM虚拟化平台部署

虚拟机资源

  • 操作系统:CentOS7
  • 内存:8G
  • 硬盘:300G
  • 网卡:单网卡
  • IP:192.168.220.101
    在这里插入图片描述

环境准备

1.修改主机名

[root@localhost ~]# hostnamectl set-hostname kvm
[root@localhost ~]# su
[root@kvm ~]# 

2.永久性挂载镜像光盘

[root@kvm ~]# vim /etc/fstab								#永久性挂载镜像光盘
/dev/cdrom /mount iso9660 defaults 0 0
[root@kvm ~]# mount -a

3.环境优化

是指DNS反向解析

[root@kvm ~]# vim /etc/ssh/sshd_config 
115 UseDNS no		//将sshd配置文件中的反解DNS设置为NO

4.制作本地yum源仓库

[root@kvm ~]# cd /etc/yum.repos.d/
[root@kvm yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@kvm yum.repos.d]# mkdir bak
[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 && yum makecache 

5.安装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,说明可以支持;有些设备看不见但也可以。

查看已经载入的kvm模块

[root@kvm yum.repos.d]# lsmod | grep 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

设置KVM网络

KVM网络的两种模式:

  • NAT:默认设置,数据包由NAT方式通过主机的接口进行传送,可以访问外网,但是无法从外部访问虚拟机网络
  • 网桥:这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持(一般有线网卡都支持)

设置Bridge桥接模式

[root@kvm yum.repos.d]# vim /etc/sysconfig/network-scripts/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=4fe357b8-58da-4a79-a734-c70e181f1e1b
DEVICE=ens33
ONBOOT=yes
IPV6_PRIVACY=no
#IPADDR=192.168.220.102
#PREFIX=24
#GATEWAY=192.168.220.2
#DNS1=114.114.114.114
BRIDGE=br0		//设置网桥模式,管理br0网卡

创建桥接网卡

[root@kvm yum.repos.d]# 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.220.112                                                  
NETMASK=255.255.255.0           
GATEWAY=192.168.220.2

KVM部署与管理

创建KVM存储和镜像数据目录,上传centos7镜像

在这里插入图片描述

[root@kvm yum.repos.d]# mkdir -p /data_kvm/iso
[root@kvm yum.repos.d]# mkdir -p /data_kvm/store
[root@kvm yum.repos.d]# cd /abc
[root@kvm abc]# ls
CentOS-7-x86_64-DVD-1810-7.6.iso		//事先复制好的
[root@kvm abc]# cd /data_kvm/iso/
[root@kvm iso]# ll
总用量 286720
-rw-r--r--. 1 root root 293601280 423 2020 CentOS-7-x86_64-DVD-1810-7.6.iso
[root@kvm iso]# systemctl restart network
[root@kvm ~]# ifconfig 
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.220.112  netmask 255.255.255.0  broadcast 192.168.220.255
        inet6 fe80::6c99:8cf6:edec:e9e0  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:d8:b6:ad  txqueuelen 1000  (Ethernet)
        RX packets 48  bytes 4719 (4.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 59  bytes 9146 (8.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

使用虚拟机管理器管理虚拟机

创建存储池
[root@kvm ~]# virt-manager

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

创建存储卷

在这里插入图片描述
在这里插入图片描述

创建镜像池

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建虚拟机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
然后安装
在这里插入图片描述
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 13:05:48  更:2021-08-18 13:06:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:38:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码