查看原文
其他

争议 | 在虚拟化平台上搭建 RAC,RDM 裸磁盘映射和 VMFS 哪种方式更好?

twt社区 twt企业IT社区 2024-02-18

来自twt社区同行交流,欢迎更多同行参与交流

存储使用RDM裸磁盘映射方式还是使用VMFS方式,各自的优缺点有哪些?

若使用共享存储的虚拟化平台上搭建数据库rac,存储使用RDM裸磁盘映射方式还是使用VMFS方式,各自的优缺点有哪些

问题来自社区会员@wangdd 河北省人民医院 系统工程师,下文来自twt社区众多同行实践经验分享,欢迎大家参与交流,各抒己见。

* “争议”栏目内容来自同行分享的一手体验和观察,仅代表个人观点


@赵海 技术经理:

RDM: 裸磁盘方式,一般用于Oracle RAC的虚拟机场景。

VMFS:虚拟文件系统方式,可用于大部分的虚拟机磁盘场景。

在VMware的环境当中没什么要支持RDM方式呢?其实最主要的目的在于支持多虚拟机磁盘共享,而且对读写性能有要求的场景,例如Oracle RAC。如果用了这种方式,那么VMware本身的一些特性也就没了,比如说虚拟机的漂移,比如说对于磁盘IO的控制参数等。另外给云环境的运维带来很多麻烦,比如说批量的迁移碍于某台服务器上的RDM而没有办法批量执行迁移等等类似的事情。

一般情况下,我们在VMware平台上用虚拟机实现的一些业务场景,其实更多的还是考虑其灵活性及高可用性。如果从性能角度来考虑,就算我们用了RDM的方式,其实性能瓶颈还是有的,在于VM。所以如果是重量型OLTP业务,我们还是考虑物理机做资源池来支撑RAC的方式比较合理,哪怕是通过12C的方式去实现物理机组成的DB资源池。如果实在想把数据库搬运到VMware平台上的VM里,建议你选择一些不重要的,负载不是很高的,数据量不是很大的这类数据库,也不用做什么RAC。

如果是其他的业务场景,就更没必要用RDM方式去代替VMFS了。


@张鹏 中国金融电子化公司-中小金融机构灾备服务中心 高级技术主管:

有人认为RDM是直接从SAN上的LUN到映射到虚拟机上面,在一定程度可以提高性能,进而可以部署相对高IO的Database服务。但是实际上差别并不大。

而实际上RDM还是有一些局限的。

有两种类型的RDM:虚拟兼容模式RDM和物理兼容模式RDM。尤其是物理兼容模式RDM有一些相当重要的局限:例如:不能使用VMware快照 ,不支持VCB,因为VCB需要VMware快照 ,使用物理模式RDM不能克隆虚拟机, 在模板里使用物理模式RDM不能转换虚拟机 , 如果迁移包括复制磁盘,使用物理模式RDM不能迁移虚拟机 ,物理模式RDM不能使用VMotion功能 虚拟模式RDM能解决这样一些问题,允许将原始LUN看作虚拟磁盘,并能使用像VMotion、快照和克隆这样的功能。如果需要使用RDM,大多数情况下,虚拟模式RDM比较受欢迎。虚拟模式RDM能用于跨物理主机的V2V集群。不过注意,跨物理主机的P2V迁移需要使用物理模式RDM。


@zyp8365 广东省中医院 数据库管理员:

首先,个人不太建议在虚拟化平台搭建数据库rac。因为虚拟化平台是为充分利用服务器的计算和内存资源而提供的一种一虚多的云计算解决方案,能很好解决信息IT的烟囱式发展方式,数据库RAC最主要是实现如下两个目标:双机高可靠和业务负载均衡。虚拟化平台本身就是多台服务器组成的,本身就有HA的机制,另外虚拟化平台本身的虚机保护的方式有很多,如VMware的Ft(虽然有CPU限制),也有连续数据保护的机制如RP4VM,以及很多备份还原的途径和方式能实现高可靠,不需要依赖RAC的方式,如果想实实在在做容灾应该考虑dataguard的方式。

