若使用共享存储的虚拟化平台上搭建数据库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做支撑,很容易出问题,而且还会影响部署在虚拟化平台上的其他业务系统。这一点需要特别注意。