在vSphere 6.x vSAN数据存储上使用Oracle RAC(2121181)
https://kb.vmware.com/s/article/2121181
最近更新时间: 12/11/2019分类:信息性
10
订阅
目的
与VMFS和NFS数据存储一样,VMware vSAN可以防止多个虚拟机以读写模式打开同一虚拟磁盘(VMDK)。这是为了保护虚拟磁盘上存储的数据免受大多数来宾OS使用的非群集感知文件系统上的多个写入器造成的损坏。
为了启用来宾系统,利用具有分布式写(多写)功能的群集感知文件系统,我们必须为所有适用的虚拟机和VMDK明确启用多写器支持。
本文概述了创建驻留在VMware vSAN上的可共享VMDK并启用多写入器模式的过程。这将允许多个VM以读写模式访问相同的VMDK,从而可以使用来宾内共享存储群集解决方案,例如Oracle RAC。
警告:不要没有任何虚拟机/ VMDK组合实现多作家模式,除非客人能够放心地仲裁和协调多个系统使用同一个存储。对不使用客户机中支持群集的文件系统的磁盘启用多写入器模式将导致数据损坏。
注意:启用多写入器模式将删除对某些虚拟机操作和vSphere功能的支持。启用多写入器模式时,请参考此矩阵以了解操作/功能的支持性:
受支持和不受支持的操作或功能
动作或功能 | 支持的 | 不支援 | 笔记 |
打开,关闭电源,然后重新启动虚拟机 | √ |
|
|
挂起VM |
| × |
|
热添加虚拟磁盘 | √ |
| 仅适用于现有适配器 |
热移除设备 | √ |
|
|
热扩展虚拟磁盘 |
| × |
|
连接和断开设备 | √ |
|
|
快照 |
| × | 虚拟备份解决方案通过vStorage API利用快照。例如,VMware Data Recovery,vSphere Data Protection。这些也不被支持。 |
具有独立永久磁盘的VM的快照 | √ |
| 仅共享磁盘需要处于独立永久模式 |
克隆 |
| × |
|
存储vMotion |
| × |
|
变更区块追踪(CBT) |
| × |
|
vSphere Flash读取缓存(vFRC) |
| × | 过时的写入可能导致数据丢失和/或损坏 |
vMotion | √ |
| 仅支持ORAC,仅限8个ESX / ESXi主机 |
虚拟用例:
- Oracle RAC,其中应用程序确保来自两个或多个不同虚拟机的写入不会导致数据丢失
- 从vSphere 6.x版本开始,此配置已经过测试并受支持。
- vSAN 6.5和更高版本中的vSAN iSCSI Target支持虚拟化的Oracle RAC。对于在vSAN群集上部署的Oracle RAC VM,建议使用vSAN本机解决方案。对于在非vSAN群集上运行的Oracle RAC VM,可以在Oracle RAC VM中配置iSCSI启动器以使用vSAN iSCSI目标中的存储
限制和要求:
- 由于VMware vSAN不支持原始设备映射(RDM),因此本文档仅适用于vSAN数据存储上的虚拟磁盘。
- vSAN仅从vSAN版本6.7 U3支持SCSI-3永久保留。早期版本的vSAN不支持SCSI-3持久保留。但是,Oracle集群件不使用SCSI3-PR进行IO防护,因此应使用使用多写入器模式的基于主机的防护来代替基于存储的防护。
- 在vSAN 6.7 Patch 01之前,使用多写入器模式,虚拟磁盘必须预先设置为零厚(EZT)。在vSAN上创建EZT磁盘时,该磁盘不会自动归零。如果需要清零,则必须使用vmkfstools -w 命令将所有块清零。有关更多信息,请参见虚拟机无法启动,并显示以下错误:不能在多写入器模式下打开Thin / TBZ磁盘。VMware ESX无法打开虚拟磁盘进行群集。(1033570)。
- 从VMware vSAN 6.7修补程序01开始,vSAN上的Oracle RAC不需要为共享VMDK设置“急切零厚”(OSR = 100)才能启用多写入器模式。可以对共享VMDK进行精简配置(OSR = 0),以启用多写入器模式。对于要迁移到此vSAN 6.7 Patch 01 vSAN版本或更高版本的现有Oracle RAC部署,可以使用SPBM(基于存储策略的管理)将现有存储策略从OSR = 100更改为OSR = 0(如果需要,反之亦然)。这是一个在线更改,不需要停机。
- 热添加虚拟磁盘将删除“多写程序标志”。有关更多信息,请参阅在ESXi 5.5中热添加虚拟磁盘会删除多写入器标志(2078540)
- 多写入器磁盘共享受到基础文件系统对并发锁定支持的限制。最多8个设备可以同时共享锁。从vSphere 6.7 Update 1开始,此限制已删除。请参阅以下注释中有关基于生成的锁定的详细信息。
注意事项:
使用Multi-Writer标志,最多8个Oracle RAC来宾可以同时共享一个磁盘对象。VMware建议使用反关联性规则来防止参与同一RAC群集的多个Oracle RAC来宾驻留在同一ESXi主机上。但是,从vSphere 6.7 Update 1版本开始,多写入器中的虚拟磁盘共享支持已扩展到8台以上的主机。“这也适用于VMFS5 / VMFS6。”要启用此功能,您需要启用/ VMFS3 / GBLAllowMW高级配置选项,如下所示:
登录ESXi主机并执行以下命令:
#esxcli系统设置高级设置- i 1 -o / VMFS3 / GBLAllowMW
在原始设备映射(RDM)磁盘之类的共享环境中,不能对多于8个ESXi主机上的虚拟机使用多写锁。如果将虚拟机迁移到第九个主机,则该虚拟机可能无法打开,并显示错误消息“无法打开xxxx.vmdk或它所依赖的快照之一”。(用户太多)。此修复程序使高级配置选项/ VMFS3 / GBLAllowMW可见。您可以使用基于世代的锁定,为8个以上的主机手动启用或禁用多写入器锁定。此版本已解决此问题。有关更多详细信息,请参见VMware知识库文章1034165。
物理用例:
vSAN 6.5和更高版本提供对vSAN iSCSI Targets功能的支持,该功能将基于vSAN的存储作为iSCSI LUN呈现给iSCSI启动器。
如果在Oracle RAC物理机中配置了iSCSI启动器,则它们可以共享从vSAN 6.5和更高版本提供的iSCSI LUN。
有关配置vSAN iSCSI Target的说明,请参考vSAN 6.5文档。
使用多写入器标志(1034165)启用或禁用VMFS提供的同时写保护
: https : //kb.vmware.com/s/article/1034165
解析度
总览
在创建时,每个RAC集群在vSAN数据存储上配置Oracle RAC集群的过程需要完成一次。这需要执行以下步骤:
- 创建将应用于将用作群集共享存储的虚拟磁盘的VM存储策略。
- 在vSAN 6.7 Patch 01之前,需要以急切归零模式创建共享虚拟磁盘。启动VMware vSAN 6.7 Patch 01时,对于多写入器属性,共享磁盘不必急切为零厚度(EZT)。
- 将共享磁盘附加到一个或多个VM
- 为VM和磁盘启用多写入器模式。
- 将虚拟机存储策略应用于共享磁盘。
创建虚拟机存储策略
根据您的虚拟机设计规范,您将需要定义将应用于RAC共享磁盘的VM存储策略。
vSAN 6.7修补程序01及更高版本的示例存储策略:可以精简配置具有多写入器属性的共享vmdks(OSR = 0%)
vSAN 6.7 P01之前的示例存储策略:必须对具有multiwriter属性的共享vmdks进行严格配置(OSR = 100 %)
注意:
- 在此示例中,我们将虚拟机存储策略命名为“ RAC”
- 对象空间保留:100%,可在磁盘上预分配所有对象的组件。仅vSAN 6.7补丁01的先前版本才需要
- 从vSAN 6.7补丁01开始,可以将共享磁盘的对象空间预留(OSR)设置为0%
- 允许的故障数量:默认值为1,它将在另一个vSAN节点上提供镜像副本。这样可提供RAID 1保护,以防止主机/硬件组件发生故障。如对话框所示,这将占用vSAN数据存储上的存储空间的两倍。
- 每个对象的磁盘带区数:默认vSAN策略为1。为此策略选择所需的带区宽度。这类似于RAID0。在此示例中,我们使用的值为2。
有关存储策略配置选项的更多信息,请参见VMware vSAN文档。
将存储控制器添加到Oracle RAC VM
注意:在每个Oracle RAC虚拟机上创建相同类型和相同位置(SCSI地址)的控制器。
- 在vSphere Web Client中右键单击虚拟机,然后选择“ 编辑设置”。
- 在后续窗口的底部,从“ 新设备:”下拉菜单中选择“ SCSI控制器”,然后单击“ 添加”。
- 展开“ 新SCSI控制器”条目。
- 将总线共享模式保留为None,然后选择所需的类型(LSI Parallel或LSI SAS或Paravirtual)。
注意:对于RAC共享磁盘,通常建议使用准虚拟控制器类型。
- 点击确定
- 在其余的RAC VM上重复此过程。
对于VMware vSAN 6.7 P01和更高版本:
以前的VMware vSAN 6.7 P01 vSAN上的Oracle RAC要求对共享VMDK进行预先置零(OSR = 100)才能启用多写入器模式。在vSAN上启动VMware vSAN 6.7 P01 Oracle RAC不需要将共享的VMDK预先置为零厚(OSR = 100)即可启用多写入器模式。
在第一个虚拟机上创建共享磁盘
要使用vSphere Web Client在第一个虚拟机上创建共享磁盘,请遵循vSphere版本6.5部分中显示的步骤。
从vSAN 6.7补丁01开始,唯一的变化是共享的vmdk不必急于零厚度(EZT)。您可以在OSR设置为Thin Provisioning的情况下选择存储策略。
其余步骤与“ vSphere 6.5或更高版本,但低于vSAN 6.7 Patch 01”部分中所述的相同。
对于所有vSAN 6.5和更高版本,但低于vSAN 6.7 P01:
在第一个虚拟机上创建共享磁盘
从vSphere版本6.5开始,vSphere Web Client可以选择在vSAN数据存储上创建急切归零的密集(EZT)磁盘。
注意:应将虚拟磁盘添加到每个虚拟机上的相同SCSI位置。如果磁盘在一个虚拟机上位于位置1:0,则它应该在Oracle RAC中的所有虚拟机上位于位置1:0。
使用vSphere Web Client要使用vSphere Web Client
在第一台虚拟机上创建共享磁盘,请执行以下操作:
- 右键单击适当的虚拟机,然后选择“ 编辑设置”。
- 从“ 新设备” 下拉菜单中选择“ 新硬盘”,然后单击“ 添加”。
- 展开“ 新硬盘” 条目,然后在“ 磁盘配置”下拉菜单中选择“将配置快速置零”。
- 在共享 下拉菜单中,选择 多功能刻录机 选项。
- 将磁盘模式更改 为 独立持久。
注意:虽然启用“多写程序”选项不是强制性的“永久磁盘”模式,但是,当拍摄虚拟机快照时,默认的“从属磁盘”模式将导致无法快照共享磁盘错误。使用独立永久磁盘模式将允许对OS磁盘进行快照,而共享磁盘则需要由第三方供应商软件单独备份。
- 适当修改 虚拟设备节点。
- 单击 确定 保存更改。
- (可选)由于在vSAN上创建的EZT磁盘不会自动归零,因此,如果需要归零,则必须使用命令“ vmkfstools -w <path-to-vmdk>”将所有块归零。在清零期间,请注意vSAN上的其他IO工作负载。
- 对其余共享磁盘重复此过程。
将共享磁盘
添加到一个或多个虚拟机使用vSphere Web Client将共享磁盘添加到一个或多个虚拟机:
- 右键单击适当的虚拟机,然后选择“ 编辑设置”。
- 从“ 新设备” 下拉菜单中选择“ 现有硬盘”,然后单击“ 添加”。
- 导航到适用的目录,然后选择磁盘。
- 单击 确定。
- 展开“ 新硬盘” 条目,然后根据需要修改“ 虚拟设备节点”。
- 在共享 下拉菜单中,选择 多功能刻录机 选项。
- 将磁盘模式更改 为 独立持久。
注意:虽然启用“多写入器”选项并不是强制性的“永久磁盘”模式,但是在获取VM快照时,默认的“从磁盘”模式将导致“无法快照共享磁盘”错误。使用独立永久磁盘模式将允许对OS磁盘进行快照,而共享磁盘则需要由第三方供应商软件单独备份。
- 单击 确定 保存更改。
- 对其余的虚拟机和共享磁盘重复此过程。
对于vSphere 6.0 Update 1或更高版本,但低于6.5版的版本
创建零归零磁盘(PowerCLI)
在vSphere版本6.0 U1或更高版本中,但在版本6.5以下(示例:6.0 U3)以下,vSphere Web Client无法在vSAN数据存储上创建预先归零的磁盘。尽管vSAN数据存储支持预先归零的磁盘,但vSphere Web Client当前未提供此功能。为了在当前版本中满足此限制,我们必须使用PowerCLI或ESXi命令行创建预先归零的磁盘。本节概述了用于创建磁盘的PowerCLI方法,这是首选方法。
- 启动PowerCLI并使用Connect-VIServer连接到vCenter 。
有关PowerCLI约定,登录等的更多指导,请参阅《VMware vSphere PowerCLI文档》。
- 使用New-HardDisk cmdlet 创建新硬盘,其形式为:
New-HardDisk -VM VM_name -CapacityGB 大小 -Datastore vSAN_datastore_name -StorageFormat EagerZeroedThick -Controller controller_name -Persistence IndependentPersistent
例如,在RAC_0 VM 上创建10GB磁盘,附加到数据存储vsanDatastore上的SCSI控制器1上,运行以下命令:New-HardDisk -VM“ RAC_0” -CapacityGB 10 -Datastore“ vsanDatastore” -StorageFormat EagerZeroedThick -Controller“ SCSI Controller 1” -Persistence IndependentPersistent
存储控制器的名称将与我们在上一节中添加到虚拟机的设备的名称匹配。 - (可选)由于在vSAN上创建的EZT磁盘不会自动归零,因此,如果需要归零,则必须使用命令vmkfstools -w <path-to-vmdk> 将所有块归零。在清零期间,请注意vSAN上的其他IO工作负载。
- 对您要创建的所有剩余共享磁盘重复此过程。
创建零归零磁盘(ESXi命令行)
在vSphere版本6.0 U1或更高版本中,但在版本6.5以下(示例:6.0 U3)以下,vSphere Web Client无法在vSAN数据存储上创建预先归零的磁盘。尽管vSAN数据存储支持预先归零的磁盘,但vSphere Web Client当前未提供此功能。为了在当前版本中满足此限制,我们必须使用PowerCLI或ESXi命令行创建预先归零的磁盘。本节概述了用于创建磁盘的ESXi命令行方法。
注意:您必须启用对主机的本地ESXi Shell或SSH访问,并以特权(root)用户身份登录才能完成以下过程。
- 导航到Oracle RAC集群中第一个VM的目录:
cd / vmfs / volumes / vsan_datastore / VM_Name
例如:
cd / vmfs / volumes / vsanDatastore / RAC_0
- 创建要使用vmkfstools共享的“渴望归零”厚虚拟磁盘:
vmkfstools -c size -W vsan -d eagerzeroedthick`pwd` / vmdk_ile_name
例如:
vmkfstools -c 12G –W vsan –d eagerzeroedthick`pwd` / RAC_0_1。 - (可选)由于在vSAN上创建的EZT磁盘不会自动归零,因此,如果需要归零,则必须使用命令“ vmkfstools -w <path-to-vmdk>”将所有块归零。在清零期间注意vSAN上的其他IO工作负载
vmkfstools -w`pwd` / vmdk_file_name
例如:
vmkfstools -w`pwd` / RAC_0_1.vmdk
- 对需要创建的共享磁盘重复步骤2。
将共享磁盘添加到一个或多个虚拟机
创建热切的磁盘后,必须使用vSphere Web Client或PowerCLI将它们添加到其余的RAC VM。
注意:应将虚拟磁盘添加到每个虚拟机上的相同SCSI位置。如果磁盘在一个虚拟机上位于位置1:0,则它应该在RAC群集中的所有虚拟机上位于位置1:0。
使用vSphere Web Client
要使用vSphere Web Client将共享磁盘添加到一个或多个虚拟机,请执行以下操作:
- 右键单击适当的VM,然后选择编辑设置。
- 从“ 新设备”下拉菜单中选择“ 现有硬盘”,然后单击“ 添加”。
- 导航到适用的目录,然后选择磁盘。
- 单击确定。
- 展开“ 新硬盘”条目,然后根据需要修改“ 虚拟设备节点”。
- 在共享下拉菜单中,选择多功能刻录机选项。
- 将磁盘模式更改为独立持久。
注意:虽然启用“多写入器”选项并不是强制性的“永久磁盘”模式,但是在获取VM快照时,默认的“从磁盘”模式将导致“无法快照共享磁盘”错误。使用独立永久磁盘模式将允许对OS磁盘进行快照,而共享磁盘则需要由第三方供应商软件单独备份。
- 单击确定保存更改。
- 对其余的虚拟机和共享磁盘重复此过程。
使用PowerCLI
- 启动PowerCLI并使用Connect-VIServer连接到vCenter Server 。
- 使用New-HardDisk cmdlet 添加现有磁盘,其格式为:
New-HardDisk -VM VM_Name -DiskPath“ [datastore_name] 文件夹 / disk_file ” -Controller controller_name -Persistence IndependentPersistent
例如,在数据存储上添加磁盘RAC_0_1.vmdk 将RAC_0文件夹中的vsanDatastore添加到VM RAC_1并将其附加到SCSI Controller 1,运行以下命令:
New-HardDisk -VM RAC_1 -DiskPath“ [ vsanDatastore ] RAC_0 / RAC_0_1.vmdk “ -Controller”SCSI控制器1英寸-持久性独立持久性
注:虽然独立持久磁盘模式不是硬性要求,使多作家选项,默认的相关磁盘模式将导致无法快照共享磁盘 拍摄虚拟机快照时的错误。使用独立永久磁盘模式将允许对OS磁盘进行快照,而共享磁盘则需要由第三方供应商软件单独备份。
- 对其余的虚拟机和共享磁盘重复此过程。
对于6.0 Update 1之前的vSphere版本
使用ESXi Shell为VM和磁盘启用多写入器模式
不能通过6.0 Update 1之前的vSphere Web Client版本添加multi-writer标志。如果未安装vSphere 6.0 Update 1或更高版本,请使用ESXi Shell在适用的虚拟机上启用multi-writer模式。磁盘。
注意:由于这涉及修改和加载虚拟机配置,因此建议所有RAC虚拟机都注册到同一ESXi主机,以进行这些更改,因此我们不必登录到多个主机。进行这些更改后,可以将VM分布在整个vSphere群集中。
- 要为特定磁盘启用SCSI总线共享,请运行:
echo'scsi:.sharing =“ multi-writer”'>> path_to_VMX_file
例如,为数据存储区vsanDatastore上的VM RAC_0的 SCSI设备1:0启用多重写入器,运行以下命令:echo'scsi1:0.sharing =“ multi-writer”'>> / vmfs / volumes / vsanDatastore / RAC_0 / RAC_0.vmx
- 为所有适用的磁盘和VM完成步骤2,并根据需要修改SCSI位置。例如,要共享四个磁盘,请将所有这些条目添加到适用的VMX文件中:
scsi1:0.sharing =“ multi-writer”
scsi1:1.sharing =“ multi-writer”
scsi1:2.sharing =“ multi- writer“
scsi1:3.sharing =” multi-writer“
- 刷新VM配置以应用更改。
- 使用以下命令标识要刷新的VM:
vim-cmd vmsvc / getallvms | grep -i VM_name
例如,要列出所有以RAC身份注册到主机的具有RAC的 VM ,请运行以下命令:
vim-cmd vmsvc / getallvms | grep- i RAC
您将在最左侧的列中看到包含VMID的VM注册输出。VMID是一个简单的整数。 - 刷新配置:
vim-cmd vmsvc / reload VMID
例如,如果一个RAC VM的VMID为24,请运行以下命令:
vim-cmd vmsvc / reload 24
- 使用以下命令标识要刷新的VM:
- 重新加载所有适用的VM。
将虚拟机存储策略应用于共享磁盘
使用以上三种方法之一创建共享磁盘并将其添加到所有虚拟机之后,必须应用为RAC共享磁盘创建的存储策略。该策略必须应用于所有RAC虚拟机上的所有适用磁盘。
- 在vSphere Web Client中,右键单击VM,然后单击“ 编辑设置”。
- 展开相应的硬盘条目。
- 从下拉列表中选择所需的VM存储策略。
- 确认磁盘模式为“ 独立–永久”。
注意:虽然启用“多写程序”选项并不是强制性的“永久磁盘”模式,但是 在获取VM快照时,默认的“从磁盘”模式会导致无法快照共享磁盘错误。使用独立永久磁盘模式将允许对OS磁盘进行快照,而共享磁盘则需要由第三方供应商软件单独备份。
- 单击确定。
- 对所有适用的虚拟机和磁盘重复此过程。
注意:如果以后要对RAC共享磁盘应用其他存储策略,则必须对所有共享磁盘以及共享该磁盘的所有虚拟机执行策略更改。
相关信息
有关在VMFS数据存储上执行的类似过程的更多信息,请参阅:
- 使用multi-writer标志启用或禁用VMFS提供的同时写保护
- Oracle on VMware vSphere基本数据库部署技巧
- VMware RAC上的Oracle数据库部署指南
- VMware上的Oracle数据库:最佳实践指南
在6.x的的vSphere VSAN数据存储上使用的Oracle RAC
的vSphere 6.x的VSANデータストアでの的Oracle RACの使用
更新记录
2016年10月26日-更新了屏幕截图,其中包含用于在vSphere Web Client中配置多写程序锁定模式的新选项。向产品添加了vSAN 6.1和6.2。
2016年11月15日-将vSAN 6.5添加到产品中01/23/2017-
添加了供vSAN iSCSI Target使用的物理用例。
2017年4月18日-向产品添加了vSAN 6.6
要求产品功能
要请求新的产品功能,请联系您的VMware代表。