我的编程空间,编程开发者的网络收藏夹
学习永远不晚

KVM有什么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

KVM有什么用

小编给大家分享一下KVM有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、虚拟化

1、背景

美国环境保护EPA报告中曾经统计过一组统计数据:EPA研究服务器和数据中心得能源效率时发现,实际上服务器只有5%得时间时在工作的,其他时间一直处于休眠状态,这样服务器的利用率就会很低,而且这些服务器一直处于开机状态,消耗的能源自然就很多

2、虚拟化技术介绍

通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,同时每个逻辑计算机可运行不同的操作系统,应用程序都可以在相互独立的空间内运行而互相不影响,从而提高计算机的工作效率

3、虚拟化技术发展

雏形:
1961年,IBM709机器实现了分时系统,将CPU占用切分为多个极短的时间片(1/100sec)每一个时间片执行不同的工作,通过对这些时间片进行轮询
从而将一个CPU伪装成多个CPU
1972年, IBM正式将system370机的分时系统命名为虚拟机
1990年, IBM推出的system390机支持逻辑分区(将一个CPU分为多份,相互独立,也就是逻辑分割)
Xen 2003年问世,是一个外部的hypervisor程序(虚拟机管理程序),能够控制虚拟机和给多个客户机分配资源
KVM:2007年问世,现已内置在kernel内核中的
Xen 支持的虚拟化技术:全虚拟化,半虚拟化
KVM:支持的虚拟化技术:全虚拟化

4、虚拟化类型

1)全虚拟化:将物理硬件资源全部通过软件的方式抽象化,最后进行调用
使用的方法:使用hypervisor(VMM)软件,其原理是在底层硬件和服务器之间建立一个抽象层,而基于核心的虚拟机是面向Linux系统的开源产品hypervisor(VMM)可以捕捉CPU的指令,为指令访问硬件控制器和外设充当中介。

2)半虚拟化:需要修改操作系统

3)直通:直接使用物理硬件资源(需要支持,还不完善)

5、虚拟化的特性特性:

优势:

  • 集中化管理(远程管理、维护)

  • 提高硬件利用率(物理资源利用 率低-例如峰值,虚拟化解决了“空闲”容量)

  • 动态调整机器/资源配置(虚拟化把系统的应用程序和服务硬件分离、提高了灵活性)

  • 高可靠(可部署额外的功能和方案,可提高透明负载均衡、迁移、恢复复制等应用环境)

劣势:

  • 前期高额费用( 初期的硬件支持)

  • 降低硬件利用率(特定场景-例如极度吃资源的应用不一定适合虚拟化)

  • 更大的错误影响面(本地物理机down机会导致虚拟机均不可用,同时可能虚拟机中文件全部损坏)

  • 实施配置复杂、管理复杂(管理人员运维、排障困难)

  • 一定的限制性(虚拟化技术涉及各种限制,必须与支持/兼容虚拟化的服务器、应用程序及供应商结合使用)

  • 安全性(虚拟化技术自身的安全隐患)

二、KVM概述

1、KVM简介

KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 线程。这使得 KMV 能够使用 Linux 内核的已有功能。

Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,是RHEL 5.4推出的最新虚拟化技术,目前红帽只支持在64位的RHEL l5.4以上运行KVM,同时硬件需要支持VT技术,必须在64位bit环境中使用KVM。自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。

KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

通过一下命令可以查看系统是否支持VT

cat /proc/cpuinfo | grep ‘vmx'

KVM的前身是QEMU,08年被红帽收购并获得一项技术hypervisor,不过RedHat的KVM被认为是将成为未来Linux hypervisor的主流。

2、KVM的作用

  • 提高物理服务器的资源利用率(较少的在硬件上的投入)

  • 可以批量部署

  • 实现实时快照技术

  • 支持克隆技术

  • 可以实现虚拟机的离线迁移和动态迁移(提高IT部署的灵活性)

  • 可以将资源动态调整(传统的IT架构资源是固定的,无法动态分配)

