首页 > 系统相关 >linux桌面虚拟化-KVM

linux桌面虚拟化-KVM

时间:2023-04-27 11:04:07浏览次数:33  
标签:KVM 虚拟化 root 虚拟机 kvm linux 安装


文章目录

  • 虚拟化产品介绍
  • KVM概述
  • KVM功能
  • KVM常用工具:
  • KVM安装
  • 安装前准备环境:
  • 安装kvm模块,管理工具和libvirt
  • 确定正确加载KVM模块
  • 使用命令 virt-manager 建立虚拟机

虚拟化产品介绍

虚拟化有两种类型:
Hypervisor直接在安装在宿主机的逻辑上:
Hypervisor 直接安装在物理机上,多个虚拟机在 Hypervisor 上运行。Hypervisor 实现方式一般是一个特殊定制的 Linux 系统。Xen 和 VMWare 的 ESXi 都属于这个类型。

Hypervisor安装在宿主机的操作系统上:
物理机上首先安装常规的操作系统,比如 Redhat、Ubuntu 和 Windows。Hypervisor 作为 OS 上的一个程序模块运行,并对管理虚拟机进行管理。KVM、VirtualBox 和 VMWare Workstation 都属于这个类型。

虚拟化产品对比介绍
vmware
KVM rhel6_x64
xen [kernel-xen]

虚拟化技术:
仿真虚拟化 [对系统硬件没有要求,性能最低]
半虚拟化 [虚拟机可以使用真机物理硬件,性能高,需要改内核]
全虚拟化

vmware 支持仿真虚拟化
xen 半虚 REHL5自带xen, 安装时需要安装内核 rpm -ivh kernel-xen-xxx.rpm
kvm 全虚拟化 RHEL6 自带kvm

KVM概述

KVM 即Kernel-based Virtual Machine 基于内核的虚拟机。

KVM,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization。

特点:
它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购。
它支持 x86 (32 and 64 位), s390, Powerpc 等 CPU。
它从 Linux 2.6.20 起就作为一模块被包含在 Linux 内核中。
它需要支持虚拟化扩展的 CPU。
它是完全开源的。

KVM功能

从官网上摘录:
KVM 所支持的功能包括:

  1. 支持CPU 和 memory 超分(Overcommit)
  2. 支持半虚拟化I/O (virtio) 支持热插拔(cpu,块设备、网络设备等)
  3. 支持对称多处理(Symmetric Multi-Processing,缩写为 SMP )
  4. 支持实时迁移(Live Migration)
  5. 支持 PCI 设备直接分配和 单根I/O 虚拟化 (SR-IOV)
  6. 支持 内核同页合并(KSM )
  7. 支持 NUMA (Non-Uniform Memory Access,非一致存储访问结构 )

KVM常用工具:

libvirt:操作和管理KVM虚机的虚拟化 API,使用 C 语言编写,可以由 Python,Ruby, Perl, PHP, Java 等语言调用。可以操作包括 KVM,vmware,XEN,Hyper-v, LXC 等 Hypervisor。
Virsh:基于 libvirt 的 命令行工具 (CLI)
Virt-Manager:基于 libvirt 的 GUI 工具
virt-v2v:虚机格式迁移工具
virt-* 工具:包括 Virt-install (创建KVM虚机的命令行工具),
Virt-viewer (连接到虚机屏幕的工具),
Virt-clone(虚机克隆工具),
virt-top 等 sVirt:安全工具

一个普通的 Linux 进程有两种运行模式:内核和用户。 KVM 增加了第三种模式:客户模式(有自己的内核和用户模式)

KVM安装

安装拓扑图:
在win10上安装vmware,在vmware里面安装centos7,在centos7上安装KVM,在kvm里面安装centos7

linux桌面虚拟化-KVM_kvm

安装前准备环境:

linux桌面虚拟化-KVM_kvm_02

注意: 虚拟化cpu计数器的解释官方文档有:http://pubs.vmware.com/workstation-12/index.jsp

安装kvm模块,管理工具和libvirt

[root@zmedu63 ~]# yum install kvm virt-manager libvirt -y 注:使用系统镜像,先配置好yum本地源
注:
kvm : KVM虚拟化模块
virt-manager: KVM图形化管理工具
libvirt: 虚拟化服务

查看安装完KVM后的服务:
[root@zmedu63 ~]# service libvirtd start #虚拟化服务
[root@zmedu63 ~]# chkconfig libvirtd on

确定正确加载KVM模块

