|
|
51CTO旗下网站
|
|
移动端

一文看懂存储虚拟化技术

本篇文章主要来总结一下Java虚拟机内存的各个区域,以及这些区域的作用、服务对象以及其中可能产生的问题,作为大家的面试宝典。

作者:云说君来源:Cloud云说|2019-02-13 15:38

这次,我们一起学习—存储虚拟化技术。

数据在整个计算机系统是最重要的一部分,也是最珍贵的。数据的存储一直是一个热议的话题,在没有云计算之前数据存储已经发展了很久,可以说和云计算没有特别关系,我这边将的云计算存储通常指的是亚马逊的 S3 存储或者 EBS 存储等,将统一的资源池划分给多个用户。

什么是存储

存储,历史悠久,无处不在。

存储是 Storage,注意和内存 (记忆体)Memory 区分;

本质的差异是 Storage 要持久化,Memory 一般认为是 RAM,掉电易失,主要作用是 XIP(eXecute In Place) 。人的记忆要能存储起来就好了。存储,不同的介质千差万别,种类繁多……

什么是存储虚拟化

存储虚拟化是在存储设备上加入一个逻辑层,通过逻辑层访问存储资源

对管理员来说,可以很方便的调整存储资源,提高存储利用率

对终端用户来说,集中的存储设备可以提供更好的性能和易用性

存储虚拟化的实现方式

  • 裸设备+逻辑卷:
  • 存储设备虚拟化
  • 主机存储虚拟化+文件系统

存储虚拟化的原理

  • 裸设备+逻辑卷的方式是最直接的存储控制方式,直接在通用块层之上划分成以 1 G 为单元的存储块,通过管理这些单元,实现卷的维护操作
  • 存储设备虚拟化是指通过存储设备的能力,实现卷的维护操作,并且存储设备还可以提供一些存储高级业务,例如精简配置、快照和链接克隆
  • 主机存储虚拟化+文件系统是指主机通过文件系统管理虚拟机磁盘文件,并通过虚拟化层提供很多高级业务,业务能力不依赖存储设备

裸设备+逻辑卷虚拟化结构

  • 裸设备+逻辑卷的方式是最直接的存储控制方式,直接在通用块层之上划分成以 1 G 为单元的存储块,通过管理这些单元,实现卷的维护操作;
  • IO 路径简单,读写性能最好,但不支持高级业务;

术语解释:

主机内核空间:Dom-0 Kernel Space

用户虚拟机:Guest OS

前段驱动:blkfront

后端驱动:blkback

通用块层:Generic Block Layer

存储设备虚拟化的结构

  • 存储设备虚拟化是指通过存储设备的能力,实现卷的维护操作,并且存储设备还可以提供一些存储高级业务,例如精简配置、快照和链接克隆
  • 该技术的优点:与主机无关,不占用主机资源,数据管理功能丰富。
  • 该技术的缺点:一般只能实现对本设备内磁盘的虚拟化。不同厂商间的数据管理功能不能互操作。多套存储设备需要配置多套数据管理软件,成本较高。

存储虚拟化+文件系统的结构

主机存储虚拟化+文件系统是指主机通过文件系统管理虚拟机磁盘文件,并通过虚拟化层提供很多高级业务,这也是目前业界采用较多的虚拟化方式。

  • 支持异构存储和异构服务器
  • 高级功能丰富,且不依赖于硬件设备
  • IO 路径较长,性能有损耗

存储虚拟化类型

几种存储虚拟化技术的比较

【编辑推荐】

  1. 开发者其实不太需要关注 Java 收不收费
  2. 1月份GitHub上最热门的Java开源项目
  3. 1月份GitHub上最热门的JavaScript项目
  4. 聊聊Java数据库开发的那点事儿
  5. JavaScript常用工具方法封装
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

216人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

83人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | 武凤涛

468人订阅学习

读 书 +更多

设计模式:可复用面向对象软件的基础(双语版)

《设计模式:可复用面向对象软件的基础》(双语版)是引导读者走入软件设计迷宫的指路明灯,凝聚了软件开发界几十年的设计经验。四位顶尖的...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客