3、KVM 虚拟化架构/三种模式

  • 客户模式(guestOS):VM中的OS为GuestOS

客户机在操作系统中运行的模式,客户机分为用户模式和Linux内核模式,作用如下:

  • 用户模式:

为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,Qemu工作在此模式下(Qemu的主要功能)

  • Linux内核模式:

模拟CPU、内存,实现客户模式切换,处理从客户模式的推出,KVM即运行在此模式下

4、KVM核心组件及作用

  • Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O 设备驱动等),被 KVM 置于一种受限制的 CPU 模式下运行。

  • KVM:运行在内核空间,提供CPU 和内存的虚级化,以及客户机的 I/O 拦截。Guest 的 I/O 被 KVM 拦截后,交给 QEMU 处理。

  • QEMU:修改过的为 KVM 虚机使用的 QEMU 代码,运行在用户空间,提供硬件 I/O 虚拟化,通过 IOCTL /dev/kvm 设备和 KVM 交互。

5、KVM工作流程

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

内核模式处理这些异常时如果不需要 I/O则处理完成后重新进入客户模式。如果需要 I/O 则进入到用户模式, 则由 Qemu 来处理 I/O,处理完成后进入内核模式,再进入客户模式

KVM的优势

1)KVM与VMware的优势

ESX的底层是VMkernel + linux,VMkernel启动后开始接管对硬件管理,然后启动第一个linux虚拟机,协助VMkernel一起来管理和调度硬件资源。

KVM是直接将linux kernel变成hypervisor,只需要从标准linux内核启动即可,linux kernel拥有的特性可以全部利用上。KVM架构上的优势使得它非常简洁,在开发出来仅三个多月就被合并到了标准内核。

2)KVM与Xen的优势

Kvm和xen的最大区别就是架构,KVM是直接构建在linux kernel之上,把linux kernel变成hypervisor,是利用kernel已有的的功能基础上开发KVM所不具备的功能。

Xen的hypervisor是自己从头开始构建的,对硬件资源的调度管理,虚拟机的管理,还有很多接口与linux kernel不兼容,然后对于xen,hypervisor需要通过Domain0对虚拟机提供硬件访问驱动支持。

虽然说现在3.0的kernel中结合了xen,但是大部分linux OS的内核还是2.6,即便是一些新的发行版OS,也还是2.6的内核,新内核要单独去升级。

三、KVM虚拟化平台部署

1、虚拟机资源

CPU:双核双线程-CPU虚拟化开启

内存:8G

硬盘:300G

双网卡:单网卡

操作系统:Centos 7.4(1708)

2、实验环境

1)修改主机名

[root@kvm ~]# hostnamectl set-hostname kvm [root@kvm ~]# bash

2)将镜像光盘设为自动/永久挂载

[root@kvm ~]# vim /etc/fstab/dev/cdrom /mnt iso9660 defaults 0 0[root@kvm ~]# mount -a [root@kvm ~]# df -hT/dev/sr0    iso9660  4.3G 4.3G   0 100% /mnt

3)环境优化

#是否反解DNS,设置为NO可以让客户端连接服务器更快

[root@kvm ~]# vim /etc/ssh/sshd_config UseDNS no    #取消DNS注释,改为NO

4)制作本地YUM仓库

[root@kvm ~]# mkdir /abc[root@kvm ~]# cd /etc/yum.repos.d/[root@kvm yum.repos.d]# lsCentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo  CentOS-Vault.repoCentOS-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]# lsbak[root@kvm yum.repos.d]# vim local.repo[local]name=kvmbaseurl=file:///abcgpgcheck=0enabled=1[root@kvm yum.repos.d]# yum clean all [root@kvm yum.repos.d]# yum repolist

5)关闭防火墙、核心防护

