Oracle RMAN backup unable to use Isilon SmartConnect name
Hello.
We have an Oracle RMAN cluster with 4 servers that we are trying to point to Isilon using NFS.
The backups works fine when the Oracle cluster mounts the Isilon NFS share using an IP address.
When we use the Isilon NFS zone SmartConnect name we get an error each time:
ORA-17516: dNFS asynchronous I/O failure
Cause: The asynchronous I/O request failed due to storage server reboot.
Action: Make sure the storage server does not reboot repeatedly during database operations.
The Isilon is not rebooting at the time of backup.
We have a current SR open on this but are not making much traction. We have gathered multiple pcaps using tcpdump while the error happens for EMC support to analyze. Nothing yet.
Isilon is v8.0.0.4
Oracle 12.1.0.2.0
Any thoughts or personal experiences with something like this would be great!
I will start by saying I have zero experience with Oracle RMAN. I have however seen applications that don't like the fact that they may get a different IP address throughout its respective process. It may have nothing to do with that, but would be easy enough to test if you could limit the pool IP range to only one IP address. If you still get errors, then that is not the issue. However, if you don't get any errors it could indicate that is the issue.
We could create a test SmartConnect name, assign 1 IP and see what happens.
We did a similar test, where we have each of the Oracle servers mount a different IP (each from a different Isilon node) and that was successful. Backup jobs ran without issue.
4. On the Isilon: Start a packet capture on all node external interfaces looking for the client IP address and excluding SSH. This will put the captures into /ifs/data/Isilon_Support/$(date +%m%d%Y)/pcaps/ and
information on packets captured/dropped into /ifs/data/Isilon_Support/$(date +%m%d%Y)/logs/ (Be sure to replace client="192.168.190.6" with the IP address of the client in question)
isi_for_array -X 'client="192.168.190.6"; for int in $(tcpdump -D | cut -d"." -f2 | egrep -v "ib0|ib1|lo0|vlan|lagg"); do tcpdump -W 3 -C 200 -w /ifs/data/Isilon_Support/$(date +%m%d%Y)/pcaps/$(uname -n).${int}.pcap -s0 -ni $int host $client and not port 22 &> /ifs/data/Isilon_Support/$(date +%m%d%Y)/pcaps/$(uname -n).${int}.log & ; done'
5. On the Client: Start a packet capture excluding SSH (This process will only work on Unix type OSes, customer’s will need to generate their own command set for other OSes)
for int in $(ls /sys/class/net | grep -v "lo"); do tcpdump -W 3 -C 200 -w /tmp/$(date +%m%d%Y)/pcaps/$(uname -n).${int}.pcap -s0 -ni $int not port 22 &> /tmp/$(date +%m%d%Y)/logs/$(uname -n).${int}.pcap.log & done
6. On the Client: reproduce the issue. If the issue is 100% reproducible on all clients, perform an unmount and remount first. PLEASE SAVE THIS OUTPUT. (The following is an example of that that might look like, the
client should do whatever they were having an issue with)
Sorry to hear that GoldyGopher! Any progress figuring out what happened?
Update on mine (nothing too exciting):
Seems I was confused and this is not RMAN but something called a DataPump.
The client servers are actually an Oracle Exadata.
EMC has come back with nothing from the previous packet captures I have sent them. They have asked for more specific data and sent along what they want. I will post that here in a effort that it will help some other poor soul in the future that is having this issue. Seems that getting the *right* data to the vendor is half the battle! haha
So one thing I cannot get past, and maybe someone knows more about NFS on Isilon...
When you mount an Isilon NFS share on a Linux client server, whether using an IP or DNS name (smartconnect name) the client server makes a mount request to the Isilon, if using a DNS name the DNS server will resolve that name to an IP, the Isilon will respond by looking for the client IP in the "Clients, Root Clients, Read Only Clients or Read Write Clients" fields of the NFS export configured on the Isilon.
If the Isilon finds the client IP in that list it will allow the mount to a mountpoint on the Linux client server. In this case /orabackup.
Thats it. From then on, the Linux client and it's application, script, datapump, whatever will just see it as a "local" filesystem. There wont be any more calls to mount or check access.
So the fact that mounting with either IP or DNS (smartconnect) name works fine, but when the datapump runs using the smartconnect name it fails somewhere in the middle (not right away) and when mounting using the IP the datapump works fine each time with no errors.
sjones51
252 Posts
3222
1
Posted September 19th, 2017 10:00
Hi brichtab,
I will start by saying I have zero experience with Oracle RMAN. I have however seen applications that don't like the fact that they may get a different IP address throughout its respective process. It may have nothing to do with that, but would be easy enough to test if you could limit the pool IP range to only one IP address. If you still get errors, then that is not the issue. However, if you don't get any errors it could indicate that is the issue.