Openstack学习笔记 002:虚拟化

1 虚拟化概述

云计算的一个核心思想是在服务器端提供集中的物理计算资源,这些资源可以被分解为更小的单位来服务于用户,而实现这一核心思想需要借助于虚拟化技术[1]。

百度百科对虚拟化的解释如下:

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

2 虚拟化分类

在物理机上实现虚拟化需要借助于虚拟机监控器。虚拟机监控器 (Virtual Monitor Machine, VMM) ,也可称为Hypervisor,处于硬件和操作系统之间,可以使每个用户拥有独立的虚拟硬件和执行环境。

根据Hypervisor在计算机系统中所处的位置,可划分为一类虚拟化 (裸机型) 和二类虚拟化 (宿主型) :
在这里插入图片描述
图1 一类虚拟化和二类虚拟化[1]

一类虚拟化的Hypervisor直接运行在硬件上,而二类虚拟化的Hypervisor在物理机的操作系统之上。

另一种划分虚拟化的方式是根据虚拟化平台的类型划分,可分为完全虚拟化和类虚拟化两种。完全虚拟化无需对客户的操作系统修改便可运行在物理机上,而类虚拟化则需修改操作系统的代码,使其适应于物理机。

3 Hypervisor

目前主要的Hypervisor有以下几种:

Hypervisor厂家
KVM开源
Xen开源
VMware ESXVMware
Hyper-V微软

表1 Hypervisor

其中开源的KVM (Kernel-Based Virtual Machine) 应用广泛,且Openstack对KVM的支持较好,因此在这里着重介绍KVM。KVM基于Linux内核实现,主要管理CPU和内存。在实际应用中需与Qemu合作完成虚拟化任务,Qemu主要负责I/O的虚拟化。

4 高层管理工具

KVM等Hypervisor提供了虚拟化的基本功能,但与用户有关的工作仍需要更高层的工具完成,这些工具包括:Libvirt、XenAPI等,这里主要介绍Libvirt[3]。

Libvirt支持多种Hypervisor,主要包括如下组成部分:

  • API
  • Libvirtd 守护进程
  • virt-manager 图形化工具
  • virsh 命令行工具

5 KVM、Libvirt与Openstack的关系

KVM+Qemu -> Libvirt -> Openstack

参考资料

[1] 英特尔开源技术中心. Openstack设计与实现[M]. 北京:电子工业出版社, 2015
[2] 百度百科. 虚拟化[EB/OL]. https://baike.baidu.com/item/%E8%99%9A%E6%8B%9F%E5%8C%96/547949?fr=aladdin, 2019-7-20
[3] cloudman. 虚拟化 - 每天5分钟玩转 OpenStack(2)[EB/OL] https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587970&idx=1&sn=eeabd0d69d51a725b46a6fc773544773&chksm=8d30821bba470b0d03dbf113fb19564c82592bef0d168c3971341abdc72bd4e91c28d0e92d36&scene=21#wechat_redirect. 2019-7-20

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值