查看原文
其他

存储虚拟化在传统企业应用的 13 个典型问题

点击蓝字关注👉 twt企业IT社区 2022-07-03

随着企业的发展和IT技术的不断深化、更新,越来越多的新技术被开发和应用,无论是软件的还是硬件的,存储虚拟化技术就是其中一种。在这之前,一个系统配置一套存储设备都是标准配置,尤其是在传统企业,几乎每个系统一套存储,甚至多套存储。随着业务的发展,IT容量的扩容,存储品牌也是五花八门。

时至今日,在越来越强调运维体系化及标准化的时代,管理异构存储对于运维人员来说终究是一件恼人的活。随着快速响应和快速迭代的强烈需求增长,存储的快速扩容和业务无感知已经不再是理论,而是现实情况。

存储虚拟化技术是专门解决类似问题的解决方案,为企业的异构存储进行标准化管理,实现业务无感知扩容等。以下是一次活动中,针对存储虚拟化技术在传统企业应用实践,社区内相关领域专家和会员的交流总结。

【答疑嘉宾】以下内容由张志强(ID:chinesezzqiang,某制造企业资深技术专家)总结及整理,还有以下社区专家和会员分享:邓毓,潘延晟,cid,SamuelSung,donghuayi 等。


一、关于存储虚拟化需要先了解的6个核心问题


1、存储虚拟化的好处是什么?

chinesezzqiang:

对于用户来说,虚拟化的存储资源就像是一个巨大的“存储池”,用户不会看到具体的磁盘、磁带,也不必关心自己的数据经过哪一条路径通往哪一个具体的存储设备。将硬件资源进行融合,形成一个“存储池”,根据业务需求对存储池进行划分。

从管理的角度来看,虚拟存储池是采取集中化的管理,并根据具体的需求把存储资源动态地分配给各个应用。管理员可以在线对数据进行迁移、镜像、扩缩容量等不同的操作。

由于加入了虚拟化层,所以屏蔽了底层的异构环境,无论是IBM、HP或者是EMC的存储都可以 很好的被集成到同一个标准的管理界面,通过同一个Portal进行管理。

在数据灾备方面,存储虚拟机的好处是显而易见的。可以通过专门的存储虚拟化设备将不同站点的数据进行远程镜像或者数据迁移,免去了使用一些专门的软件的成本与复杂性。


2、存储虚拟化与硬件存储之间对比,哪那种模式的性能和稳定性更高一些?

chinesezzqiang:

目前大多数的SAN存储虚拟化技术也是基于存储引擎硬件来实现的,所以在硬件层面的性能和稳定性基本与原有存储一致。但是进行了存储虚拟化以后,可以通过在存储虚拟化层部署更高级别的功能,如存储卷的快照/镜像/双活,且可以将一份数据分别放置于不同的后端存储上以提高整体存储的稳定性,并且可通过增加全闪存等存储介质来提升整体存储系统的性能;这些改善均能通过虚拟化层使全部IT系统的存储资源受益,这是单台或多台硬件存储无法实现的。


3、存储虚拟化与软件定义的区别?

chinesezzqiang:

软件定义存储是以存储虚拟化技术为基础,但是又比存储虚拟化更灵活。

其实存储虚拟化也可以归入软件定义存储的类别,实际上很多虚拟化存储厂商也是这么做的。但是严格意义上来说,这两者又略有不同,存储虚拟化一般只能在专门的硬件设备上使用,很多产生过都要使用专门量身定做的设备才能进行存储虚拟化,而软件定义存储则没有设备限制,其简单的可以理解成就是一个存储的管理程序。

软件定义的存储可以像是现有操作系统和管理软件的一个结合,能够完整的实现我们对存储系统的部署、管理、监控、调整等多个要求,可以给我们的存储系统带来灵活、自由和高可用等特点。当然存储行业要想实现这个功能或者说是愿景,就需要摒弃之前各个系统的闭塞性,采用更为开放的存储架构和接口。


4、全闪存存储和传统存储,在存储虚拟化方面对比有哪些优势?

chinesezzqiang:

对于存储虚拟化层来说,不论是全闪存、混合存储或传统存储,均是可被虚拟化的存储资源,并没有太大区别;当然,全闪存存储的性能和延时相对于传统存储来说均有很大的提升,目前存储行业的趋势会逐渐淘汰掉高转速(15K & 10k RPM)的机械硬盘介质,使用SSD介质来替代,所以如果考虑新购高性能存储的场景建议直接使用全闪存阵列。


5、企业实施存储虚拟化需要注意哪些关键点?有哪些难点问题?

chinesezzqiang:

1.确定企业的存储虚拟化策略规划

2.业务数据的分类规划

3.数据生命周期

4.存储层次以及服务级别

5.数据的安全性和兼容性


6、 存储虚拟化上的数据安全如何保证?

chinesezzqiang:

存储虚拟化其实在一定程度上已经实现一部分的冗余安全。原本的每个业务用一个存储。任何一个存储出现故障都会造成业务的数据丢失。做了存储虚拟化之后。存储形成了存储池。在相应的对存储资源进行补充利用存储虚拟化的比如镜像,集群等功能。还是避免了原有的存储的单点故障的一些风险的。

虽然存储虚拟化实现了异构设备的共存与管理,但是在数据的安全上仍然不是万能的,建议用以下方式定期备份,确保数据安全:

1.定期对数据进行异地备份;

2.通过SVC实现关键数据的灾备;


二、存储虚拟化在传统企业实践中的7个典型问题


7、1)存储虚拟化适合哪些场景?2)如果有老的存储通过存储虚拟化可以利用起来吗?3)老的平台上运行有信息化系统可以做存储虚拟化吗?

邓毓:

1)存储虚拟化整合通常用在SAN网络和存储繁多、复杂、架构不清晰,业务系统所用存储没有规范性,随着存储老旧,业务连续性得不到保证,而且数据迁移比较困难,本地存储没有保护或者存储本身不能实现容灾等场景。

2)看选用存储虚拟化是哪个厂商的,通常像IBM的SVC和EMC的VPLEX都是兼容性还可以的

3)看老的平台的操作系统是否能够顺利安装多路径软件和驱动,就操作系统版本不一而不一,通常来说是没问题的。比如LINUX,用自身带的multipath,红旗4都用过。

Cid:

1)存储虚拟化最适合现有存储架构负载,存储品牌较多,架构不清晰的IT系统场景

2)大多数均可利用,先决条件是您选择的存储虚拟化技术可以兼容您的老旧存储

3)楼上回答已经很详细了,请参考。


8、存储虚拟化整合与容灾的关系?

对于配备多种异构存储的数据中心来说,存储的虚拟化整合是否是实现异地容灾的前提条件?SVC、VPLEX这类设备是否为必需?

SamuelSung:

SVC、Vplex这类设备是存储虚拟化整合推荐的设备,尤其是存在多种异构存储,但不是必须的。因为使用一些分布式存储的整合软件产品也可以达成存储虚拟化的整合,但是实现的效果要差一些。

异地容灾是很多重要系统的必要数据保障,在一些海关认证、等保等评定时也是有硬性要求的。但是异地容灾跟存储虚拟化整合不是一个概念。比如,数据库的很多灾备,可以进行异地灾备,不需要进行存储的虚拟化整合,甚至是异构的设备也可以完成,只是对带宽的要求较高。目前硬件厂商的方案更多的是借助于此类设备进行整合,实施成本较低。

邓毓:

存储虚拟化整合和容灾没有必然联系,但通过存储虚拟化网关可以将原先无法实现存储层面容灾的存储一并实现容灾,比如之前异构的多套存储A,B,C,只有C具备存储层面数据级容灾方案,而A,B两个没有相关方案支持,但通过虚拟化网关D整合了A,B,C,在容灾端也搭建虚拟化网关E,可以通过D、E的容灾方案,使得A,B存储也实现了存储层的容灾。

目前SVC,VPLEX是业内两种比较好的存储虚拟化整合方案

Cid:

存储虚拟化和容灾没有必然联系。

简单的举个例子,我有3台不同品牌存储,3台存储上的数据均要容灾,不做存储虚拟化,我需要在灾备站点再买3台对应品牌同系列的存储在可以进行容灾,且要同时管理我的3套不同DR系统。

