Symptoms
ZFS online pool expansion does not work on Solaris Cluster 4.x clustered pools
Issue clarification
Cause
System running Solaris 11.1 with zpool online expansion does not understand global name space in Solaris cluster
Cause determination
Command use for online expansion of Sun Cluster LUNs
[root@cbneuh02b]$ truss -aefEl -vall -o truss.out -u libzfs zpool online -e
XTOHTXX1_db /dev/did/dsk/d63s0 /dev/did/dsk/d62s0 /dev/did/dsk/d61s0 /d>
: cannot relabel 'dsk/d63s0': unable to open device
: cannot relabel 'dsk/d62s0': unable to open device
: cannot relabel 'dsk/d61s0': unable to open device
: cannot relabel 'dsk/d60s0': unable to open device
From the truss data, it seems that libzfs is not able to filter the Solaris
Cluster device path and finally wrong pathname is passed into
zpool_relabel_disk().
13418/1: 0.0000 open("/dev/rdsk/dsk/d63s0", O_RDWR|O_NDELAY) Err#2
EN OENT
13418/1: 0.0000 fstat64(2, 0xF782BC38) = 0
13418/1: d=0x09580000 i=711604508 m=0020620 l=1 u=0 g=7
rdev
=0x01B4001D
13418/1: at = May 2 18:11:14 EST 2013 [ 1367482274.000000000
]
13418/1: mt = May 2 18:11:14 EST 2013 [ 1367482274.000000000
]
13418/1: ct = May 1 13:04:15 EST 2013 [ 1367377455.000000000
]
13418/1: bsz=8192 blks=0 fs=dev
13418/1: 0.0000 write(2, " : ", 2) = 2
13418/1: 0.0000 write(2, " c a n n o t r e l a b".., 49) = 49
13418/1: 0.0000 write(2, "\n", 1) = 1
root@cbneuh02b]$ zpool status XTOHTXX1_db
pool: XTOHTXX1_db
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
XTOHTXX1_db ONLINE 0 0 0
/dev/did/dsk/d63s0 ONLINE 0 0 0
/dev/did/dsk/d62s0 ONLINE 0 0 0
/dev/did/dsk/d61s0 ONLINE 0 0 0
/dev/did/dsk/d60s0 ONLINE 0 0 0
Need to take an outage to export zpools, and re-import them in order to
expand ZFS pools.
Bug is 16923140
Solution
Please ask for Oracle support for solution
Action Plan
ZFS online pool expansion does not work on Solaris Cluster 4.x clustered pools
Issue clarification
Cause
System running Solaris 11.1 with zpool online expansion does not understand global name space in Solaris cluster
Cause determination
Command use for online expansion of Sun Cluster LUNs
[root@cbneuh02b]$ truss -aefEl -vall -o truss.out -u libzfs zpool online -e
XTOHTXX1_db /dev/did/dsk/d63s0 /dev/did/dsk/d62s0 /dev/did/dsk/d61s0 /d>
: cannot relabel 'dsk/d63s0': unable to open device
: cannot relabel 'dsk/d62s0': unable to open device
: cannot relabel 'dsk/d61s0': unable to open device
: cannot relabel 'dsk/d60s0': unable to open device
From the truss data, it seems that libzfs is not able to filter the Solaris
Cluster device path and finally wrong pathname is passed into
zpool_relabel_disk().
13418/1: 0.0000 open("/dev/rdsk/dsk/d63s0", O_RDWR|O_NDELAY) Err#2
EN OENT
13418/1: 0.0000 fstat64(2, 0xF782BC38) = 0
13418/1: d=0x09580000 i=711604508 m=0020620 l=1 u=0 g=7
rdev
=0x01B4001D
13418/1: at = May 2 18:11:14 EST 2013 [ 1367482274.000000000
]
13418/1: mt = May 2 18:11:14 EST 2013 [ 1367482274.000000000
]
13418/1: ct = May 1 13:04:15 EST 2013 [ 1367377455.000000000
]
13418/1: bsz=8192 blks=0 fs=dev
13418/1: 0.0000 write(2, " : ", 2) = 2
13418/1: 0.0000 write(2, " c a n n o t r e l a b".., 49) = 49
13418/1: 0.0000 write(2, "\n", 1) = 1
root@cbneuh02b]$ zpool status XTOHTXX1_db
pool: XTOHTXX1_db
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
XTOHTXX1_db ONLINE 0 0 0
/dev/did/dsk/d63s0 ONLINE 0 0 0
/dev/did/dsk/d62s0 ONLINE 0 0 0
/dev/did/dsk/d61s0 ONLINE 0 0 0
/dev/did/dsk/d60s0 ONLINE 0 0 0
Need to take an outage to export zpools, and re-import them in order to
expand ZFS pools.
Bug is 16923140
Solution
Please ask for Oracle support for solution
Action Plan
No comments:
Post a Comment