I have question concerning ZFS and Oracle Cluster. We are currently doing a RAID5 to RAID10 migration and we have two Zpools where I need to change the mount points in order to perform this migration.
With following command I tried to change the mountpoint of the Zpool "oracle_data".
zfs set mountpoint=/oracletmp oracle_data
This failed: "cannot unmount /oracletmp: device busy.
We have been very sure that this directory is not used or locked, since it is a new created FS and we have done a cluster restart before. This Zpool is defined in the SUNW.HAStoragePlus resource and it is mounted when taking the resource online. In case the resource is down, we cannot see or access the Zpool, so the cluster resoruce needs to be up. We also tried to take this Zpool out of the cluster, but it was not working as well.
Any idea what could be the issue here?
I am not sure what causes the "device busy" message, but I assume it is the monitoring process for the HASP resource.
Did you try the following:
- clrs disable <hasp resource> (which exports the zpool)
- zpool import oracle_data
- zfs set mountpoint=... oracle_data
- zpool export oracle_data
- clrs enable <hasp resource>
Unfortunately I do not have a free LUN to test this in my lab.
thanks for your feedback. It sounds logical and we have to try it out ourself. We need to have the customer environment available again.
We had to perform this during a maintenance window and we did not take a much risk, so we have not tried the import command. During one of the previous procedures we have done a zpool import/export, and the result was a corrupted filesystems. Probably at that time the cluster resource was enabled. Probably that caused the issue. I think I understand now the way we should perform it correctly.
One further question. We have taken out the Zpool from the SUNW.HAStoragePlus resource (changed the property - list of zpools), but I guess that does not help, except we "restart" this cluster resource?
actually the procedure you provided was not helping. We still got the "device busy" response. The SUNW.HAStoragePlus resource has been disabled before including the monitor. We also disabled the complete resource group. So only the nodes were running. We imported the zpool but then we had no chance to change the mountpoint.
root@HDMDB01 # zfs set mountpoint=/oracleold oracle
cannot unmount '/oracle': Device busy
Our Zpool looks like following:
/oracle on oracle read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2d5000b on Wed Jan 15 11:25:07 2014
/oracle/HDMDB/ARCH on oracle/HDMDB_ARCH read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2d5000c on Wed Jan 15 11:25:07 2014
/oracle/HDMDB/DATA on oracle/HDMDB_DATA read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2d5000d on Wed Jan 15 11:25:07 2014
/oracle/HDMDB/REDO on oracle/HDMDB_REDO read/write/setuid/devices/rstchown/nonbmand/exec/xattr/atime/dev=2d5000e on Wed Jan 15 11:25:07 2014
Any idea? lsof is not available on this host.