Hello group,

I'm using Nevada build 65 on x86_64. It is my first attempt with AVS(btw:
 it's awesome!!), so probabbly I'm doing something wrong.
Both nodes have identical configuration and hardware(VMware powered ;)). AVS
is downloaded from opensolaris.org AVS project site.

I've got working Remote Mirror between two nodes, but the problem which keeps
me thinking is that avs2 node simply panics when I'm trying to import pool1
(zpool import pool1) when sndradm -P states that the volume is in
"replicating" state. With replicated UFS volume mount simply returns "I/O
error". I know I should switch state to logging from replicating "using
sndradm -l" before importing ZFS pool, but is this panic a correct behaviour?

avs2# sndradm -v
Remote Mirror version 11.11
avs2# dscfgadm -i
SERVICE         STATE           ENABLED
nws_scm         online          true
nws_sv          online          true
nws_ii          online          true
nws_rdc         online          true
nws_rdcsyncd    online          true

Availability Suite Configuration:
Local configuration database: valid
avs2# pkginfo | grep -i Availa
system      SUNWiir                      Sun StorageTek Availability Suite
Point-In-Time Copy (root)
system      SUNWiiu                      Sun StorageTek Availability Suite
Point-In-Time Copy (usr)
system      SUNWrdcr                     Sun StorageTek Availability Suite
Remote Mirror (root)
system      SUNWrdcu                     Sun StorageTek Availability Suite
Remote Mirror (usr)
system      SUNWscmr                     Sun StorageTek Availability Suite
Cache Management (root)
system      SUNWscmu                     Sun StorageTek Availability Suite
Cache Management (usr)
system      SUNWspsvr                    Sun StorageTek Availability Suite
Volume Driver (root)
system      SUNWspsvu                    Sun StorageTek Availability Suite
Volume Driver (usr)

avs2# sndradm -P
/dev/rdsk/c0d1s0        <-      avs1-ipsan:/dev/rdsk/c0d1s0
autosync: off, max q writes: 4096, max q fbas: 16384, async threads: 2, mode:
sync, state: logging

Hope it helps:

avs2# mdb -k unix.0  vmcore.0
Loading modules: [ unix genunix specfs dtrace cpu.AuthenticAMD.15 uppc
pcplusmp scsi_vhci ufs ip hook neti sctp arp usba fctl lofs zfs random nsctl
sdbc sv ii rdc crypto ptm md fcip fcp logindmux ]

> $C

ffffff00014b09e0 vpanic()
ffffff00014b0a40 zio_done+0x17c(fffffffec9e61058)
ffffff00014b0a60 zio_next_stage+0xb3(fffffffec9e61058)
ffffff00014b0ab0 zio_wait_for_children+0x5d(fffffffec9e61058, 11,
fffffffec9e612b0)
ffffff00014b0ad0 zio_wait_children_done+0x20(fffffffec9e61058)
ffffff00014b0af0 zio_next_stage+0xb3(fffffffec9e61058)
ffffff00014b0b40 zio_vdev_io_assess+0x129(fffffffec9e61058)
ffffff00014b0b60 zio_next_stage+0xb3(fffffffec9e61058)
ffffff00014b0bb0 vdev_mirror_io_done+0x2af(fffffffec9e61058)
ffffff00014b0bd0 zio_vdev_io_done+0x26(fffffffec9e61058)
ffffff00014b0c60 taskq_thread+0x1a7(fffffffec0dbd0e8)
ffffff00014b0c70 thread_start+8()

> ::showrev

Hostname: avs1
Release: 5.11
Kernel architecture: i86pc
Application architecture: amd64
Kernel version: SunOS 5.11 i86pc snv_65
Platform: i86pc

> ::status

