简单介绍一下存储虚拟化技术

存储虚拟化技术其实不是一个新东西,在很早以前就有了存储虚拟化技术。技术发展到今天,在存储虚拟化技术之上又诞生了其他很多新的概念和技术。

数据在整个计算机系统是最重要的一部分,也是最珍贵的。数据的存储一直是一个热议的话题,在没有云计算之前数据存储已经发展了很久,可以说和云计算没有特别关系,我这边将的云计算存储通常指的是亚马逊的 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 路径较长,性能有损耗

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/13893.html

(0)
晴川运维晴川运维
上一篇 2025年9月24日
下一篇 2025年9月24日

相关推荐

  • DNS在什么场景下选择TCP与UDP协议

    DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类。但很少有人知道DNS分别在什么情况下使用这两种协议。 TCP与…

    Linux系统 2025年6月8日
  • 详解Linuxpidstat命令

    pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。pidstat首次运行时显示自系统启动开始的各项统计信息,之…

    Linux系统 2025年6月30日
  • Aria2下载提速具体方法

    Aria2 是一个多平台轻量级,支持 HTTP、FTP、BitTorrent 等多协议、多来源的命令行下载工具。Aria2 可以从多个来源、多个协议下载资源,最大的程度上利用了你的…

    Linux系统 2025年10月9日
  • Linux下查看文件内容具体方法

    Linux下查看文件内容有多种方法,可以使用:cat、tac、nl、more等命令,下面详细的讲解一下各个命令的具体使用方法。 cat 由第一行开始显示文件内容 语法: cat&n…

    Linux系统 2025年6月8日
  • 细说Shell test 命令

    Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试,下面为大家讲解一下Shell test 命令。 数值测试 参数 说明 -…

    Linux系统 2025年10月21日
  • 如何让网站不下线而从 Redis 2 迁移到 Redis 3

    我们在 Sky Betting&Gaming 中使用 Redis 作为共享内存缓存,用于那些需要跨 API 服务器或者 Web 服务器鉴别令牌之类的操作。在 Core Tribe …

    Linux系统 2025年10月8日
  • Linux alias命令使用方法

    Linux系统提供了一个有用的工具叫alias,可以让我们将一些需要频繁使用的但又过于冗长的命令设置一个别名,以后只需输入一个简短的别名就可以达到同样的作用,下面为大家详细讲解一下…

    Linux系统 2025年10月10日
  • 讲解一下Redis中的订阅发布模式

    发布与订阅模型在许多编程语言中都有实现,也就是我们经常说的设计模式中的一种–观察者模式。在一些应用场合,例如发送方并不是以固定频率发送消息,如果接收方频繁去咨询发送方,这种操作无疑…

    Linux系统 2025年10月24日
  • Linux下升级node版本

    Linux下如何升级node版本?本篇文章为大家讲解一下Linux下升级node版本具体方法,有需要的小伙伴可以参考一下。 1、清除缓存信息 sudo npm …

    Linux系统 2025年10月7日
  • 最受欢迎的10款Python开源框架总结

    本篇文章为大家讲解一下10个在GitHub等开源网站中最欢迎的Python开源框架,为大家做详细介绍和优劣势总结。这些框架包括Web开发,高性能网络通信,测试,爬虫等。 1.Dja…

    Linux系统 2025年6月29日

发表回复

登录后才能评论