在vmware下为oracle RAC 创建共享存储的总结
首先,介绍下用命令行vm-diskmanager形式创建磁盘文件的方法(其实,图形界面添加新磁盘就是调用此命令)。
很多网上文章提及plainmaker.exe去创建共享磁盘,是以前的版本,新版本使用vm-diskmanager。 命令行下进行目录 E:\Program Files\VMware\VMware GSX Server使用vmware-vdiskmanager创建共
享磁盘。例如: E:\Program Files\VMware\VMware GSX Server>vmware-vdiskmanager -c -s 4Gb -a lsilogic -t 1 "E:\LinuxRacShareDisk\LinuxShareDisk.vmdk"
Using log file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\vdiskmanager.log Creating a split disk 'E:\LinuxRacShareDisk\LinuxShareDisk.vmdk' Virtual disk creation successful.
实际使用中,发现共享磁盘极不稳定,复制文件会突然关机,后重新创建,仍然如此。试了不少 次,这里列出最后创建语句,也许是运气吧,一直比较稳定:
E:\Program Files\VMware\VMware GSX Server>vmware-vdiskmanager -c -s 1Gb -a lsilogic -t 2 "E:\VMDISK\LinuxShareDisk.vmdk"
Using log file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\vdiskmanager.log Creating monolithic preallocated disk 'E:\VMDISK\LinuxShareDisk.vmdk' Create: 100% done. Virtual disk creation successful.
笔者认为,在虚拟机硬盘的设置中,“动态增加大小”和“分割成小文件”两个选项不仅降低了性能,也 是系统很不稳定的重要因素。推荐不要使用!
命令的具体参数含义,可以输入vmware-vdiskmanager详细查看,不再说明。 共享磁盘创建后,需要将它分别添加到两台节点机上。
1. 如果是用上述的命令创建出磁盘文件后,只要在RAC下的两个虚拟机vmx格式的配置文件里(可以在任意行)都添加如下信息即可创建出共享磁盘: diskLib.dataCacheMaxSize=0 diskLib.dataCacheMaxReadAheadSize=0 diskLib.dataCacheMinReadAheadSize=0 diskLib.dataCachePageSize=4096 diskLib.maxUnsyncedWrites = "0"
disk.locking = "FALSE" scsi1.sharedBus = "virtual" scsi1.present = "TRUE" scsi1.virtualDev = "lsilogic"
scsi1:0.mode = "independent-persistent" scsi1:0.deviceType = "disk" scsi1:0.present = "TRUE" scsi1:0.fileName = "E:\VMDISK\RACDATA.vmdk"
E:\VMDISK\RACDATA.vmdk即创建的共享磁盘文件。
原英文如下:
# # ---------------------------------------------------------------- # SHARED DISK SECTION - (BEGIN) # ---------------------------------------------------------------- # - The goal in meeting the hardware requirements is to have a # shared storage for the two nodes. The way to achieve this in # VMware is the creation of a NEW SCSI BUS. It has to be of # type "virtual" and we must have the disk.locking = "false" # option. # - Just dataCacheMaxSize = "0" should be sufficient with the # diskLib.* parameters, although I include all parameters for # documentation purposes. # - maxUnsyncedWrites should matter for sparse disks only, and # I certainly do not recommend using sparse disks for # clustering. # - dataCacheMaxSize=0 should disable cache size completely, so # other three dataCache options should do nothing (no harm, # but nothing good either). # ---------------------------------------------------------------- #
diskLib.dataCacheMaxSize = "0" diskLib.dataCacheMaxReadAheadSize = "0" diskLib.dataCacheMinReadAheadSize = "0" diskLib.dataCachePageSize = "4096" diskLib.maxUnsyncedWrites = "0"
disk.locking = "false"
# ---------------------------------------------------------------- # Create one HBA # ----------------------------------------------------------------
scsi1.present = "TRUE" scsi1.sharedBus = "virtual" scsi1.virtualDev = "lsilogic"
# ---------------------------------------------------------------- # Create virtual SCSI disks on single HBA # ----------------------------------------------------------------
scsi1:0.present = "TRUE" scsi1:0.fileName = "M:\My Virtual Machines\Workstation 5.5.3\vmlinux1\Disk1.vmdk" scsi1:0.redo = "" scsi1:0.mode = "independent-persistent" scsi1:0.deviceType = "disk"
2. 如果不是命令来创建磁盘文件,而是通过图形界面的操作来添加共享磁盘时(即在一个虚拟机上添加磁盘时选“创建一个新磁盘”,而在另一个虚拟机上添加磁盘时选“选择已有的磁盘”(这个已有的磁盘就是刚才上一个虚拟机创建出来的新磁盘)),只会在vmk配置文件里自动添加如下信息:
scsi1.sharedBus = "virtual" scsi1.present = "TRUE" scsi1.virtualDev = "lsilogic"
scsi1:0.mode = "independent-persistent" scsi1:0.deviceType = "disk" scsi1:0.present = "TRUE" scsi1:0.fileName = "E:\VMDISK\RACDATA.vmdk"
而如下信息,还是得手动添加的:
diskLib.dataCacheMaxSize=0 diskLib.dataCacheMaxReadAheadSize=0 diskLib.dataCacheMinReadAheadSize=0 diskLib.dataCachePageSize=4096 diskLib.maxUnsyncedWrites = "0"
disk.locking = "FALSE"
才能完成创建共享磁盘的整个过程。
注意:最好采用先图形界面添加共享磁盘后再在vmk配置文件里添加一些信息的方法,比较可靠。因为例如笔者自己的虚拟机上装上的操作系统是win 2008 server,用通过图形界面来添加磁盘时,在vmk配置文件里的scsi1.virtualDev = "lsisas1068",而非scsi1.virtualDev = "lsilogic"。笔者改为scsi1.virtualDev = "lsilogic"启动虚拟机后,操作系统竟然出现重装系统的界面。这个说明scsi1.virtualDev 的值与虚拟机安装的操作系统有关。
下面解释下面语句的意思:
scsi1.present = "TRUE" //打开 scsi1上的使用 scsi1.virtualDev = "lsilogic" //磁盘控制器设置成lsilogic scsi1.sharedBus = "virtual" //将scsi1总线设置为共享
这段是打开 scsi1总线上的使用,并且设置成virtual, controller设置成lsilogic 。
disk.locking = "false" //否则,启动虚拟机操作系统时会提示磁盘被锁定 diskLib.dataCacheMaxSize = "0" diskLib.dataCacheMaxReadAheadSize = "0" diskLib.DataCacheMinReadAheadSize = "0" diskLib.dataCachePageSize = "4096" diskLib.maxUnsyncedWrites = "0"
这段是对vmware使用共享硬盘的方式进行定义。
如何测试共享存储是否成功?
只要在一个节点上对共享存储的某块磁盘进行分区操作,则在另一个节点上就可以立刻看到。或者反过来,将共享存储上的某一个分区删除,另一个节点也可以立马看到。这个就可以说明共享存储的设置是正确的。但是不是说在一个节点上新建了文件放在共享存储上,另外一个节点就能立马看到的,除非比如在windows系统下进入磁盘管理,对共享的磁盘进行脱机再联机的操作,才可以看到刚才另一个节点上新建的文件。
注意:在windows系统下,只要进入“磁盘管理”界面就可查看磁盘分区的情况;在linux下,用命令fdisk -l即可查看。
VMWare WorkStation 是可以使用共享磁盘的,至于启动提示Clustering is not Supported for VMWare WorkStation,完全可以忽略之。
在vmware下为oracle RAC 创建共享存储的总结的更多相关文章
- Oracle RAC 创建实例出错(非+DATA目录)的简单处理
今天进行oracle的rac测试 发现开发同事没有写好 oracle rac的设置. 创建完之后就会报错了 因为自己对oracle 的RAC 不太熟悉 不太会用.. 所以用 一个比较简单的办法. a ...
- vbox下创建共享存储
1.创建共享盘VBoxManage.exe createhd -filename D:\VM\linux01\ocr_vote.vdi -size 2048 -format VDI -variant ...
- Oracle Rac创建表空间及用户
1. 创建表空间: BEGIN DECLARE cnt integer := 0; BEGIN SELECT 1 INTO cnt FROM dual WHERE exists(SELECT * FR ...
- vmware station中 UDEV 无法获取共享存储磁盘的UUID,症状: scsi_id -g -u -d /dev/sdb 无返回结果。
1.确认在所有RAC节点上已经安装了必要的UDEV包 [root@11gnode1 ~]# rpm -qa|grep udevsystem-config-printer-udev-1.1.16-25. ...
- Oracle RAC + ASM + Grid安装
(一)环境准备 主机操作系统 windows10 虚拟机平台 vmware workstation 12 虚拟机操作系统 redhat 5.5 x86(32位) :Linux.5.5.for.x86. ...
- oracle rac搭建
(一)环境准备 主机操作系统 windows10 虚拟机平台 vmware workstation 12 虚拟机操作系统 redhat 5.5 x86(32位) :Linux.5.5.for.x86. ...
- Oracle RAC学习笔记:基本概念及入门
Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章] oracle 10g real applica ...
- Oracle RAC 更换存储实验
实验环境准备: RHEL 6.5 + Oracle 11.2.0.4 RAC (2nodes) OCR和Voting Disk使用的是OCR1磁盘组,底层对应3个1G大小的共享LUN,一般冗余: DA ...
- Oracle RAC(Real Application Clusters)
Oracle RAC 运行于集群之上,为 Oracle 数据库提供了最高级别的可用性.可伸缩性和低成本计算能力.如果集群内的一个节点发生故障,Oracle 将可以继续在其余的节点上运行.Oracle ...
随机推荐
- EMC存储划分lun过程
下图是EMC存储系统示意图: 若将lun打散重建,需按以下步骤进行: 1. 在Storage Groups上点右键选择Select Luns,在打开的窗口中,将右边Selected Lun项下的lun ...
- 粘性固定属性 -- position:sticky
概述 position: sticky,这是一个比较容易忽略的css3 position 新属性,它的作用即为实现粘性布局,它是 relative 与 fixed 的结合. 用法 默认情况下,其表现为 ...
- TFS源代码管理工具:
源代码管理: 先获取最新版本,再签入.如发现错误,可以点击--源代码管理--获取特定版本撤回修改 1.签入:(要备注,测试通过后签入) 敏捷开发:(小步快跑):小部分功能开发完成测试通过后就签入 全部 ...
- 微信小程序分享朋友圈的实现思路与解决办法
实现思路 那么既然小程序没有分享到朋友圈的api,我们怎么实现分享到朋友圈呢,下面我介绍一下实现思路. 既然没有捷径,那就走复杂一点的路线,那就是需要用户手动分享到朋友圈,问题又来了,用户手动分享的话 ...
- 一个基于React整套技术栈+Node.js的前端页面制作工具
pagemaker是一个前端页面制作工具,方便产品,运营和视觉的同学迅速开发简单的前端页面,从而可以解放前端同学的工作量.此项目创意来自网易乐得内部项目nfop中的pagemaker项目.原来项目的前 ...
- (转)Django学习之 第二章:Django快速上手
安装Python 安装Django非常容易.因为Django可以运行在任何可以运行Python的环境中,所以可以以多种方式进行配置. 在本章我们将尝试覆盖几种常见的Django安装场景. Djang ...
- javascript中封装获取样式属性值的兼容方法
function getStyle(obj, attr) { if (window.getComputedStyle) { return window.getComputedStyle(obj, nu ...
- Codeforces 993C. Careful Maneuvering(详细注解)
解题思路 -100和+100是没有用的,只要知道左边的飞船轴和右边的飞船轴离y轴一样近即可.为简单起见,我们将左边的轴设为-1,右边的设为1. 某个点能摧毁的飞船一定是因为有两个飞船关于这个点对称.即 ...
- ScrollView和ListView滑动冲突问题
1.在ScrollView里面嵌套ListView时,ListView的滑动事件无法响应. 先看下事件分发的过程: 由父View层的 onInterceptTouchEvent 到中间层的on ...
- java 遍历list 模糊查询用
java 遍历list 模糊查询用 /** * 筛选list * @param list 要筛选的list * @param key 筛选的key * @param <T> * @retu ...