[root@kvm yum.repos.d]# systemctl stop firewalld[root@kvm yum.repos.d]# systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.[root@kvm yum.repos.d]# setenforce 0

3、安装KVM

1) 安装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

2)检测CPU是否支持虚拟化

[root@kvm ~]# cat /proc/cpuinfo | grep 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 tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilitie

3)查看KVM模块是否已安装

Lsmod:显示已载入的系统模块

[root@kvm ~]# lsmod | grep kvmkvm_intel       183621 0 kvm          586948 1 kvm_intelirqbypass       13503 1 kvm

4) 设置开启启动界面的显示模式

[root@kvm ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

4、设置KVM网络

1)KVM网络的两种模式:

① NAT: 默认设置,数据包由 NAT 方式通过主机的接口进行

传送,可以访问外网,但是无法从外部访问虚拟机网络

**② 网桥:**这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持(一般有线网卡都支持)

使用Bridge网桥模式进行部署

[root@bdqn ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=noIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=aac61931-47a6-40e5-9511-68adf20e97c5DEVICE=ens33ONBOOT=yes#IPADDR=192.168.100.46#PREFIX=24#GATEWAY=192.168.100.1BRIDGE=br0     #删除原先地址,设置为网桥模式,关联br0网卡

2)创建、编辑桥接网卡

[root@bdqn ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0TYPE=BridgeBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=br0DEVICE=br0ONBOOT=yesIPADDR=192.168.226.200NETMASK=255.255.255.0GATEWAY=192.168.226.2

5、KVM部署与管理

1)创建KVM存储和镜像数据的目录、上传centos7镜像

[root@kvm network-scripts]# mkdir -p /data_kvm/iso[root@kvm network-scripts]# mkdir -p /data/_kvm/store[root@kvm network-scripts]# mkdir /abc[root@kvm network-scripts]# mount.cifs //192.168.226.1/LAMP-C7 /mntPassword for root@//192.168.226.1/LAMP-C7: [root@kvm network-scripts]# cd /abc[root@kvm abc]# cp -p CentOS-7-x86_64-DVD-1806.iso /data_kvm/iso/#查看镜像[root@kvm abc]# ll /data_kvm/iso/总用量 4481024-rwxr-xr-x. 1 root root 4588568576 2月 20 2019 CentOS-7-x86_64-DVD-1810.iso

2)使用虚拟系统管理器管理虚拟机

[root@kvm kvmdata]# virt-manager

KVM有什么用

3)操作步骤

① 第一步:创建存储池

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

一样的操作创建iso存储池

KVM有什么用

② 在store存储池中创建存储卷

KVM有什么用

KVM有什么用

③ 创建虚拟机

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

KVM有什么用

启用最小化安装,节省空间

KVM有什么用

KVM有什么用

以上是“KVM有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

KVM有什么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

KVM有什么用

小编给大家分享一下KVM有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、虚拟化1、背景美国环境保护EPA报告中曾经统计过一组统计数据:EPA研究服务器和
2023-06-29

KVM常用命令有哪些

这篇文章主要为大家展示了“KVM常用命令有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“KVM常用命令有哪些”这篇文章吧。KVM是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案,
2023-06-27

linux中kvm怎么用

这篇文章主要为大家展示了“linux中kvm怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中kvm怎么用”这篇文章吧。一、kvm的安装及状态查看1、安装软件yum -y inst
2023-06-09

KVM 虚拟化是什么?

KVM虚拟化是一种基于内核的虚拟化解决方案,允许在单台物理服务器上运行多个独立的虚拟机。它利用Linux内核的虚拟化扩展,在硬件上创建和管理虚拟机环境。KVM具有高性能、隔离性、安全性、可扩展性和开源等优点,广泛应用于服务器整合、测试和开发、灾难恢复和云计算等场景。通过滿足相应的先决条件(硬件兼容性、Linux內核版本、虛擬化工具),可以部署和管理KVM虛擬化,並通過適當的配置,為組織和應用程序提供高效、安全的虛擬化解決方案。
KVM 虚拟化是什么?
2024-04-02