debugging crash dump vmcore.0 (64-bit) from avs2
operating system: 5.11 snv_65 (i86pc)
panic message:
ZFS: I/O failure (write on <unknown> off 0: zio fffffffec9e61058 [L0 DMU
dnode] 4000L/400P DVA[0]=<0:ac00:400> DVA[1]=<0:110
ac00:400> fletcher4 lzjb LE contiguous birth=600 fill=3 cksum=6159ff0a60:32
dump content: kernel pages only

> ::panicinfo

             cpu                0
          thread ffffff00014b0c80
         message
ZFS: I/O failure (write on <unknown> off 0: zio fffffffec9e61058 [L0 DMU
dnode] 4000L/400P DVA[0]=<0:ac00:400> DVA[1]=<0:110
ac00:400> fletcher4 lzjb LE contiguous birth=600 fill=3
cksum=6159ff0a60:32c32426f64c:f94117f9d6b74:39c59e95405282c): error
5
             rdi fffffffff7ccce80
             rsi ffffff00014b09b8
             rdx fffffffff7cccf18
             rcx fffffffff7ccbe20
              r8 ffffff00014b09f0
              r9 fffffffec9e61058
             rax                0
             rbx fffffffec9e0c040
             rbp ffffff00014b09e0
             r10 ffffff00014b0900
             r10 ffffff00014b0900
             r11 ffffff00014b07bd
             r12 fffffffff7ccce60
             r13 fffffffec9e61058
             r14 fffffffec05c2000
             r15                0
          fsbase                0
          gsbase fffffffffbc26b30
              ds               4b
              es               4b
              fs                0
              gs              1c3
          trapno                0
             err                0
             rip fffffffffb83afa0
              cs               30
          rflags              246
             rsp ffffff00014b08f8
              ss               38
          gdt_hi                0
          gdt_lo         e00001ef
          idt_hi                0
          idt_lo         73200fff
             ldt                0
            task               70
             cr0         8005003b
             cr2          81b2e00
             cr3          8400000
             cr4              6b8

I think that the zio_done() function from uts/common/fs/zfs/zio.c got this

structure as a parameter:
> fffffffec9e61058::print zio_t

{
    io_parent = 0xfffffffec9e0c040
    io_root = 0xfffffffec9e1ec88
    io_spa = 0xfffffffec05c2000
    io_bookmark = {
        zb_objset = 0x15
        zb_object = 0
        zb_level = 0
        zb_blkid = 0
    }
    io_checksum = 7 (ZIO_CHECKSUM_FLETCHER_4)
    io_compress = 3 (ZIO_COMPRESS_LZJB)
    io_ndvas = 0x2
    io_txg = 0x258
    io_bp = 0xfffffffece9e0000
    io_bp_copy = {
        blk_dva = [
            {
                dva_word = [ 0x2, 0x56 ]
            }
            {
                dva_word = [ 0x2, 0x8856 ]
            }
            {
                dva_word = [ 0, 0 ]
            }
        ]
        blk_prop = 0x800a07030001001f
        blk_pad = [ 0, 0, 0 ]
        blk_birth = 0x258
        blk_fill = 0x3
        blk_cksum = {
            zc_word = [ 0x6159ff0a60, 0x32c32426f64c, 0xf94117f9d6b74,
0x39c59e95405282c ]
        }
    }
    io_child = 0
    io_sibling_prev = 0
    io_sibling_next = 0
    io_transform_stack = 0xfffffffecf41fa40
    io_logical = 0xfffffffec9e61058
    io_ready = arc_write_ready
    io_done = arc_write_done
    io_private = 0xfffffffecf2a7ae0
    io_bp_orig = {
        blk_dva = [
            {
                dva_word = [ 0x2, 0x14c ]
            }
            {
                dva_word = [ 0x2, 0x894c ]
            }
            {
                dva_word = [ 0, 0 ]
            }
        ]
        blk_prop = 0x800a07030001001f
        blk_pad = [ 0, 0, 0 ]
        blk_birth = 0x5f
        blk_fill = 0x3
        blk_cksum = {
            zc_word = [ 0x646111d0ea, 0x33d61f50bdd5, 0xfdca68f08fe7f,
0x3ac43bc46333d61 ]
        }
    }
    io_data = 0xfffffffecf319800
    io_size = 0x400
    io_vd = 0
    io_vsd = 0
    io_offset = 0
    io_deadline = 0
    io_timestamp = 0x3bb5b
    io_offset_node = {
        avl_child = [ 0, 0 ]
        avl_pcb = 0
    }
    io_deadline_node = {
        avl_child = [ 0, 0 ]
        avl_pcb = 0
    }
    io_vdev_tree = 0
    io_delegate_list = 0
    io_delegate_next = 0
    io_flags = 0x10
    io_type = 2 (ZIO_TYPE_WRITE)
    io_stage = 0t21 (ZIO_STAGE_DONE)
    io_stalled = 0
    io_priority = 0x4
    io_dk_callback = {
        dkc_callback = 0
        dkc_cookie = 0
    }
    io_cmd = 0
    io_retries = 0x1
    io_error = 0x5
    io_numerrors = 0x2
    io_pipeline = 0x23e20b
    io_async_stages = 0x14800c
    io_children_notready = 0
    io_children_notdone = 0
    io_waiter = 0
    io_lock = {
        _opaque = [ 0 ]
    }
    io_cv = {
        _opaque = 0
    }
    io_ena = 0x26e1f676c0c00001
}

IMHO it is:
    892                 /*
    893                  * For I/O requests that cannot fail, panic 
appropriately.
    894                  */
    895                 if (!(zio->io_flags & ZIO_FLAG_CANFAIL)) {

Am I doing something wrong or just ZFS somehow should block importing volumes
which are in "replicating" state ??

--
Jakub Wartak
-vnull
http://vnull.pcnet.com.pl
_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss

Reply via email to