SYMPTOMS
In dmesg something like this:
Cluster.Framework: [ID 801593 daemon.error] stderr: metaset: : : stale databases
Cluster.Framework: [ID 801593 daemon.error] stderr: metaset::: 50% replicas & 50% mediator hosts available, user intervention required
Cluster.Framework: [ID 801593 daemon.error] stderr: metaset::: 50% replicas & 50% mediator hosts available, user intervention required
CAUSE
In diskset configurations, copies of the metadb are distributed among the disks in the diskset. With only 2 disks, two copies of the metadb are created in each disk. To insure consistency, SVM requires more than 50% of the metadb to be available or it will not allow automatic takeover of the diskset. With one disk not being accessible, only 50% of the metadb is available, effectively making the metadb stale.
From the 2 logical disks, several mirrored metadevices were created. As a result half of the diskset metadevices are in "Needs maintenance" state.
SOLUTION
# scswitch -m -D <device-group-name>
# metaset -C take -f -s <disk-set-name>
# metadb -i -s ora-set01
flags first blk block count
a m luo t 16 1034 /dev/did/dsk/d2s7
a luo t 1050 1034 /dev/did/dsk/d2s7
M unknown unknown /dev/did/dsk/d3s7
M unknown unknown /dev/did/dsk/d3s7
from the rdb - in effect we are making the replica 100% available from
the good disk (d2s7).
# metadb -s <disk-set-name> -d /dev/did/dsk/d3s7
NOTE: To find out which disk is d3s7 use scdidadm command
# metaset -C release -s<disk-set-name>
Bring the device group back online.
# scswitch -z -D <device-group-name>-h node1
The cluster should come up all the way. Do additional commands to let the other node join the cluster.Once the array is fixed. Let LVM re-scan the disks .
# metastat -i -s <disk-set-name>
NOTE: metastat -i is available from LVM 4.2.1 and up.
Add a new rdb on d3s7.
# metadb -s <disk-set-name> -a -c 2 /dev/did/dsk/d3s7
Re-enable ALL the diskset volumes that are in "Needs maintenance" state:
# metareplace -s <disk-set-name> -e d1 /dev/did/rdsk/d3s0
IN NON CLuster enviroment
1. Force a takeover the diskset:
# metaset -s <disk-set-name> -t -f
# metadb -s <disk-set-name> -d
# metaset -s <disk-set-name> -r
# metaset -s <disk-set-name> -t
No comments:
Post a Comment