配置KVM | 学习笔记

简介: 快速学习配置KVM

开发者学堂课程【KVM 虚拟化第二课时:配置KVM】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/809/detail/13905


配置KVM


一、KVM与其他虚拟化对比

1.KVM虚拟化

KVM 是基于内核的虚拟机( Kernel-based Virtual Machine )的缩写。

KVM 是为 Linux 环境而设计的虚拟化基础设施,后来移植到 FreeBSD lumos

KVM 支持硬件辅助的虚拟化技术(即能够充分利用硬件厂商提供的硬件虚拟化机制),其一开始支持的架构为Intel公司的x86x86-64处理器,后来则被IBM公司移植到 S /390PowerPC IA-6L

KVM 虚拟机监视器既可以在全虚拟化模式下运行,也能够为部分操作系统提供准虚拟化支持。

在准虚拟化模式下,KVM 使用一种称为 VirtIO 的框架作为后端驱动。该框架能够支持准虚拟化以太网卡、准虚拟化的控制器,以及使用 SPICE VMware 驱动程序的 VGA 图形界面。

2.Xen虚拟化

Xen 虚拟机技术是英国剑桥大学计算机实验室原始开发的。

Xen 社区负责 Xen 的后续版本开发并将其作为免费开源的软件,以GNU通用公众执照( GeneralPublic License )(GPLv2)进行使用。

著名的亚马逊 Web 服务( AWS )就建立于Xen 虚拟机技术之上。

Xen 虚拟机的最大商用支持者为美国的Citrix公司。

3.Hyper-V虚拟化

Hyper-V是微软公司使用的虚拟机监视器,其前身是 Windows 服务器虚拟化( Windows Server Virtualization )

Hyper-V提供的虚拟机容器称为划分,其中根划分里面容纳的是主机操作系统,子划分里面则运行宿主操作系统。宿主操作系统可以是非 Windows 操作系统。

所有的划分之间由虚拟总线进行连接,不同的主机或宿主操作系统之间的通信均通过该总线进行。

目前,Hyper-V 的使用者主要是微软的 Windows Azure

4.Container容器技术

Container技术利用了 Linux kernel 提供的 cgroup namespace 等机制,将应用之间隔离起来,好像自己是操作系统上的唯一一个应用似的。

与平台虚拟化技术相比,Container 技术省去了启动和维护整个虚拟客户机的开销(硬件初始化、 Kernel boot init ),因而它非常轻量级,非常适用于 PaaS 服务模型。

但另一方面,由于各个 Contained instance 其实还是共用一个 OS 、一个 Kernel,所以安全性比不上平台虚拟化技术。总而言之Container KVM 等平台虚拟化技术,目前还是各有所长,还处在相互取长补短的过程中。


二、KVM安装

在已经配置好的宿主机上来进行KVM的验证,首先需要为宿主机安装一个Linux操作系统,因为KVM是集成在内核当中,必须是Linux内核的系统才能够去使用KVM

1.更新软件

首先需要先去进行一个简单的系统更新,确保软件是正常的。

输入密码去更新系统软件,在更新完系统软件以后,就需要去安装一系列软件,当然在这个之前你可以先检测系统是否支持KVM

执行egrep -c表示要去检测其中内容,检测vms或者smx在你的cpuinfo当中,帮你去计算在cpuinfo当中vmx或者是smx出现的次数,数据是大于零的值,则说明当前的这个设备是已经开启了虚拟化可以进行kvm的配置,如果值是零的时候,就要去看一下,你的CPU是否支持虚拟化以及是否开启了相应的配置。

image.png

执行sudu kvm-ok,他会帮你检测你的这个系统是否支持kvm

image.png

2.安装KVM

安装kvm时,需要用到一些包,执行sudo apt install,首先需要安装qemu-kvm,可以非常方便的去查看他以及libvirt安装,libvirt-daemon-system后台的监控程序,还有libvirt-cliemts,安装一个liberate的管理控制的本地端以及bridge-utils

安装完成以后,并不能直接使用,因为这些软件涉及到虚拟化,会有一些用户的要求,需要将我们当前的用户添加到对应的组里面。

image.png

使用adduser然后输入当前的用户名 bestony 输入加入的用户组libvirt。除了添加到libvirt组以外,还需要添加到kvm组里。

安装完成以后,可以执行一个命令来去验证libvirt,包括kvm是否已经配置好,输入virsh list --all如果可以看到下面这的输出就说明虚拟环境已经运行正常了。此外还可以通过systemctl  执行 sudo systemctl status libvirt可以看到展示的一些信息,包含了各种的配置,配置的位置等信息,当看到这样信息的时候,就说明内部问题已经正常了。                                                            

image.png

安装virt-manager 得到可视化的管理工具,得到一个虚拟系统管理器。

3.创建虚拟机

左上角新建虚拟机,选择本地安装:

image.png

点击前进:

image.png

添加安装文件,本地浏览,找到提前准备好的ISO镜像并打开会自动识别系统镜像:

image.png

image.png

 

点击下一步配置主机各项信

配置存储:

image.png

准备开始安装:

image.png

进入虚拟机界面,可执行上下左右的操作,比如进行图形化安装:

image.png

在这个过程中可以看到虚拟机的信息以及修改配置:

image.png

根据需要修改配置即可。

相关文章
|
存储 持续交付 开发工具
clang-format
clang-format
941 7
|
前端开发 Unix Linux
KVM 架构概述
【10月更文挑战第12天】KVM是基于硬件辅助虚拟化技术的虚拟机监控器,核心依赖于CPU的虚拟化支持如Intel VT和AMD-V。
|
Linux 调度 KVM
KVM详解(一)——KVM基础知识
KVM详解(一)——KVM基础知识
997 0
|
存储 Ubuntu 机器人
机械臂手眼标定详解
这篇文章是关于机械臂手眼标定的详细教程,包括了使用ROS1 Noetic和Realsense D415相机在Ubuntu 20.04环境下进行标定的步骤和配置方法。
1713 0
机械臂手眼标定详解
|
Java Spring 自然语言处理
Spring 框架里竟藏着神秘魔法?国际化与本地化的奇妙之旅等你来揭开谜底!
【8月更文挑战第31天】在软件开发中,国际化(I18N)与本地化(L10N)对于满足不同地区用户需求至关重要。Spring框架提供了强大支持,利用资源文件和`MessageSource`实现多语言文本管理。通过配置日期格式和货币符号,进一步完善本地化功能。合理应用这些特性,可显著提升应用的多地区适应性和用户体验。
190 0
|
Linux
如何将一个linux服务器挂载到另外一个linux服务器上
如何将一个linux服务器挂载到另外一个linux服务器上
635 1
|
监控 关系型数据库 MySQL
如何安装和配置Monit
如何安装和配置Monit
287 0
|
存储 JSON JavaScript
cJSON开源项目详细解剖1
cJSON开源项目详细解剖
431 0
|
运维 Linux KVM
KVM详解(八)——KVM虚拟机自启动
KVM详解(八)——KVM虚拟机自启动
868 5
nodejs17/18版本报错:digital envelope routines::unsupported
nodejs17/18版本报错:digital envelope routines::unsupported
464 0