kvm常用操作有哪些

小编给大家分享一下kvm常用操作有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!KVM (全称是 Kernel-based Virtual Machine)
2023-06-28

美国云服务器的KVM架构有什么优势

美国云服务器的KVM架构有以下几个优势:稳定性:KVM架构是一种硬件虚拟化技术,能够提供更加稳定的虚拟化环境,确保虚拟机的性能和稳定性。安全性:KVM架构能够提供更高的安全性,能够实现虚拟机之间的隔离,保护用户的数据安全。灵活性:KVM架构
美国云服务器的KVM架构有什么优势
2024-04-12

kvm可用存储类型有哪些

本篇文章给大家分享的是有关kvm可用存储类型有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。虚拟磁盘文件可以使用LVM(Logical Volume Manager)创建存
2023-06-13

kvm虚拟机的作用有哪些

KVM虚拟机的作用包括:1. 服务器虚拟化:KVM可以将一台物理服务器分割成多个虚拟服务器,从而提高硬件资源的利用率。2. 应用程序隔离:KVM可以将不同的应用程序运行在不同的虚拟机里,从而保证应用程序之间的隔离性和安全性。3. 备份和恢复
2023-06-12

Linux中QEMU的KVM怎么用

Linux中QEMU的KVM怎么用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  QEMU是一个强大的虚拟机软件,它可以完全以软件的形式模拟出一台完整的电脑所需的所有硬件,甚
2023-06-13

KVM基础命令怎么用

本篇内容介绍了“KVM基础命令怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!KVM (全称是 Kernel-based Virtual
2023-06-30

android内核开启kvm的方法是什么

要在Android内核中启用KVM(Kernel-based Virtual Machine),需要进行以下步骤:确保你使用的安卓内核支持KVM。大多数现代内核版本都支持KVM,但是你需要检查内核配置以确保它已启用。进入内核源码目录,打开内
android内核开启kvm的方法是什么
2023-10-28

Linux怎么在KVM上使用虚拟机

这篇文章跟大家分析一下“Linux怎么在KVM上使用虚拟机”。内容详细易懂,对“Linux怎么在KVM上使用虚拟机”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习“Linux怎么在K
2023-06-28

Ubuntu上怎么使用KVM搭建虚拟化环境

要在Ubuntu上使用KVM搭建虚拟化环境,您需要按照以下步骤操作:检查硬件虚拟化支持:首先,您需要确保您的处理器支持硬件虚拟化,并已在BIOS中启用了虚拟化技术(如Intel VT-x或AMD-V)。安装KVM:打开终端并运行以下命令来安
Ubuntu上怎么使用KVM搭建虚拟化环境
2024-04-28

怎么在deepin操作系统上使用KVM虚拟机

本篇内容介绍了“怎么在deepin操作系统上使用KVM虚拟机”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!KVM概念KVMKernel-ba
2023-06-05

css是什么?有什么用?

CSS是什么东西?CSS,即层叠样式表(Cascading Style Sheets),是一种用于网页设计的样式语言。通过CSS,你可以改变HTML页面上各个元素的外观、布局和行为。CSS最初是由赛迪公司(斯佩克特公司)的开发者创建的,并于1996年成为一项业界标准。随着互联网的发展,在HTML语言出现之后,CSS已经成为了使用最广泛的网页设计工具之一。让我们来看一下CSS有哪
2023-05-14

mysql是什么有什么用

mysql 是一款开源关系数据库管理系统(rdbms),用于存储和管理数据。mysql 广泛用于 web 应用程序、电子商务和数据仓储等各种领域,因为它具有存储数据、管理数据、保障数据安全、可扩展性、跨平台兼容性和开源的优点。什么是 MyS
mysql是什么有什么用
2024-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录