加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.dakongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

详解虚拟化之KVM概念、架构、功能、常用工具及部署

发布时间:2022-09-16 15:40:17 所属栏目:系统 来源:
导读:  概述

  一般我们讲的虚拟化有两种类型:

  Hypervisor直接在安装在宿主机的逻辑上:

  详解虚拟化之KVM概念、架构、功能、常用工具及部署

  KVM概念

  KVM 全称是 基于内核的虚拟
  概述
 
  一般我们讲的虚拟化有两种类型:
 
  Hypervisor直接在安装在宿主机的逻辑上:
 
  详解虚拟化之KVM概念、架构、功能、常用工具及部署
 
  KVM概念
 
  KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor:
 
  它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购,支持 x86 (32 and 64 位), s390, Powerpc 等 CPU云系统架构KVM,从 Linux 2.6.20 起就作为一模块被包含在 Linux 内核中。
 
  不过KVM需要支持虚拟化扩展的 CPU。
 
  详解虚拟化之KVM概念、架构、功能、常用工具及部署
 
  KVM架构
 
  KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。
 
  但是,KVM 本身不执行任何硬件模拟,需要客户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU。
 
  Linux 上的用户空间、内核空间和虚机:
 
  云桌面系统架构示意图_云系统架构KVM_应用架构和系统架构的区别
 
  详解虚拟化之KVM概念、架构、功能、常用工具及部署
 
  KVM架构
 
  说明:
 
  KVM功能
 
  KVM 所支持的功能包括:
 
  KVM常用工具
 
  简单介绍一下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 (连接到虚机屏
 
  grep?-E?'(vmx|svm)'?/proc/cpuinfo?
 
  幕的工具),Virt-clone(虚机克隆工具),virt-top 等
 
  sVirt:安全工具
 
  安装kvm
 
  1、查看系统是否支持虚拟化
 
  grep?-E?'(vmx|svm)'?/proc/cpuinfo?
 
  2、安装软件
 
  --最小安装的CentOS安装一些最基本的包?
 
  yum?install?epel-release?net-tools?vim?unzip?zip?wget?ftp?-y?
 
  --centos6?
 
  ?yum?groupinstall?"Virtualization"?"Virtualization?Client"?"Virtualization?Platform"?"Virtualization?Tools"?-y?
 
  --centos7?
 
  yum?install?*qemu*?*virt*?*kvm*?-y?
 
  详解虚拟化之KVM概念、架构、功能、常用工具及部署
 
  3、启动服务
 
  /etc/init.d/libvirtd?start?
 
  4、查看kvm模块加载:
 
  lsmod?|?grep?kvm?
 
  ?kvm_intel?53484?3??
 
  ?kvm?316506?1?kvm_intel?
 
  5、卸载kvm
 
  yum?erase?`rpm?-qa?|?egrep?'(qemu|virt|kvm)'`?
 
  rm?-rf?/var/lib/libvirt?/etc/libvirt/?
 
  6、创建连接池
 
  1.创建基于文件夹的存储池(目录)?
 
  mkdir?-p?/data/vmfs?
 
  2.定义存储池与其目录?
 
  virsh?pool-define-as?vmdisk?--type?dir?--target?/data/vmfs?
 
  3.创建已定义的存储池?
 
  (1)创建已定义的存储池?
 
  virsh?pool-build?vmdisk?
 
  (2)查看已定义的存储池,存储池不激活无法使用。?
 
  virsh?pool-list?--all?
 
  4.激活并自动启动已定义的存储池?
 
  virsh?pool-start?vmdisk?
 
  virsh?pool-autostart?vmdisk??
 
  这里vmdisk存储池就已经创建好了,可以直接在这个存储池中创建虚拟磁盘文件了。?
 
  5.在存储池中创建虚拟机存储卷?
 
  (1)在存储池中创建虚拟机存储卷?
 
  virsh?vol-create-as?vmdisk?oeltest03.qcow2?20G?--format?qcow2?
 
  (2)根据创建的虚拟机存储卷安装虚拟机?
 
  virt-install?--name=oeltest03?--os-variant=RHEL6?\?
 
  --ram?1024?--vcpus=1?--disk?path=/data/vmfs/oeltest03.qcow2,?\?
 
  format=qcow2,size=20,bus=virtio?--accelerate?--cdrom?\?
 
  /data/iso/oel63x64.iso?--vnc?--vncport=5910?\?
 
  --vnclisten=0.0.0.0?--network?bridge=br0,model=virtio?–noautoconsole?
 
 

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!