|
Description
|
metastat output shows wrong replicated config/disks
after metaimport of replicated set and sometimes
getting Assertion failed if using metastat -s <setname> -c
on replicated config.
See test below:
Original set achim1 was replicated with dd copy:
d4u-480a# metastat -s achim1 -c
achim1/d100 p 10GB achim1/d90
achim1/d90 m 67GB achim1/d80
achim1/d80 s 67GB /dev/dsk/c6t2000000C50961DEEd0s0 /dev/dsk/c6t2000000C50962F51d0s0
d4u-480a#
d4u-480a# metaset -s achim1
Set name = achim1, Set number = 3
Host Owner
d4u-480a Yes
Drive Dbase
/dev/dsk/c6t2000000C50961DEEd0 Yes
/dev/dsk/c6t2000000C50962F51d0 Yes
d4u-480a#
d4u-480a# metaset
Set name = achim1, Set number = 3
Host Owner
d4u-480a Yes
Drive Dbase
/dev/dsk/c6t2000000C50961DEEd0 Yes
/dev/dsk/c6t2000000C50962F51d0 Yes
d4u-480a# metaimport -rv
metaimport: no unconfigured sets detected
d4u-480a# pwd
/
d4u-480a# dd if=/dev/dsk/c6t2000000C50961DEEd0s7 of=/dev/dsk/c6t2000000C50961C15d0s7 bs=16b
541+1 records in
541+1 records out
d4u-480a# dd if=/dev/dsk/c6t2000000C50962F51d0s7 of=/dev/dsk/c6t2000000C50961DD6d0s7 bs=16b
541+1 records in
541+1 records out
d4u-480a# metaimport -rv
Import: metaimport -s <newsetname> c6t2000000C50961C15d0
Last update: Wed Sep 6 15:55:20 2006
Device offset length replica flags
c6t2000000C50961C15d0 16 8192 a u
c6t2000000C50961DD6d0 16 8192 a u
d4u-480a#
d4u-480a# metaimport -rv
Import: metaimport -s <newsetname> c6t2000000C50961C15d0
Last update: Wed Sep 6 15:55:20 2006
Device offset length replica flags
c6t2000000C50961C15d0 16 8192 a u
c6t2000000C50961DD6d0 16 8192 a u
d4u-480a# metaimport -s repl1 c6t2000000C50961C15d0
Drives in replicated diskset including disk c6t2000000C50961C15d0:
c6t2000000C50961C15d0
c6t2000000C50961DD6d0
More info:
metaimport -r -v c6t2000000C50961C15d0
Disk movement detected
Updating device names in Solaris Volume Manager
d4u-480a# metastat -s repl1 -c
repl1/d100 p 10GB repl1/d90
repl1/d90 m 67GB repl1/d80
Assertion failed: sp->setno == MD_MIN2SET(meta_getminor(np->dev)), file ../common/meta_nameinfo.c, line 1055
metastat: Abort
Abort - core dumped
d4u-480a# mdb core
Loading modules: [ libc.so.1 libnvpair.so.1 libuutil.so.1 libavl.so.1 ld.so.1 ]
> $c
libc.so.1`_lwp_kill+8(6, 6, 5, 6, 32d64, 0)
libc.so.1`abort+0xd0(ffbff6e0, ff2700b8, 0, a8350, ff268284, ff270904)
libc.so.1`_assert+0x64(ff323cf0, ff323d20, 41f, 2250, a806c, ff34218c)
libmeta.so.1`meta_get_mdunit+0x190(27448, 2d9e8, ffbffa88, 1, 6d330, ff217644)
0x1454c(8, 27448, 2d9e8, 26800, 26b58, 2d9e8)
0x13f34(8, 27448, 2d9e8, 2d6c0, 26b58, 26800)
0x145f0(4, 27448, 2, 26800, 26b58, 29398)
0x13aa4(2a0a8, ffbffd10, 0, 70, ffbffcec, ffffffff)
0x12cc0(27448, 184, 1, 1, 26800, 0)
main+0x448(0, ffbffe94, ffffffff, 0, ffbfff3c, 184)
_start+0x108(0, 0, 0, 0, 0, 0)
> $q
d4u-480a# metastat -s achim1 -c
achim1/d100 p 10GB achim1/d90
achim1/d90 m 67GB achim1/d80
achim1/d80 s 67GB /dev/dsk/c6t2000000C50961DEEd0s0 /dev/dsk/c6t2000000C50962F51d0s0
d4u-480a# metaset -s achim1
Set name = achim1, Set number = 3
Host Owner
d4u-480a Yes
Drive Dbase
/dev/dsk/c6t2000000C50961DEEd0 Yes
/dev/dsk/c6t2000000C50962F51d0 Yes
d4u-480a#
I used the same config before in another test and got below output
which shows wrong metastat output for replicated set but didn't
got that assertion failed issue.
The right disks get imported but metastat states
about the older ones with old config.
Right would be seeing the same config but on
replicated drives.
d4u-480a# metaimport -rv
metaimport: no unconfigured sets detected
d4u-480a# metaset
Set name = achim, Set number = 1
Host Owner
d4u-480a Yes
Drive Dbase
/dev/dsk/c6t2000000C5096260Ed0 Yes
/dev/dsk/c6t2000000C5096302Dd0 Yes
d4u-480a# dd if=/dev/dsk/c6t2000000C5096260Ed0s7
of=/dev/dsk/c6t2000000C5096353Fd0s7 bs=16b
541+1 records in
541+1 records out
d4u-480a# dd if=//dev/dsk/c6t2000000C5096302Dd0s7
of=/dev/dsk/c6t2000000C50963005d0s7 bs=16b
541+1 records in
541+1 records out
d4u-480a# metaset
Set name = achim, Set number = 1
Host Owner
d4u-480a Yes
Drive Dbase
/dev/dsk/c6t2000000C5096260Ed0 Yes
/dev/dsk/c6t2000000C5096302Dd0 Yes
d4u-480a# metaimport -rv
Import: metaimport -s <newsetname> c6t2000000C5096353Fd0
Last update: Mon Sep 4 13:10:18 2006
Device offset length replica flags
c6t2000000C5096353Fd0 16 8192 a u
c6t2000000C50963005d0 16 8192 a u
d4u-480a# metaimport -s repliacted c6t2000000C5096353Fd0
Drives in replicated diskset including disk c6t2000000C5096353Fd0:
c6t2000000C5096353Fd0
c6t2000000C50963005d0
More info:
metaimport -r -v c6t2000000C5096353Fd0
meta_upd_ctdnames: /dev/dsk/c6t2000000C5096353Fd0s7 0 args: setno 0 sideno 1
Search path :/dev/dsk searth_type: 2
Old device lookup: /dev/dsk/c6t2000000C5096353Fd0s7 (1d8011f)
From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s0 (1d80118)
From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s1 (1d80119)
From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s2 (1d8011a)
From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s3 (1d8011b)
From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s4 (1d8011c)
From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s5 (1d8011d)
From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s6 (1d8011e)
From devid lookup: /dev/dsk/c6t2000000C5096353Fd0s7 (1d8011f)
meta_upd_ctdnames: match: 3 i: 7
meta_upd_ctdnames: /dev/dsk/c6t2000000C50963005d0s7 0 args: setno 0 sideno 1
Search path :/dev/dsk searth_type: 2
Old device lookup: /dev/dsk/c6t2000000C50963005d0s7 (1d80127)
From devid lookup: /dev/dsk/c6t2000000C50963005d0s0 (1d80120)
From devid lookup: /dev/dsk/c6t2000000C50963005d0s1 (1d80121)
From devid lookup: /dev/dsk/c6t2000000C50963005d0s2 (1d80122)
From devid lookup: /dev/dsk/c6t2000000C50963005d0s3 (1d80123)
From devid lookup: /dev/dsk/c6t2000000C50963005d0s4 (1d80124)
From devid lookup: /dev/dsk/c6t2000000C50963005d0s5 (1d80125)
From devid lookup: /dev/dsk/c6t2000000C50963005d0s6 (1d80126)
From devid lookup: /dev/dsk/c6t2000000C50963005d0s7 (1d80127)
meta_upd_ctdnames: match: 3 i: 7
pathname_reload: examining /dev/md/repliacted/dsk/d90
pathname_reload: no devid for /dev/md/repliacted/dsk/d90
pathname_reload: examining /dev/dsk/c6t2000000C5096260Ed0s0
devid: id1,ssd@n2000000c5096260e/a
Old device lookup: /dev/dsk/c6t2000000C5096260Ed0s0 (1d80110)
From devid lookup: /dev/dsk/c6t2000000C5096260Ed0s0 (1d80110)
Name match: /dev/dsk/c6t2000000C5096260Ed0s0 and
/dev/dsk/c6t2000000C5096260Ed0s0 (32)
All matched /dev/dsk/c6t2000000C5096260Ed0s0
pathname_reload: examining /dev/dsk/c6t2000000C5096302Dd0s0
devid: id1,ssd@n2000000c5096302d/a
Old device lookup: /dev/dsk/c6t2000000C5096302Dd0s0 (1d80130)
From devid lookup: /dev/dsk/c6t2000000C5096302Dd0s0 (1d80130)
Name match: /dev/dsk/c6t2000000C5096302Dd0s0 and
/dev/dsk/c6t2000000C5096302Dd0s0 (32)
All matched /dev/dsk/c6t2000000C5096302Dd0s0
pathname_reload: examining /dev/md/repliacted/dsk/d70
pathname_reload: no devid for /dev/md/repliacted/dsk/d70
replica update: search_path /dev/dsk
replica update: current /dev/dsk/c6t2000000C5096260Ed0s7 (1d8011f)
replica update: devid list: /dev/dsk/c6t2000000C5096353Fd0s7 (1d8011f)
fix_replicanames: match: 1 i: 0
replica update: reloading /dev/dsk/c6t2000000C5096353Fd0s7 11f
Disk movement detected
Updating device names in Solaris Volume Manager
Updating locator name
replica update: search_path /dev/dsk
replica update: current /dev/dsk/c6t2000000C5096302Dd0s7 (1d80127)
replica update: devid list: /dev/dsk/c6t2000000C50963005d0s7 (1d80127)
fix_replicanames: match: 1 i: 0
replica update: reloading /dev/dsk/c6t2000000C50963005d0s7 127
Updating locator name
d4u-480a# metaset
Set name = achim, Set number = 1
Host Owner
d4u-480a Yes
Drive Dbase
/dev/dsk/c6t2000000C5096260Ed0 Yes
/dev/dsk/c6t2000000C5096302Dd0 Yes
Set name = repliacted, Set number = 2
Host Owner
d4u-480a Yes
Drive Dbase
/dev/dsk/c6t2000000C5096353Fd0 Yes
/dev/dsk/c6t2000000C50963005d0 Yes
d4u-480a# metastat -s achim -c
achim/d100 p 10GB achim/d90
achim/d90 m 67GB achim/d70
achim/d70 s 67GB /dev/dsk/c6t2000000C5096260Ed0s0
/dev/dsk/c6t2000000C5096302Dd0s0
d4u-480a# metastat -s repliacted -c
repliacted/d100 p 10GB repliacted/d90
repliacted/d90 m 67GB repliacted/d70
repliacted/d70 s 67GB /dev/dsk/c6t2000000C5096260Ed0s0
/dev/dsk/c6t2000000C5096302Dd0s0
d4u-480a#
|