在VMware虚拟化Oracle数据库使用虚拟卷
VMware是一种广泛使用的虚拟化平台运行Oracle数据库。在过去,数据库存储选择Oracle dba创建虚拟磁盘被限于VMFS文件系统(虚拟机)数据存储,或RDM(原始设备映射)磁盘。
VMware虚拟卷(vVol)是一个vSphere 6.0中引入的新技术从根本上简化存储管理vSphere管理员以及存储管理员。vVol数据存储地址的挑战over-abstraction VMFS虚拟磁盘的数据存储在一个结束,和刚度(原始设备映射)数据存储。
在这篇文章中,我们将通过使用Oracle数据库迁移的情况下运行在物理硬件使用vVols VMware虚拟机。我们将看到如何简单的从物理迁移到虚拟和签证使用vVol技术。这里提供的指令也可以用来移动虚拟化Oracle数据库在VMware RDMs VMware虚拟卷。
许多组织物理服务器上运行他们的生产工作负载及其二线在虚拟环境中。这个过程也可以用于提供和刷新克隆生产Oracle数据库的物理服务器上运行。
在我们潜水深入vVols之前,让我们先看看VFMS和风险,以及如何vVols解决他们的缺点。
VMFS
VMFS是集群文件系统为虚拟机提供了存储虚拟化优化。每个虚拟机都由一组文件(vmdk)和VMFS这些文件的默认存储系统在物理SCSI磁盘和分区。VMFS数据存储通常由一个单一的存储卷,但它包含来自多个虚拟机的虚拟磁盘。VMFS数据存储支持VMware vSphere vMotion等分布式基础设施服务,DRS, vSphere HA集群ESXi主机操作。这给了我们很大的灵活性,但同时,抽象的增加会导致失去控制和监视功能。在存储层面,数组操作的粒度快照和复制是在音量级别(即VMFS数据存储层面)。很难一个VM快照,或者单个VM内部磁盘,无需快照整个数据存储。此外,虚拟机快照已知患有长期冻结的VM老快照删除(请参阅VMware KB 1002836更多细节)。存储水平快照没有这个问题,更有效率。
对VMFS关于克隆一个Oracle数据库的详细说明,请参阅KB文章克隆在VMware VMFS Oracle数据库。
RDM
RDM或原始设备映射,顾名思义,允许虚拟机直接访问卷在FlashArray™。它只可以使用光纤通道或iSCSI。RDM可以看作是提供一个符号链接的VMFS FlashArray卷到一个物理卷。这是伟大的,因为它使一个虚拟磁盘之间的一对一的关系在VM和FlashArray的音量,和打开的可能性使用FlashArray特性像快照和复制虚拟磁盘的粒度。然而,RDMs并非完全集成的VMware堆栈和受到许多限制。
VVols传递数组本地虚拟机的能力。VVol技术可以被认为是一个为供应RDMs VMware认证和集成框架。我们得到了所有的好处RDMs -数据移动性,制成的粒度,但集成到VMware堆栈。没有额外的插件或工作流管理。
请注意,vVols目前不支持ActiveCluster或ActiveDR。
与虚拟卷,虚拟磁盘成为本地对象在存储阵列。这意味着本机VM执行操作,比如克隆和快照存储阵列。任何虚拟机放置到vVols数据存储得到所有这些开箱即用的好处。
有几种不同类型的vVols FlashArray创建:
1。配置vVol这是4 gb容量,得到每个VM创建存储的描述硬件和虚拟机的设置。它包含VMX文件,日志和其他一些描述符文件。
2。数据vVol——这就为每个虚拟磁盘添加到虚拟机创建并存储实际数据量。它的大小是一样的请求的虚拟磁盘的大小。不同的配置和策略可以应用于每个数据vVol。
3所示。交换vVol——这是自动创建VM的权力,而且VM启动时被删除。
4所示。内存vVol——这创建快照时用“快照记忆”选项。
VMware等功能暂停,恢复快照vVol VM虚拟机都可以。
在高级别上,我们将执行以下步骤:
- 连接VMware FlashArray集群
- 在VMware集群配置瓦萨号存储提供商
- 收集信息关于物理服务器上的数据库(源)
- 创建一个新的虚拟机主机迁移数据库(目标)
- 安装Oracle Linux和Oracle 19 c目标VM上
- Oracle数据库卷从物理服务器迁移到虚拟机使用快照复制在FlashArray级别。
1。连接VMware FlashArray集群
这是一次性的步骤。
登录FlashArray去存储- >主机单击+图标在右上角的主机面板弹出创建主机对话框。
提供的名称ESXi主机集群中。
在你点击创建,该主机将出现在主机列表中。
重复这一步骤创建FlashArray主机对象的所有ESXi主机集群。
去存储- >主机单击+图标在右上角的宿主组织面板弹出对话框创建主机组。
给主机a组名。
添加所有ESXi主机到主机群刚刚创建。
2。VMware集群上配置瓦萨号存储提供商
这是一个一次性的步骤,一旦瓦萨号提供者注册,虚拟卷可以创建任意数量的数据库。
它更容易建立vVols纯存储插件,所以我们安装第一个。亚搏充值后支付宝能申诉吗
登录到FlashArray去设置- >软件
vSphere插件面板上,单击Edit图标在右上角。
输入vCenter服务器的连接细节。
在你按下保存,它将连接到vCenter服务器并检查插件已经安装。
如果插件没有安装,一个安装按钮将出现在右边面板的底部。如果插件已经安装,但在一个较低的版本,它将显示一个更新按钮。
点击安装按钮。
下一个登录到vCenter服务器。徘徊在主图标弹出菜单。您应该看到一个“纯存储”菜单项在底部亚搏充值后支付宝能申诉吗。如果你已经登录,你可能需要注销并重新登录。
单击纯存储菜单项弹出Fla亚搏充值后支付宝能申诉吗shArray页面。点击添加FlashArray按钮打开添加FlashArray对话框。
一旦FlashArray补充道,右键单击它并选择寄存器存储提供商。
验证“瓦萨”号提供者已成功注册,在Web客户机主机和集群视图中,单击目标vCenter库存中的窗格中,选择“配置”选项卡。新注册供应商应该出现在存储提供商表状态在线和活跃的。
我们可以看到在上面的截图中,虽然两个FlashArray控制器的瓦萨号在线提供商,vCenter使用一个提供者。提供者造成明显活跃;它的同伴作为备用。
设置虚拟卷上的更多细节,请参阅虚拟卷快速入门指南。
3所示。收集信息从源数据库在物理服务器上
3 a。包含软件识别FlashArray体积
(oracle@orademo1 ~) $ echo $ ORACLE_HOME / u01 / app / oracle /产品/ 19.0.0 dbhome_1 [oracle@orademo1 ~]美元猫挂载| grep u01 /dev/mapper/oracle-rt-ora01prd-home-01 / u01 xfs默认值0 0
3 b。查询数据字典来识别FlashArray卷数据库驻留的地方。
在我们的示例中,源数据库叫做ORA01PRD和所有的数据,临时、控制和日志文件位于一个叫做ORA01PRD_DATA ASM磁盘组。数据库是一个操作系统文件系统上,您可以识别FlashArray卷通过观察山路径或挂载设备信息,就像我们在前一步ORACLE_HOME。
从dba_data_files SYS@ORA01PRD >选择file_name;FILE_NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ORA01PRD_DATA / ORA01PRD /功能/ system.257.1029181373 + ORA01PRD_DATA / ORA01PRD /功能/ sysaux.258.1029181409 + ORA01PRD_DATA / ORA01PRD /功能/ undotbs1.259.1029181423 + ORA01PRD_DATA / ORA01PRD /功能/ users.260.1029181425 + ORA01PRD_DATA / ORA01PRD /功能/ mgmt_ecm_depot_ts.271.1029193195 + ORA01PRD_DATA / ORA01PRD /功能/ mgmt_tablespace.272.1029193197 + ORA01PRD_DATA / ORA01PRD /功能/ mgmt_ad4j_ts.273.1029193197
从dba_temp_files SYS@ORA01PRD >选择file_name;FILE_NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ORA01PRD_DATA / ORA01PRD / TEMPFILE / temp.269.102918148
SYS@ORA01PRD >选择成员从v $日志文件;成员- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ORA01PRD_DATA / ORA01PRD / ONLINELOG group_3.265.1029181483 + ORA01PRD_DATA / ORA01PRD / ONLINELOG group_3.268.1029181483 + ORA01PRD_DATA / ORA01PRD / ONLINELOG group_2.264.1029181483 + ORA01PRD_DATA / ORA01PRD / ONLINELOG group_2.267.1029181483 + ORA01PRD_DATA / ORA01PRD / ONLINELOG group_1.263.1029181483 + ORA01PRD_DATA / ORA01PRD / ONLINELOG / group_1.266.1029181483
从v $ controlfile SYS@ORA01PRD >选择名称;的名字- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ORA01PRD_DATA / ORA01PRD / CONTROLFILE current.262.1029181479 + ORA01PRD_DATA / ORA01PRD / CONTROLFILE / current.261.1029181479
3 c。spfile文件也在ASM。
SYS@ORA01PRD >显示参数spfile名称类型值- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - spfile字符串+ ORA01PRD_DATA / ORA01PRD / PARAMETERFILE / spfile.270.1029181705
3 d。确定的目的地快速恢复区
SYS@ORA01PRD >显示参数db_recovery_file_dest名称类型值- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ORA01PRD_DATA db_recovery_file_dest字符串
3 e。确定ASM磁盘路径磁盘组前一步中确定。
SYS@ORA01PRD >选择g。group_number d。路径2 v $ asm_disk d v $ asm_diskgroup g 3 d。group_number = g。group_number g.name =“ORA01PRD_DATA”;GROUP_NUMBER路径- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1情况:ORA01PRD_DATA01
3 f。在这种情况下,我们只有一个磁盘和一个数据存储。使用下面的命令,我们可以找到每个磁盘的设备映射器。
美元(grid@orademo1 ~)猫/dev/oracleafd/disks/ORA01PRD_DATA01 /dev/mapper/oracle-rt-ora01prd-data01
3 g。然后从/etc/multipath.相依,我们确定FlashArray卷序列号为甲骨文软件目录。
多路{wwid3624年a93706c1d7213605f49200006d926别名oracle-rt-ora01prd-data01}多路径{wwid3624年a93706c1d7213605f49200006d937别名oracle-rt-ora01prd-home-01}
3 h。使用的序列号,FlashArray卷可以确定通过GUI,或使用CLI如下所示。
oracle@orademo1 ~ $ ssh pureuser@10.21.228.24”purevol列表——过滤\“连环=‘* 6 c1d7213605f49200006d926‘\”“名字源创建串行oracle-rt-ora01prd-data01大小2 t - 2019-10-24 03:04:03 PDT 6 c1d7213605f49200006d926 [oracle@orademo1 ~]美元ssh pureuser@10.21.228.24 " purevol名单——过滤\“连环=‘* 6 c1d7213605f49200006d937‘\”“名称大小源创建串行oracle-rt-ora01prd-home-01 500 g - 2019-10-24 03:07:19 PDT 6 c1d7213605f49200006d937
在这个步骤中,您应该有一个卷的清单,他们的大小,和序列号。
这些卷应该添加到保护组,如果不是已经完成。在我们的示例中,保护组oracle-rt-ora01prd-pg。
4所示。创建一个新的虚拟机主机迁移的数据库
我们现在需要一个VM主机Oracle数据库服务器迁移。现在我们可以创建,也可以事先创建了。
为操作系统添加一个硬盘的磁盘上面的尺寸确定。为了避免问题,建议安装相同的操作系统版本的VM上安装我们的物理服务器迁移。
我们已经创建了一个虚拟机lnx-rt-vm-ora01prd并添加了所需的磁盘vVol数据存储。
当我们建立新的虚拟机,确保磁盘。enableUUID被设置为TRUE。要做到这一点,去VM选项- >高级- >编辑配置,并添加磁盘。如果它不存在enableUUID参数。注意,这种改变只能当VM系统电源关闭。
将一个IP地址分配给虚拟机和权力。
5。安装操作系统和甲骨文软件在目标VM上
三个磁盘应该显示在VM。我们已经考虑到物理服务器虚拟机的主机名。
[root@orademo1 ~]美元lsblk名称MAJ: MIN RM大小RO类型挂载点fd0 2:0 1 4 k 0 sda 8:0 0 100 g 0磁盘├─sda1 8:1 0 1 g 0 / boot一部分└─sda2宣告0 99 g 0一部分├─ol-root 249:0 0 0 lvm / 50克├─ol-swap 249:1 0 3.9 g 0 lvm(交换)└─ol-home 249:2 0 45.1 g 0 lvm /家庭深发展八16 0 500 g 0署32 0 2 t 0磁盘
创建一个xfs文件系统卷500克。
为软件创建一个挂载点。在挂载和挂载/ u01创建一个条目。
# mkdir / u01 #回声”UUID = fb70ad02-edb1-4f75-affb-3ce574608856 / u01 xfs丢弃,减小0 0”> >挂载# / u01山
我们知道,当我们创建一个vVol数据存储磁盘,FlashArray卷自动创建。卷中创建卷组的名字来源于虚拟机的名称,如下所示
点击卷组将显示它所包含的卷。
正如前面提到的,至少三种vVols创建,配置和交换vVol vVols除了数据。我们可以看到,它是使用vVols名称自动生成数据。在这一点上我们可以重命名他们一样卷连接到物理服务器的名称。虽然卷两个数据库在同一个数组,不会出现命名冲突VM卷在卷组。
重命名一个卷,只需点击按钮有三个垂直点(烤肉图标)在最后一列。重命名后,这就是我们的卷的样子。
按照正常程序安装电网基础设施以及Oracle数据库软件安装介质。创建一个虚拟的数据库相同的物理服务器上文件系统卷或ASM磁盘的数量,视情况而定。ASM,虚拟数据库应该使用相同的方法(udev, ASMlib或ASMFD)为ASM磁盘持久性作为源。数据库名称应该是一样的,不过如果需要VM可以是不同的主机名。
在这一点上,我们有一个数据库相同的物理服务器上运行的虚拟机。最后一步将刷新生产数据库的虚拟数据库的内容只要我们愿意做出改变。
我们创建了虚拟数据库的数据库安装程序做一些喜欢的任务与Oracle和修改注册数据库,就像一个检查网格和数据库软件是正常在我们刷新数据库卷从生产。
或者,我们可以跳过的步骤创建虚拟数据库,即我们只安装数据库软件。在这种情况下,我们会登记与Oracle数据库修改手动步骤6 d所示。
6。Oracle数据库卷从物理服务器迁移到虚拟机
当我们准备做出改变,以下需要执行一系列步骤。
6个。关闭虚拟机的虚拟数据库。
6 b。文件系统或ASM diskgroups下马。
6 c。复制的数据量刺激的物理主机上运行新的刺激运行在VM。
我们将复制源卷到目标覆盖选项。我们不会直接复制卷,但首先,我们将创建一个快照源保护组。导航(存储- >保护团体)保护组oracle-rt-ora01prd-pg。点击进入详细信息页面。快照保护组,单击+图标。
输入后缀和保护组立即将会创建快照。
使用以下命令从CLI快照保护组。
后缀= demo ssh - l $ {FA_USER} $ {FA_IP} purepgroup提前,后缀后缀oracle-rt-ora01prd-pg美元
单击保护组刚刚创建的快照。这将打开一个对话框,显示了保护组卷的快照。
点击复制图标为每个卷快照打开如下所示的对话框窗口。选择卷组作为容器,并提供目标卷的名称。确保覆盖选项被选中。
这一步可以脚本如下。
后缀= demo VOL_GROUP_NAME = vvol-lnx-rt-vm-ora01prd-1de7f237-vg PG_NAME = oracle-rt-ora01prd-pg ssh - l $ {FA_USER} $ {FA_IP}“purevol名单——notitle csv——吸附过滤\“name = ' *数据* \ " $ {PG_NAME}。${后缀}*”|而读线做提前=回声线|削减美元- d”、“f1的目标= ' echo ${提前}|切- d”。“-f3` ssh -l ${FA_USER} ${FA_IP} "purevol copy --overwrite $SNAP ${VOL_GROUP_NAME}/$TARG" < /dev/null done
复制所有文件系统或数据库的ASM卷。在这个例子中,为了使事情简单,我们只有一个ASM磁盘。我们不包含网格复制卷和数据库软件,因为我们安装手动安装介质。
6 d。回想一下,spfile生产数据库的存储在ASM diskgroup。所以我们需要更新的spfile设置虚拟数据库的VM spfile位置设置从生产。
美元oracle@orademo1 srvctl修改数据库- db ora01prd -spfile + ORA01PRD_DATA / ora01prd / PARAMETERFILE / spfile.270.1029181705
如果我们选择不创建虚拟数据库,我们需要注册数据库Oracle使用以下命令修改。
美元oracle@orademo1 srvctl添加数据库- db ora01prd -oraclehome / u01 / app / oracle /产品/ 19.0.0 / dbhome_1 \ -spfile + ORA01PRD_DATA / ora01prd / PARAMETERFILE / spfile.270.1029181705
6 e。启动虚拟机迁移数据库。
oracle@orademo1 srvctl美元开始数据库- db ora01prd oracle@orademo1 $ p ef | grep smon电网25916年1 0 02:22 ?就是asm_smon_ + ASM甲骨文27598 1 0 02:30 ?就是ora_smon_ORA01PRD
从物理实际的切换到虚拟服务器只花了几分钟。没有身体移动数据。
在本文中,我们已经看到是快速和容易Oracle数据库运行在一个物理服务器迁移到一个VMware虚拟机使用波动率。这个用例从物理数据库迁移到虚拟机。所以我们不需要更改SID或数据库名称,和不需要修改数据库。反向迁移,即从虚拟到物理过程将几乎是相同的。
这个过程可以用于其他用例创建和刷新二级环境从生产。需要执行一些额外的步骤结束时更改SID和数据库名称。