KVM虚拟化专题(2)KVM及Libvirt架构

kvm是内核组件,并没有自己的用户空间,QEMU是一个通用的开源的硬件模拟器,可以模拟多种硬件
QEMU_KVM从分支与主干合并,QEMU成为KVM在用户空间的管理工具,及KVM运行在内核空间负载虚拟机调用物理资源的请求处理,QEMU则在用户空间处理用户下达给虚拟机的各种指令


从架构上看KVM属于宿主模型,因为Linux设计之初并内有针对虚拟化的支持,KVM是以内核模块的形式存在的。但是随着越来越多的虚拟化功能被加到Linux内核当中,也可以把Linux内核看作一个Hypervisor。因此KVM也可以算作是Hypervisor模型。

Libvirt
Libvirt是由Redhat开发的一套开源的软件工具,目标是提供一个通用和稳定的软件库来高效、安全的管理一个节点上的虚拟机,并支持远程操作。
Libvirt服务
启动服务 systemctl start libvirtd
配置文件在/etc/libvirt目录下面

一个库文件,实现管理接口
一个守护进程(libvirtd)
一个命令行工具(virsh)


为了支持VMM,Libvirt采用基于驱动(Driver)架构,每种VMM需要提供一个Driver和Libvirt进行通信来操控特定的VMM
Libvirt定义了各种API

  • 虚拟机快照:快照包括内存、硬盘等信息在内的完整的虚拟化状态。
  • 虚拟化管理:这一类API用于管理虚拟机,也是Libvirt里面使用最频繁的功能,比如,创建、销毁、重启、迁移虚拟机、操作系统的磁盘镜像等。
  • 事件:事件(events)是Libvirt定义的一套检测特定情况发生的机制,用户可以通过响应的API告诉Libvirt,想要监测什么样的事件,与事件发生时采取什么样的操作。
  • 宿主机:用于获取宿主机的各种信息,包括机器名,COU状态等,也用于和特定的VMM建立连接。
  • 网络接口:实现网路接口的响应操作,如定义一个新的网络接口

    virsh是一个基于Libvirt的命令行工具,用于管理虚拟机的整个生命周期,包括创建、销毁、迁移等。
    virsh常用参数指令:
    virsh shutdown --mode-agent  比--mode=acpi更加安全地关闭操作系统
    virsh snapshot-creat -quiesce  在创建快照之前,将缓存地内容刷入到磁盘
    virsh domfsfreee     静默文件系统
    virsh domfsthaw      恢复静默地文件系统
    virsh domfstrim        让虚拟机trim文件系统
    virsh domtime          获取虚拟机的事件
    virsh setvcpus         配置虚拟机的vCPU
    virsh  dominfaddr  --source agent     查询虚拟机的IP地址
    virsh domfsinfo      显示虚拟机的文件系统列表
    virsh set-user-password   设置虚拟机用户的密码

原文地址:http://blog.51cto.com/11970509/2349037

时间: 2024-10-31 10:24:41

KVM虚拟化专题(2)KVM及Libvirt架构的相关文章

KVM虚拟化之安装KVM虚拟机(一)

KVM虚拟化 1.KVM虚拟化介绍与应用场景 什么是KVM虚拟化? KVM,内核级虚拟化技术 Kernel-based Virtual Machine .KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术).是基于硬件的完全虚拟化.虚拟化就是通过模拟计算机硬件(cpu,内存,硬盘,网卡)来实现在一台物理服务器上运行同时多个不同的操作系统,使每个操作系统之间都是互相隔离的,并且应用程序都可以在相互独立的空间内运行而互不影响,可以实现资源的动态分配.灵活调度.跨域共享,提高资源利用

KVM虚拟化搭建及其KVM中LVM扩容

KVM虚拟化搭建及其KVM中LVM扩容 前言: 公司项目方最近有两台物理服务器系统分别为CentOS 7.2.需要部署KVM虚拟化,第一台服务器A需要虚拟出三台虚拟机(均为CentOS 7.2系统),服务器B上需要虚拟出三台CentOS 7.2 系统和两台windows server2012 系统.其中六台CentOS 7.2 虚拟机需要部署我们自己的平台,两台windows分别部署客户的平台.下面来为大家说一下KVM虚拟化的搭建,以及创建虚拟机的两种办法,及其操作使用.     KVM小课补:

