-
- Expert
- Posts: 102
- Liked: 3 times
- Joined: May 09, 2013 8:57 am
- Full Name: Mike Lavery
- Contact:
Recovery of an Oracle database VM
We have Veeam 6.5 with update3 installed.
We have a VM with an Oracle database running plus ASM disks as well. Its Redhat 6.5 and Oracle 11.
We have performed a recovery of the VM however the ASM disk UUID's have changed, causing oracle not to start.
The UUID's are held in a file, however scsi_info shows different UUID's.
Does anyone know of issues to do with recovering these types of VM's with Oracle ASM databases.
thanks
We have a VM with an Oracle database running plus ASM disks as well. Its Redhat 6.5 and Oracle 11.
We have performed a recovery of the VM however the ASM disk UUID's have changed, causing oracle not to start.
The UUID's are held in a file, however scsi_info shows different UUID's.
Does anyone know of issues to do with recovering these types of VM's with Oracle ASM databases.
thanks
-
- Expert
- Posts: 102
- Liked: 3 times
- Joined: May 09, 2013 8:57 am
- Full Name: Mike Lavery
- Contact:
Re: Oracle RAC backups?
This is interesting.....
its basically saying that an Oracle ASM managed database cannot be backed up with Veeam yes?
It would seem that Veeam/Vmware are dropping a new UUID on the ASM disks. Is this right?
I need to find clarification if this is a known problem and if we need to find another method to backup the oracle filesystems and database.
its basically saying that an Oracle ASM managed database cannot be backed up with Veeam yes?
It would seem that Veeam/Vmware are dropping a new UUID on the ASM disks. Is this right?
I need to find clarification if this is a known problem and if we need to find another method to backup the oracle filesystems and database.
-
- VP, Product Management
- Posts: 6035
- Liked: 2860 times
- Joined: Jun 05, 2009 12:57 pm
- Full Name: Tom Sightler
- Contact:
Re: Oracle RAC backups?
I've never experienced any issue with ASM after restores. Are you using LUN persistence mapping on your guest? What specific command are you running to view the SCSI UUID? Are the disk coming up being mapped to different logical SCSI devices at the Linux OS level. Can you post the output?
-
- Expert
- Posts: 102
- Liked: 3 times
- Joined: May 09, 2013 8:57 am
- Full Name: Mike Lavery
- Contact:
Re: Oracle RAC backups?
I dont think any persistent binding is used but I will check.
We are using scsi_id -g -s /block/sdd (on all the disks)
The file /etc/udev/rules.d/80-oracleasm.rules shows different UUID's. Also we recovered the VM twice and the UUID's reported from scsi_id are different. Something is changing them. Maybe its vmware??
Let me know what output you need....
FYI, other forums particularly Oracle saying that Veeam shouldnt be used with Oracle ASM disks....Maybe they should be RDM's and not vmdk's....
We need some clarity here...
thanks
We are using scsi_id -g -s /block/sdd (on all the disks)
The file /etc/udev/rules.d/80-oracleasm.rules shows different UUID's. Also we recovered the VM twice and the UUID's reported from scsi_id are different. Something is changing them. Maybe its vmware??
Let me know what output you need....
FYI, other forums particularly Oracle saying that Veeam shouldnt be used with Oracle ASM disks....Maybe they should be RDM's and not vmdk's....
We need some clarity here...
thanks
-
- VP, Product Management
- Posts: 6035
- Liked: 2860 times
- Joined: Jun 05, 2009 12:57 pm
- Full Name: Tom Sightler
- Contact:
Re: Oracle RAC backups?
From an Oracle perspective the only supported method to backup databases on ASM would be via RMAN so I wouldn't expect any other answer from Oracle. However, that doesn't mean that it won't work, as long as you restore all ASM disks together, the database will be able to start and perform media recovery just like backing up a database without ASM.
The entire purpose of the 80-oracleasm.rules is to persistently bind logical device names, like /dev/sdb, to the physical devices based on SCSI ID so you are indeed using persistent binding, which is likely the cause of the problem in this case. Why is this a problem? Well, in the physical world this command would query the physical SCSI device for it's ID and map the same logical device name to it each time, however, in the virtual world this can get a little tricky since the SCSI devices are virtual.
Since the SCSI devices in a VM are virtual, VMware has to generate a UUID each time a new virtual disk is created. You can see this ID in the VMDK file as it typically looks like this:
Because this ID is really just "fake" VMware normally doesn't even pass this UUID to the host, and querying a virtual SCSI disk for the UUID will actually just return a null value, however, for applications that require the UUID you can enable the VMware advanced parameter "disk.EnableUUID=true" at which point this UUID is exposed to the guest OS. I'm guessing the VM you are referring to has this setting configured since that's quite normal for VMs using ASM.
However, when you restore an entire VM, it's a new VM with newly created virtual disks, and thus with new virtual SCSI UUIDs. This would effectively be the same as if you imaged existing physical disks to a new physical disk, the new physical disk would have the same data, but a different UUID.
There are several ways to work around this, perhaps the easiest is to just edit the ASM persistent rules to the new UUIDs, however, if you want to simply preserve the SCSI virtual disk UUIDs after restoring the VM you can use the following procedure:
1. Restore entire VM (don't power on)
2. Use the "Restore VM Files" to restore the VMDK descriptor files only (not the "flat" VMDK files) to the Veeam server
3. Use the vCenter Client File Browser or the Veeam file management feature to copy the VMDK descriptors files over the existing VMDK descriptors on the datastore.
4. Power on the VM and verify that SCSI UUIDs are consistent.
This would be slightly easier if Veeam allowed the VMDK descriptors to be restored directly over the existing ones but doing that directly from the "Restore VM Files" wizard wipes out the flat VMDK file for some reason (it does give a warning that it will do this). However, copying the VMDK descriptors via the Datastore browser or via the Veeam file management GUI does work fine and is not complex.
The entire purpose of the 80-oracleasm.rules is to persistently bind logical device names, like /dev/sdb, to the physical devices based on SCSI ID so you are indeed using persistent binding, which is likely the cause of the problem in this case. Why is this a problem? Well, in the physical world this command would query the physical SCSI device for it's ID and map the same logical device name to it each time, however, in the virtual world this can get a little tricky since the SCSI devices are virtual.
Since the SCSI devices in a VM are virtual, VMware has to generate a UUID each time a new virtual disk is created. You can see this ID in the VMDK file as it typically looks like this:
Code: Select all
ddb.uuid = "60 00 C2 99 3c 65 28 48-12 a3 f3 e6 eb b3 b5 19"
However, when you restore an entire VM, it's a new VM with newly created virtual disks, and thus with new virtual SCSI UUIDs. This would effectively be the same as if you imaged existing physical disks to a new physical disk, the new physical disk would have the same data, but a different UUID.
There are several ways to work around this, perhaps the easiest is to just edit the ASM persistent rules to the new UUIDs, however, if you want to simply preserve the SCSI virtual disk UUIDs after restoring the VM you can use the following procedure:
1. Restore entire VM (don't power on)
2. Use the "Restore VM Files" to restore the VMDK descriptor files only (not the "flat" VMDK files) to the Veeam server
3. Use the vCenter Client File Browser or the Veeam file management feature to copy the VMDK descriptors files over the existing VMDK descriptors on the datastore.
4. Power on the VM and verify that SCSI UUIDs are consistent.
This would be slightly easier if Veeam allowed the VMDK descriptors to be restored directly over the existing ones but doing that directly from the "Restore VM Files" wizard wipes out the flat VMDK file for some reason (it does give a warning that it will do this). However, copying the VMDK descriptors via the Datastore browser or via the Veeam file management GUI does work fine and is not complex.
-
- Expert
- Posts: 102
- Liked: 3 times
- Joined: May 09, 2013 8:57 am
- Full Name: Mike Lavery
- Contact:
Re: Recovery of an Oracle database VM
many thanks Tom for the thread. This helps...
We will restore the ASM disks seperately to the vmdk's....
We will restore the ASM disks seperately to the vmdk's....
Who is online
Users browsing this forum: bct44, Google [Bot], Jordi.B and 68 guests