做存储虚拟化的话,我这三台存储经过存储虚拟化后,可以通过存储虚拟化层进行全部数据容灾,容灾站点可以只买一台存储,且我只需要管理一套容灾系统。


9、存储虚拟化与传统分散的存储相比有哪些优势?数据安全方面是如何实现的?

chinesezzqiang:

优势:

  • 异构存储

  • 统一资源管理

  • 数据分配可视化

  • 提升存储利用率,降低企业存储成本

数据安全:

存储本身对数据已经做了安全措施,比如raid,分布式,虚拟化。但是传统的备份也是必要的。比如异地备份,云备份等。


10、分散存储系统的整合过程中的不同存储IO不同会不会造成性能瓶颈?因为企业一般有好多旧的存储,在整合后存储性能是以最差的性能体现还是如何实现最优IO性能的?

邓毓:

三种整合方式:

1)IMAGE方式,原先业务系统所用后端存储是什么,整合过来后,还是什么,某些虚拟化网关还类似增加了后端存储缓存的效果,性能得到些许提升。

2)MANAGE方式,将多个性能不一的存储划LUN至存储虚拟化网关,做成一个池,这个池具备存储性能分层的能力,热点数据进入性能高的后端存储,温数据进入性能中的后端存储,冷数据进入性能低的后端存储,整合时,将原先存储LUN的数据迁移至这个池当中。

3)原先业务系统所用的后端存储已经不能满足IO性能要求,想通过此次整合,迁移至更高端存储中去,可以在被存储虚拟化网关接管后,复制一份数据至更高端的存储LUN,再进行切换即可。

Cid:

一般在实际的存储虚拟化部署中,部署存储虚拟化层以后,除了虚拟化引擎的Cache可以对后端存储整体性能进行提升以外,基本上决定应用性能的还是后端被虚拟化的各个存储;

不同存储的I/O在大多数情况下,都不会互相影响造成性能瓶颈,因为存储虚拟化层的性能上限一般都不低,举个例子存储虚拟化设备的最大性能是100,原有存储性能只有20,那么就不会互相影响性能。

极端情况如果虚拟化设备最大性能是100,原有存储性能有150,那么这时候就会由于争抢资源造成性能互相影响,解决起来也很简单: 1.增加存储虚拟化设备的性能上限至200或更高 2.在存储虚拟化层设置QoS策略保证核心应用性能不受影响。


11、存储虚拟化实现分散存储系统的整合安全吗?中小企业有用吗?

潘延晟:

这个要看企业业务的规模了,如果业务量少,只有一,两套存储,也就暂时不用考虑整个了,逐步随着业务增加,会慢慢面对设备和存储的增加,那时候再看所有业务的架构如何。

Cid:

首先,存储虚拟化已经是10年以上很成熟的技术,各个主流厂商也均有自己的存储虚拟化技术,不用过于担心其技术的成熟性和安全性;

对于中小企业也是有用武之地的,以我的经验很多中小企业在新购存储的时候均会面临老旧存储的处理问题,大多场景新购存储的时候老存储会继续降级使用,那么不妨在新购存储的时候考虑使用带有存储虚拟化功能的存储,将老存储进行虚拟化利用起来,可以与新购存储容量形成统一的资源池,同时也可降低数据迁移的难度。

donghuayi:

这个要看企业的具体情况,如果本身就已经有了相当数量的中低端存储设备,那么可以考虑通过存储虚拟化技术打造存储资源池,可以提高单个存储设备的安全性,并提高存储设备的资源利用率。


12、存储虚拟化和存储整合会不会出现把鸡蛋都放在一个篮子里的问题,有什么好解决方法和建议么?

潘延晟:

其实这个问题要辩证的去看,数据不同于鸡蛋数据要求完整性,放在一个篮子里风险高,放在不通的篮子里风险同样高,与其对很多个小篮子做保护,不如把数据集中,加强对这一个大篮子的保护

Cid:

这是一个很好的问题,潘工(潘延晟)的回答也十分形象和贴切,实际应用中确实存在这样的情况。

进行存储虚拟化以后有很多客户会担心将所有的数据集中到一起,如果存储虚拟化层发生问题那么全部的存储数据均会受到破坏,是很恐怖的一件事情;

