说说虚拟化上部署Oracle RAC的那点注意事项

0.概述

目前在虚拟化上部署RAC主要是以下3个场景
1是VMWARE的虚拟化(私有云);
2是国产厂商基于KVM的虚拟化(私有云);
3是公有云,由云厂商给你提供虚拟主机和虚拟磁盘。
这里我只对前2个熟悉一些,第3个我就不讲了,因为你也没啥太多可调整的空间,资源都是云厂商给你固定好的,就不要谈啥性能了。

1.vmware虚拟化上搭建RAC

CPU

CPU内存上来说,就是做好资源保障,尽量把份额调到最高。配置好预留主频大小。

内存

做到分配的内存大小=预留内存大小。

网络

使用空余的网络,单独配置1个交换机,用于RAC之间走心跳。

磁盘

可以择的是使用裸磁盘直接挂RDM给虚拟机或者是配置厚置备置零的磁盘做为ASM磁盘。
我下面的例子是用了厚置备备置零的磁盘(创建起来比较慢,因为需要分配完全的空间,但是性能最好,相比RDM稍微逊色一些)。
首先是可以编辑两台虚拟机配置高级参数,增加disk.EnableUUID=true让虚拟VMDK可以在系统里显示scsi_id。不改这个的话,用UDEV绑定SCSI_ID这种就没法操作了,因为执行

/usr/lib/udev/scsi_id -g -u -d  /dev/sdc

会获取不到值。
 

image.png


 

image.png


另1个需要注意的是,磁盘的“共享”要改为“多写入器”,且磁盘要为“独立-持久”不受快照影响。
磁盘的SCSI控制器建议是不使用默认的0,从scsi1:0开始分配磁盘。

image.png

2.是国产厂商虚基于KVM的虚拟化

这里我以H3C的虚拟化平台为例(其它几家大厂华为、深信服、浪潮的原理基本相似都是KVM)。

CPU

配置好预留主频大小,调度优先级调到高,CPU工作模式可以选为直通。
一般整机还有个单独的选项,把IO优先级调到最高。

内存

做到分配的内存大小=预留内存大小,调度优先级调到高。

网络

使用空余的网络,单独配置1个交换机,用于RAC之间走心跳,使用高速网卡。

存储

华三的官方建议是让你使用裸设备,不使用厚置备RAW虚拟磁盘。
据他们400反馈,实验室测试结果是使用裸设备,要比直接使用RAW这种厚置备性能上提升10-30%左右(华为的我也问过,也是让你直接用裸磁盘来做)。
裸盘需要在每台物理机上创建(这样方便以后RAC节点HA,当然也可以只配置所在的物理机)
在存储池界面,点添加
 

image.png


类型选择FC网络存储,并输入显示的名(建议与存储端的LUN名称对应,方便维护)
 

image.png


选中LUN的WWN,点增加,最后点完成,创建成功
 

image.png


 

image.png


他们的官方文档是建议你用ASMLIB来绑定磁盘,因为默认磁盘没有唯一标识,两个RAC节点识别到的磁盘序列号不一致。
后来沟通的结果是,也可以通过修改裸磁盘的序列号Serial,来绑定唯一值(关机修改,再开机,这点比公有云好,使用公有云做RAC的话,估计你只能用ASMLIB/RAW/或者UDEV直接绑分区名)。
这样的话,你就可以用UDEV绑定ATTR{serial}来实现磁盘绑定,替代ASMLIB。
其实你能配置明白的话,ASMLIB和UDEV都没啥毛病。
 

微信截图_20240407163936.png


修改之后可以查看两个节点的/dev/disk/by-id来确认,对应的值

微信截图_20240407164753.png

微信截图_20240407164804.png

总结

我还是不建议在虚拟化上跑RAC的,真有数据库的需求,搞几台物理机跑多好。
如果费用有限且负载不是很高的系统,可以这么部署,毕竟各家的都有亲自下场认证的,稳定性可以不用怀疑。
但是虚拟化这边资源控制不做好,是真的会影响运行情况。
比如有的小伙伴就反馈了,公有云上的RAC性能不稳定,服务商也不会承认他们的存储性能有问题(云厂商用的都是分布式存储块,你说没有延迟鬼才信,跑虚拟机没事,跑数据库那高并发上来肯定有影响)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/599400.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:MySQL的事务概念与使用(四)