另外再说业务负载均衡,也更不应该在虚拟化平台来实现,RAC多虚一和虚拟化平台一虚多本身就是矛盾的,所以不建议这样操作,两台物理机去做更好。

而且还有一个比较重要的原因是Oracle数据库的RAC虽然理论上可以通过虚拟化平台来实现,但是不建议这样做,因为经过了一层虚拟化层,如果出问题不好排查,而且信息流非最优。回到楼主的问题,其实RDM和VMFS最重要的区别就是RDM是直通,而VMFS是经过虚拟化层,用的虚拟化平台的文件系统格式。

优缺点就是RDM的方式,数据直接到磁盘,路径最短速度更快,但是因为没有经过虚拟化平台,管理麻烦,用不到平台的一些高级功能,但是VMFS就是刚好相反,数据要通过虚拟化平台的解析后才到后端磁盘,所以路径更长速度相对慢,但是管理简单方便,能使用虚拟化平台对磁盘的一些高级功能。


@wuliangy 浙江省肿瘤医院 信息工程部工程师:

个人支持对虚拟化层上搭建RAC这种新方式进行探索。

在2019年以前,数据库rac的普遍搭建方式是物理机+光交+存储(双活)的方式,原因有几方面:

1、Oracle并不承认虚拟化上搭建的RAC,一旦出现问题,Oracle不提供服务

2、该模式已经过时间的检验,稳定可靠

3、虚拟化上搭建毕竟经过了一层虚拟化层,开销是个疑问

4、许多医疗机构可能使用的是小型机RAC,对于X86的信任度并没有这么的高

但是在进入2020年后,至少在浙江区域有越来越多的机构开始尝试虚拟化上搭建数据库了,甚至采用RAC over vSphere来做,原因如下:

1、2019年9月开始Oracle和VMware互认,400可以直接形成case了,从商务上得到了原厂的认可。

2、X86主机的性能、稳定性已经提高到了一个较高的级别,单机的计算性能就完全能承载大型机构的数据库压力。

3、许多大型医疗机构在HIS DB之外还有诸如LIS、EMR、PACS、集成平台等核心业务数据库,若数据库采用虚拟化部署则可以更高效利用硬件资源。

4、全闪存储,全闪超融合硬件的价格下降带来了很多的可能性,实测虚机RAC的IO和延时完全满足要求。

而回到主问题,RDM和VMFS的方式,对于虚拟化来说,一种是裸设备映射,存储路径短,更高效,一种是虚拟化的文件格式。但是如今的全闪存储在性能上已经达到较高水平,实测下来已无大区别,如若想要使用VM的特性的,那建议都用VMFS挂载,或者折中,数据库虚机使用RDM,最大程度利用性能,剩余存储资源则VMFS丢给虚拟化,高效利用。


@cpc1989 某保险公司 存储工程师:

个人看法是:大多数场景下,虚拟化平台的存储接入采用RDM和VMFS两种方式并没有明显的差异,但是VMFS与虚拟化平台更契合,而RDM也主要用于极个别需要做SAN裸盘映射的场景,而这种使用场景,本身的稳定性也欠佳。

在数据库RAC的部署的场景,从技术架构角度来看,物理机更适宜用于部署数据库rac,如果服务器计算资源富余,完全可以通过整合多个数据库的方式来达到资源有效利用的目的;虚拟化平台部署rac的方案,不契合虚拟化集群本身的高可用特性,从实践经验来看,在负载较高的情况下,系统稳定性还会下降 。如果负载不高,系统可用性要求不高,可以在虚拟化平台上部署单机+数据库备份或者单机+数据库复制,其他情况更推荐物理机部署方式。


@王巧雷 sino-bridge 系统工程师:

VMware目前支持vmfs和rdm两种通用模式,RDM还分虚拟兼容和物理兼容模式。

这几种模式的特点如下:

(点击图片可放大)

基于上面的说明以及一些项目经验,个人观点:

1. VMFS偏向VMware的角度,其可以覆盖大多数的场景,尤其是当前硬件性能过剩的情况下,VMFS方式可以最大化的利用VMware的所有高级特性,比如快照、vmotion等,这些可以带来很大的便利。

2. RDM更偏向存储的角度,也有其相应的适用场景,比如需要直接和存储交换的SAN管理主机,或者有特殊的SAN需求;需要使用基于存储的高级特性(快照、复制、克隆等);使用了npiv功能的虚拟化环境等等。

当然也有人说都这样了不如直接使用物理机,但是有些应用对计算资源没那么大,虚拟化就比较低成本了,也更好管理。对于计算和存储需求都特别高的应用,比如Oracle RAC,个人还是比较倾向使用物理机。还是看需求吧。


@hacmp 四川华信富恒 系统工程师:

我觉得看业务,实际上目前在虚拟化平台上运行的绝大部分都是轻量级的应用,就算是有不少数据库,IO也不会很高,VMFS完全可以满足,当然要合理规划好VMFS,数据库如果是核心的那么还是建议使用物理机来跑RAC,RDM确实有点尴尬,虽然相对VMFS来说性能会好,但是我接触到的用RDM的。

不多,做过存放图片的业务系统,几十TB,使用了RDM。


@刘东 东软集团 IT技术咨询顾问:

使用共享存储搭建的虚拟机化平台上部署数据库RAC,从技术角度上看,完全没有问题。但是从性能和管理方面来讲,不推荐这样做。如果一定使用虚拟化平台部署Oracle,建议只部署单机或者Oracle DG即可,因为Oracle RAC是一种群集和高可用技术,而虚拟化平台本身就具备HA,VMtion等高可用技术,有些冲突。

虽然虚拟化平台的高可用技术做不到RAC的那种故障无感知切换,但是如果使用虚拟化平台实现RAC,其实效果也并不好。

首先,从性能上讲,中间多了一个虚拟化层,无法全部发挥物理机的全部硬件性能,包括CPU性能和I/O性能都会受影响。其次,如果选择的两台虚拟机发生了漂移,同时在一台物理服务器上,这样部署的Oracle RAC并没有任何意义。因为一旦这个物理机发生故障,两个 RAC 节点会同时宕机,所以还不如部署单机,然后利用虚拟化平台的高可用技术提供服务,或者直接将RAC 部署在物理服务器上。

再说 RDM裸磁盘和VMFS。如果一定坚持使用虚拟化平台做RAC,个人建议 VMFS或虚拟RDM是一个比较好的选择,因为可以使用虚拟化平台的一个磁盘管理特性,例如快照和迁移等。如果直接使用物理RDM还不如不用虚拟化平台,直接使用物理机+SAN存储就好了,完全没有在虚拟化平台上部署的必要。既然在虚拟化平台上部署RAC就要充分利用虚拟化平台的特性。

另外,有条件的话最好将部署RAC的虚拟化平台硬件配置高一些,例如配置SSD硬盘和万兆核心网络,因为RAC和单机部署模式不同,RAC的群集节点之间会产生大量的数据交换和同步,如果没有万兆网络和SSD做支撑,很容易出问题,而且还会影响部署在虚拟化平台上的其他业务系统。这一点需要特别注意。

欢迎点击文末阅读原文到社区阅读和讨论交流,发表您的看法

觉得本文有用,请转发、点赞或点击在看,让更多同行看到


 资料/文章推荐:


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

https://www.talkwithtrend.com/Channel/179


下载 twt 社区客户端 APP


长按识别二维码即可下载

或到应用商店搜索“twt”


长按二维码关注公众号

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

继续滑动看下一个

争议 | 在虚拟化平台上搭建 RAC,RDM 裸磁盘映射和 VMFS 哪种方式更好?

twt社区 twt企业IT社区
向上滑动看下一个

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

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