KVM虚拟化专题(1)系统虚拟化

虚拟化云计算的一个核心思想就是在服务器端提供集中的计算资源.这些计算资源可以被分解成更小的单位去独立服务于不同的用户,也就是在共享物理资源的同时,为每个用户提供隔离,安全,可信的虚拟工作环境,而这一切不可避免的要依赖于虚拟化技术.这种硬件抽象层的虚拟化又被称为系统虚拟化,是指将一台物理计算系统虚拟化为一台或多台虚拟计算机主机.每个虚拟计算机系统(简称虚拟机)都拥有自己的虚拟硬件,如内存,CPU,网卡等设备,并提供一个独立的虚拟机执行环境.通过虚拟机监控器(VMM,也可以称为Hypervisor)

KVM虚拟化技术

KVM虚拟化技术 Qemu-kvm kvm Qemu-kvm创建和管理虚拟机 1.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machine的缩写,即基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor.KVM在2007年2月被导入Linux 2.6.20核心中,以可加载核心模块的方式被移植到FreeBSD及illumos上. KVM在具备Intel VT或AMD-V功能的x86平台上运行.它也被移植到S

虚拟化技术之KVM安装与使用

什么是KVM虚拟化技术? KVM(Kernel-based Virtual Machine),主流虚拟化技术之一,集成与Linux2.6之后版本中,通过linux内核提供任务调度及管理. 注:此文档为2014年所写,但内容绝对实用! 安装体验下KVM吧! 操作系统:CentOS 6.5_x64 mini Desktop 一.KVM组件安装与配置网络(首先先更新系统软件:yum update) 1.检查CPU是否支持虚拟化 #KVM虚拟化基于硬件的完全虚拟化,因此需要硬件支持,目前CPU基本都支持

centos7.3 kvm虚拟化全自动化部署(金测OK)

环境说明: VMware中的centos7做kvm虚拟化实验必须的设置,否则无法正常使用kvm虚拟化功能: #kvm虚拟化一键安装和启动的脚本(已测OK) #说明:此脚本实现kvm虚拟化平台的一键安装,并且创建一台新的虚拟机vmx0,给vmx0全自动安装系统. 本文是通过脚本在centos7系统中全自动化安装和配置kvm虚拟化平台,并通过脚本创建一台新虚拟机vmx0,并且自动安装centos7系统.本案脚本创建的虚拟机vmx0配置了vnc和console控制功能.本文附带了mininal和gno

生产环境下戴尔 R820 kvm虚拟化部署三(centos6.6 kvm虚拟化部署)

三.kvm虚拟化部署 #安装kvm软件包 yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v #补充安装kvm虚拟化一些管理工具包 yum -y install libguestfs-tools #查看虚拟机运行情况并开启 [[email protected] network-scripts]# service libvirt

KVM虚拟化环境准备

1. 概述2. 环境准备2.1 硬件环境2.2 软件环境2.2.1 YUM安装软件包2.2.2 环境检查2.2.3 启动libvirtd服务2.3 网络环境2.3.1 复制网卡配置文件2.3.2 修改网卡配置文件2.3.4 重启网络服务2.3.5 查看验证 1. 概述 本系列博客是想在VMware workstation创建的虚拟机console中,开启KVM虚拟化,使用kvm虚拟机快速部署测试环境. 注:有关虚拟化的理论部分,参照博客<>,有关KVM的理论部分,参照博客<> 2.

KVM虚拟化笔记(七)------kvm虚拟机时间配置

由于在虚拟化环境中,虚拟机在长时间的运行过程中,时间会变慢,通常的做法是配置ntpdate定时与时间服务器进行时间同步的计划任务.Kvm虚拟机默认采用的是UTC时间,需要进行专门的修改,还有考虑时间同步的问题,具体步骤如下: 1,kvm虚拟机修改时间配置文件 kvm虚拟机采用utc时间,需要先修改配置文件使用kvm虚拟机的时间与虚拟主机同步. [[email protected] qemu]# virsh edit hadoop3 最后重启下虚拟机 2. 关于kvm虚拟机时间问题解决思路 (1)