但是目前来看,存储虚拟化技术发展到今天,已经充分考虑到了这个风险,目前我们有多种方式可以对存储虚拟化层进行保护,如存储镜像卷,不同的存储虚拟化引擎分组,存储虚拟化引擎在线热备,存储双活等等技术;

而且对于那些万分担忧的客户,我们也在虚拟化层提供存储透写的功能(会牺牲一部分存储虚拟化层的性能和高级功能),透写的卷在存储虚拟化层发生故障时,可以通过手工操作的方式恢复为没有存储虚拟化层的架构且数据完整。

但以我个人的经验和建议,在部署了存储虚拟化技术的IT架构中,其数据的安全性要比多套存储独立使用的场景高得多,过度的担心是没有必要的。

邓毓:

1、整合时通过IMAGE方式去做,后端存储脱离了存储虚拟化网关也能独立挂载给操作系统,以防虚拟化网关集群级、软件BUG风险。

2、多弄几个篮子,增加存储虚拟化网关的节点数,分散业务系统在不同的存储虚拟化网关节点。

3、存储虚拟化网关的灾备建设,在出现本地虚拟化网关集群BUG或者故障时,数据级容灾可以规避该风险。

4、数据备份是防范数据风险的最后一道防线。

chinesezzqiang:

感觉是个关于数据安全性的问题,无论是传统存储,sds还是虚拟化都存在同样的问题。这些仅仅是技术和性能的不同。

数据的备份依然很重要,时刻做好数据的备份,异地备份,云灾备都是可选方案。


13、企业中存储虚拟化的实质是什么?存储虚拟化其实是通过一个软件整体管理其它存储资源,那么问题出现了,多了一层管理,是不是会对性能有所损耗呢?如何克服这一点呢?

邓毓:

不会的,因为存储虚拟化本身不直接参与IO的物理落盘,也就是机械硬盘的读写过程,可理解为全部“虚拟化”操作基本都是在内存(缓存)中完成,时延相对物理落盘的物理机械寻址,差距太大,几乎可忽略。而且后端存储本身的控制器实际上也是有一些“虚拟化”的操作的,也在缓存中进行,增加了一层虚拟化网关,实际上,可理解为增加了一层缓存,实际对写IO性能是有些许提升的。简单的IO流转如下:

1 读IO过程:

传统存储和虚拟化网关:直接读后端存储,两者没性能差异

2 写IO过程:

传统存储:写传统存储控制器的缓存,返回主机,写IO周期完成,待控制器内缓存消耗达到高水位,一次性刷入后端存储磁盘阵列,对主机而言写IO周期也就是写控制器缓存的IO周期。

虚拟化网关:写存储虚拟化网关缓存,返回主机,写IO周期完成,待缓存消耗达到高水位,一次性刷入后端存储缓存,重复传统存储的写IO过程,对主机而言写IO周期也就是写虚拟化网关缓存的IO周期。

Cid:

首先目前绝大多数的SAN存储虚拟化技术也是基于存储引擎硬件来实现的,并不是通过单纯的软件实现;

其次,在存储虚拟化层均会有读写Cache,部署存储虚拟化技术以后,虚拟化引擎Cache增加了整体Cache的数量和命中,在绝大多数场景对性能是有提升的。

极端情况,若被虚拟化的后端存储性能极高,我们也可以通过设置直写模式来保证后端存储性能,对整体存储性能影响微乎其微。

chinesezzqiang:

首先存储虚拟化很多还是通过存储硬件本身实现,软件仅仅是参与管理,不参与io处理。

其次,软件层的损坏不会对业务数据造成影响,也可以通过软件多节点使管理层高可用

如有任何问题,可点击阅读原文到社区原文下交流


  推荐资料/文章:

欢迎关注社区 “存储虚拟化”技术主题,将会不断更新优质资料、文章。地址:

http://www.talkwithtrend.com/Topic/149


下载 twt 社区客户端 APP

与更多同行在一起

高手随时解答你的疑难问题

轻松订阅各领域技术主题

浏览下载最新文章资料


长按识别二维码即可下载

或到应用商店搜索“twt”


长按二维码关注公众号

*本公众号所发布内容仅代表作者观点,不代表社区立场

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存