1、事务的概念 定义:事务是构成单一逻辑工作单元的操作集合,要么完整的执行,要么完全不执行。无论发生何种情况,DBS必须保证事务能正确、完整的执行。 性质:事务的四大ACID性质。 原子性(Atomicity):一个事…

YOLOV8 + 双目测距

YOLOV8 双目测距 1. 环境配置2. 测距流程和原理2.1 测距流程2.2 测距原理 3. 代码部分解析3.1 相机参数stereoconfig.py3.2 测距部分3.3 主代码yolov8-stereo.py 4. 实验结果4.1 测距4.2 测距跟踪4.3 测距跟踪分割4.4 视频展示 相关文章 1. YOLOv5双目测距(python&…

qt环境搭建-镜像源安装Qt Creator(5.15.2)以及配置环境变量

前言: 版本:5.15.2 镜像源:ustc与清华 纯小白,找了半天的镜像源安装qtcreator,搞了半天结果安装的是最新的,太新的对小白很不友好,bug比较多,支持的系统也不全,口碑不…

华为海思2024春招数字芯片岗机试题(共9套)

huawei海思2024春招数字芯片岗机试题(共9套)(WX:didadidadidida313,加我备注:CSDN huawei数字题目,谢绝白嫖哈) 题目包含数字集成电路、System Verilog、Verilog2001、半导体制造技术、高级ASIC芯片综合、…

Python | Leetcode Python题解之第15题三数之和

题目: 题解: class Solution:def threeSum(self, nums: List[int]) -> List[List[int]]:n len(nums)nums.sort()ans list()# 枚举 afor first in range(n):# 需要和上一次枚举的数不相同if first > 0 and nums[first] nums[first - 1]:continu…

开启Java之旅——用Java实现简易的图书管理系统(24.4.7)

图书管理系统 一、设计思路 1、首先需要区分两类人,图书管理员和借书用户,不同的用户要展现不同的界面,利用继承和多态可以将其实现。 2、要将不同的操作封装起来,单独设计成为一个类,为了规范实现,需要…

解决前端精度丢失问题:后端Long类型到前端的处理策略

在Web开发中,我们经常遇到前后端数据类型不匹配的问题,特别是当后端使用大数据类型如Long时,前端由于JavaScript的数字精度限制,可能导致精度丢失。本文将深入探讨这个问题,并提供两种有效的解决方法。 一、问题背景 …

汇编基础----mov基本操作

汇编基础----mov基本操作 下载VS2022 这个网上教程很多,自行下载安装即可 新建项目 选择空项目,如何点击下一步 在源文件下创建这二个文件 修改配置使asm文件能被解析,右击项目名(demo)->生成依赖项->生成自定义->勾选如下图所示选项->确定 立即数寻址 main…

Linux--APP打开的文件在内核中如何表示

当用户在程序中使用了glibc库提供的文件操作函数open()、read()等访问文件时,这些函数会调用相应的系统调用来实际执行文件操作,并返回一个整数即文件句柄,文件句柄实际上是对应的 struct file …

PHP 中的 $2y$10,PHP 字符串加密函数 password_hash

PHP 用户密码加密函数 password_hash 自PHP5.5.0之后,新增加了密码散列算法函数(password_hash),password_hash() 使用足够强度的单向散列算法创建密码的散列 Hash。 password_hash() 兼容 crypt()。 所以, crypt() 创建的密码散列也可用于 …

畅捷通TPlus 存在KeyInfoList.aspx SQL注入漏洞

声明: 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 简介 畅捷通T专属云适用于需要一体化管理的企业&#xf…

Python+Vuecil笔记

Nginx 进入目录: C:\nginx-1.20.2\nginx-1.20.2 start nginx 开始 nginx -s stop 停止 nginx -s quit 退出CSS 通过标签去写css 循环展示数据 JS 点击时执行事件 Django 配置media 在seetings里面修改 STATIC_URL /static/ MEDIA_URL /upload/ MEDIA_ROOT os.pat…