若使用共享存储的虚拟化平台上搭建数据库rac,存储使用RDM裸磁盘映射方式还是使用VMFS方式,各自的优缺点有哪些
使用共享存储搭建的虚拟机化平台上部署数据库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做支撑,很容易出问题,而且还会影响部署在虚拟化平台上的其他业务系统。这一点需要特别注意。
有人认为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。