目录:
上
1.背景描述
2.存储规划设计的关键点
3.网络规划设计的关键点
中
4.操作系统层的关键优化项
5.配置集群层的关键点
6.安装集群时的关键点
下
7.数据库层的关键优化项
8.总结及展望
1.背景描述
数据库建设是每一个企业数据中心建设过程中非常重要的一个环节,直接关系到业务连续性和稳定性。但是我们在数据库建设过程当中却很少有可以遵循的实践标准。当我们面对整个建设项目的规划设计和配置优化的时候,又觉得无从下手。散落在官方网站上的一些知识点和经验点无法让我们快速形成一个具有很强逻辑性的参照标准。本文希望通过以下篇幅的总结和分析,从各个层面给予实践标准,为日后从事数据库建设的项目提供一个参考思路。
2.存储规划设计的关键点
2.1 OCR/VOTE磁盘的合理规划事项
什么是OCR/VOTE磁盘,它在集群中是什么样的角色呢?
ORACLE RAC ASM管理模式下,磁盘组通常有三个(+DATA,+FRA,+OCR),在OCR磁盘组当中所有的磁盘中存储的数据包括两部分,一部分是Vote File,另外一部分就是OCR(Oracle Cluster Registry)。Vote File是用来记录集群节点的磁盘心跳信息,而OCR是保存集群配置信息的数据。Vote File,以整个文件的方式存储在OCR磁盘上,不做任何条带。下图是其信息记录的一个说明:
以上是一个三节点的ORACLE RAC集群的Vote FIle的一个示意矩阵,每一行是一个节点的写入的信息,例如第一行,Instance1分别把其对集群中的三个成员(1、2、3)进行私网检测的结果写入到仲裁文件当中,Instance2、Instance3同样把其检测结果写入仲裁文件,最终组成了三个节点的仲裁矩阵。当私网发生故障而从网络上导致集群分割为几个孤岛子集的时候,集群是通过这个文件的信息来判断最后存活的节点。具体算法有两个非常重要的规则:
1. 保障隔离后的集群子集中节点数目最多的子集存活。
2. 当隔离后的集群子集获得的仲裁票数相等时,保障实例号小者存活。
对于Vote File本身的数目来讲,Oracle又有一个非常重要的规则:集群节点获得的Vote File数目小于N/2+1时,节点就会被集群驱逐出集群,N是Vote File的总数目。也就是说集群中所有节点获得的Vote File数目必须要大于等于N/2+1。
根据以上结果来看,对于VOTE磁盘组的规划,首先偶数个仲裁磁盘必然会造成一个浪费。那么我们就没有必要选择偶数仲裁磁盘。然后我们再考虑磁盘组磁盘的容错能力,为了保障我们至少有1份磁盘容错能力,我们的仲裁磁盘至少是3块儿。也就是说对于OCR磁盘组的规划来讲,至少保障其内有三个容错组,每一个容错组里面一块儿仲裁磁盘。
对于OCR来讲,它属于集群的资源注册信息,是集群运行的前提条件。所以一定要保障它的高可用性。由于它属于配置数据,那么一定会遵循ORACLE ASM的磁盘冗余策略(External、Normal、High)。也就是说OCR在OCR磁盘组里面可以拥有1份、2份、3份镜像。每份镜像的数据条带会落在一个独立的容错组里。
综上所述,对于OCR磁盘组的规划,为了保障仲裁盘的至少一份的容错能力以及OCR数据的高冗余策略,我们应该至少将磁盘组内规划为3个磁盘,每一个磁盘落在一个独立的容错组。磁盘大小建议为1GB以上(虽然OCR Device = 300M左右)。
2.2 存储外部冗余架构设计
首先一定要用多路径软件对Lun进行路径管理,并且保障链路切换策略为负载均衡模式。对于链路的数目来讲最佳为8条链路。而且需要保证这8条链路在光纤口、光纤卡、接入交换机、核心交换机、存储控制器5个层面上的冗余。例如2张双口光纤卡,每个光纤卡通过各自接入交换机连接到不同的两个核心交换机上,核心交换机又分别与两个存储控制器的前端口相连接。在光纤交换机的zone配置里,每一个主机光纤口wwn和存储的一个前端口wwn配置在一个zone里面,端口比例为1:2,总共有8个zone。用示意图的方式表示如下:
2.3 NFS架构的存储配置参数
Orace RAC的ASM磁盘可以是网络存储架构实现的Lun,当然我们也可以利用文件系统或者裸盘作为数据库的存储资源。但是在挂载NFS卷的时候,有若干参数是值得我们注意的。
1)Hard/soft:当应用进程发送一个请求,Hard情况下,客户端遇到错误不会立即通知应用,而是在后台进行重试直到正常,这会导致应用进程的阻塞;Soft情况下,客户端会立刻通知应用导致应用挂起。从这个意义上来讲,Sof