[root@zmedu63 ~]# lsmod | grep kvm
kvm_intel 50380 0
kvm 305113 1 kvm_intel
检查 KVM 模块是否成功安装
(3).检查KVM 是否成功安装可以使用virsh命令检查虚拟机的状态
[root@zmedu63 ~]# virsh list
Id Name State

使用命令 virt-manager 建立虚拟机

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

linux桌面虚拟化-KVM_kvm_03


点击右键,新建-然后根据向导安装一个新的虚拟机。

linux桌面虚拟化-KVM_Xen_04


linux桌面虚拟化-KVM_虚拟化_05


linux桌面虚拟化-KVM_Xen_06


linux桌面虚拟化-KVM_虚拟化_07


linux桌面虚拟化-KVM_kvm_08


标签:KVM,虚拟化,root,虚拟机,kvm,linux,安装
From: https://blog.51cto.com/zmedu/6229935

相关文章

  • 【linux】循序渐进学运维-基础篇-mount
    文章目录1.mount命令的讲解1)作用:用来挂载文件系统的命令2)基本格式为:3)常见的文件系统类型有:4)查看当前系统都支持哪些操作系统5)挂载选项详解6)与mount相关的文件7)与mount相关的参数2.mount使用举例1.允许可执行权限和不可执行权限2.sync&&async同步写入和异步写入3.acl的使用4......
  • 【MySQL】linux平台下安装配置MySQL- rpm包的方式
    文章目录一.前言二.rpm包下载1)选择mysqlcommunityserver2)我们选择其他GA版本3)选择5.6的版本下载三.上传到服务器四.安装mysql五.启动mysql并检查是否启动六.查看登陆密码并登陆七.日志及配置文件目录总结:一.前言mysql的安装相对来说比较简单,在centos6的系统里使......
  • Linux 存储结构与磁盘划分
    主要常见的目录定义1.      /boot            开机所需文件----内核,开机菜单及所需配置文件2.      /dev             任何设备与接口都以文件形式存放在这目录3.      /etc              配置文件4.      /hom......
  • Linux common clock framework(2)_clock provider
    1.前言本文接上篇文章,从clockdriver的角度,分析怎么借助commonclockframework管理系统的时钟资源。换句话说,就是怎么编写一个clockdriver。由于kernel称clockdriver为clockprovider(相应的,clock的使用者为clockconsumer),因此本文遵循这个规则,统一以clockprovider命名。2.......
  • Linux(Centos7)failed to start lsb bring up/down 反其道解决
    VM虚拟机里装的CentOS7,之前用的好好的,突然就连不上网了。使用命令:systemctlrestartnetwork.service提示错误:  注:网截图了,用网友的按提示输入:systemctlstarusnetwork里面有行错误提示: failedtostartlsbbringup/down网上找了一圈,大部分说是 ......
  • Linux基础
    Linux基础1课程主要内容1.1Linux在什么地方使用1.2Linux的应用领域1.3Linux入门概述吉祥物创始人Linux和Unix的关系图1.4安装VM,CentosVM和Linux的关系网络连接三种模式虚拟机克隆虚拟机快照新建hello2虚拟机迁移和删除移除之后,文件夹......
  • Linux 进阶
    Linux定制篇1shell1.1定义1.2入门案例1.3变量环境变量位置参数变量预定义变量1.4运算法1.5条件判断1.6流程控制ifcaseforwhileread获取输入1.7函数系统函数自定义函数1.8定时......
  • linux开发记录:在linux环境下编写代码(2)
    man(manual)指令man是手册指令,用来查询关键字的相关文档,帮助开发者或管理员更好的熟悉关键字。常用的man2一般是查询系统自带的函数相关信息man1一般是查询可执行的命令行 vi下的一些命令最近学习了一些新的开发过程的快捷键dd:delete,删除光标......
  • Linux安装
    1Linux系统安装1.1Unix哲学思想一切都是一个文件(包括硬件)小型,单一用途的程序链接程序,共同完成复杂的任务(shell脚本)避免令人困惑的用户界面配置数据存储在文本中1.2Linux各种版本CentOS各版本介绍https://zh.wikipedia.org/wiki/CentOSRHEL各版本介绍https://zh.wikipe......
  • Linux内核分析:深入理解进程切换
      我们知道进程切换就是变更进程上下文,而实现上下文切换的函数就是context_switch函数,该函数为kernel/sched/core.c文件中,代码如下:/**context_switch-switchtothenewMMandthenewthread'sregisterstate.*/static__always_inlinestructrq*context_swit......