> Hi. > > If I create an Oracle volume using zfs like this > # zpool create -f oracle c0t1d0 > # zfs create -V 500mb oracle/system.dbf > # cd /dev/zvol/rdsk/oracle > # chown oracle:oinstall system.dbf > > Would it be similar to a vxvm raw volume like > /dev/vx/rdsk/oracle/system.dbf >********************************************************************************************** Aten??o: Esta mensagem foi enviada para uso exclusivo do(s) destinat?rios(s) acima identificado(s), podendo conter informa??es e/ou documentos confidencias/privilegiados e seu sigilo ? protegido por lei.Caso voc? tenha recebido por engano, por favor, informe o remetente e apague-a de seu sistema.Notificamos que ? proibido por lei a sua reten??o, dissemina??o, distribui??o, c?pia ou uso sem expressa autoriza??o do remetente.Opini?es pessoais do remetente n?o refletem, necessariamente, o ponto de vista da CETIP, o qual ? divulgado somente por pessoas autorizadas. Attention: This message was sent for exclusive use of the addressees above identified, being able to contain information and or privileged/confidential documents and law protects its secrecies.In case that you it has received for deceit, please, it informs the shipper and erases it of your system. We notify that law forbids its retention, dissemination, distribution, copy or use without express authorization. Personal opinions of the shipper do not reflect, necessarily, the point of view of the CETIP, which is only divulged by authorized people. **********************************************************************************************
Hello Sergio, Wednesday, October 25, 2006, 1:29:25 AM, you wrote:>> Hi. >> >> If I create an Oracle volume using zfs like this >> # zpool create -f oracle c0t1d0 >> # zfs create -V 500mb oracle/system.dbf >> # cd /dev/zvol/rdsk/oracle >> # chown oracle:oinstall system.dbf >> >> Would it be similar to a vxvm raw volume like >> /dev/vx/rdsk/oracle/system.dbfyes -- Best regards, Robert mailto:rmilkowski at task.gda.pl http://milek.blogspot.com
one question related with this: would KAIO be supported on such configuration ? At least trying to open /dev/zvol/rdsk/datapool/master where master is defined as: # zpool create -f datapool mirror c1t1d0 c2t0d0 # zfs create -V 1gb datapool/master # ls -lrt /dev/zvol/rdsk/datapool/master lrwxrwxrwx 1 root root 39 Feb 1 18:29 /dev/zvol/rdsk/datapool/master -> ../../../../devices/pseudo/zfs at 0:3c,raw resulted with: # truss -t kaio,lwp_create ./test-kaio /dev/zvol/rdsk/datapool/master kaio(AIOINIT) = 0 lwp_create(0x08046860, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, 0x0804685C) = 2 /2: lwp_create() (returning as new lwp ...) = 0 /1: kaio(AIOREAD, 5, 0x08046C2C, 1024, 0, 0x0804702C) Err#81 EBADFD /1: lwp_create(0x08046820, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, 0x0804681C) = 3 /3: lwp_create() (returning as new lwp ...) = 0 /1: lwp_create(0x08046820, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, 0x0804681C) = 4 /4: lwp_create() (returning as new lwp ...) = 0 /1: lwp_create(0x08046820, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, 0x0804681C) = 5 /5: lwp_create() (returning as new lwp ...) = 0 /1: lwp_create(0x08046820, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, 0x0804681C) = 6 /6: lwp_create() (returning as new lwp ...) = 0 /1: lwp_create(0x08046820, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, 0x0804681C) = 7 /7: lwp_create() (returning as new lwp ...) = 0 /4: kaio(AIONOTIFY) = 0 /1: kaio(AIOWAIT, 0x00000000, 0) = 1 aio succeeded Comments ? The original question came from a real setup using Sybase which spits a lot of: 733/1: 4137604 6 1 kaio(0x2, 0xFFFFFFFFFFFFFFFF, 0x1) = -1 Err#22 733/1: 4137611 7 3 pollsys(0x1000010B3A8, 0x1A, 0x10009FE6BF0) = 1 0 733/1: 4137614 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, 0x1) = -1 Err#22 733/1: 4137622 5 2 recv(0x17, 0x100044F20F0, 0x800) = 109 0 733/1: 4137626 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, 0x1) = -1 Err#22 733/1: 4137631 6 2 pollsys(0x1000010B3A8, 0x1A, 0x10009FE6BF0) = 0 0 733/1: 4137633 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, 0x1) = -1 Err#22 733/1: 4137636 4 1 pollsys(0x1000010B3A8, 0x1A, 0x10009FE6BF0) = 0 0 733/1: 4137637 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, 0x1) = -1 Err#22 733/1: 4137641 4 1 pollsys(0x1000010B3A8, 0x1A, 0x10009FE6BF0) = 0 0 733/1: 4137642 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, 0x1) = -1 Err#22 733/1: 4137646 4 1 pollsys(0x1000010B3A8, 0x1A, 0x10009FE6BF0) = 0 0 733/1: 4137647 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, 0x1) = -1 Err#22 733/1: 4137650 4 1 pollsys(0x1000010B3A8, 0x1A, 0x10009FE6BF0) = 0 0 733/1: 4137652 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, 0x1) = -1 Err#22 733/1: 4137655 4 1 pollsys(0x1000010B3A8, 0x1A, 0x10009FE6BF0) = 0 0 733/1: 4137657 4 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, 0x1) = -1 Err#22 733/1: 4137660 4 1 pollsys(0x1000010B3A8, 0x1A, 0x10009FE6BF0) = 0 0 Thanks, Stefan test-kaio.c http://sunsite.uakom.sk/sunworldonline/swol-07-1998/swol-07-insidesolaris.html -- This message posted from opensolaris.org
Stefan,> one question related with this: would KAIO be supported on such > configuration ?Yes, but not as one might expect. As seen from the truss output below, the call to kaio() fails with EBADFD, a direct result of the fact that for ZFS its cb_ops interface for asynchronous read and write are set to nodev, resulting in ENXIO being returned. The kaio() routine detects this ENXIO error, allocates a LWP thread to perform the now synchronous I/O, asynchronously. Although the following following CR does not explicitly call it out, http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6496357 , it resulting in the following changes being made to zfs_ioclt.c and zvol.c, being the removal of the kernel mode AIO interfaces. http://cvs.opensolaris.org/source/diff/onnv/onnv-gate/usr/src/uts/common/fs/zfs/zfs_ioctl.c?r1=%2Fonnv%2Fonnv-gate%2Fusr%2Fsrc%2Futs%2Fcommon%2Ffs%2Fzfs%2Fzfs_ioctl.c%403638&r2=%2Fonnv%2Fonnv-gate%2Fusr%2Fsrc%2Futs%2Fcommon%2Ffs%2Fzfs%2Fzfs_ioctl.c%403444 http://cvs.opensolaris.org/source/diff/onnv/onnv-gate/usr/src/uts/common/fs/zfs/zvol.c?r1=%2Fonnv%2Fonnv-gate%2Fusr%2Fsrc%2Futs%2Fcommon%2Ffs%2Fzfs%2Fzvol.c%403638&r2=%2Fonnv%2Fonnv-gate%2Fusr%2Fsrc%2Futs%2Fcommon%2Ffs%2Fzfs%2Fzvol.c%403461 These routines were removed as part of 6496357, since both invoked zvol_strategy, a routine the is somewhat synchronous in nature. Even when invoked from multiple LPW threads, parallel threads can still synchronize, depending on byte-range-locking at the following location. http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/zfs/zvol.c#1130 - Jim> At least trying to open /dev/zvol/rdsk/datapool/master where master > is defined > as: > > # zpool create -f datapool mirror c1t1d0 c2t0d0 > # zfs create -V 1gb datapool/master > # ls -lrt /dev/zvol/rdsk/datapool/master > lrwxrwxrwx 1 root root 39 Feb 1 18:29 /dev/zvol/rdsk/datapool/master > -> ../../../../devices/pseudo/zfs at 0:3c,raw > > > resulted with: > # truss -t kaio,lwp_create ./test-kaio /dev/zvol/rdsk/datapool/master > kaio(AIOINIT) = 0 > lwp_create(0x08046860, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, > 0x0804685C) = 2 > /2: lwp_create() (returning as new lwp ...) = 0 > /1: kaio(AIOREAD, 5, 0x08046C2C, 1024, 0, 0x0804702C) Err#81 EBADFD > /1: lwp_create(0x08046820, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, > 0x0804681C) = 3 > /3: lwp_create() (returning as new lwp ...) = 0 > /1: lwp_create(0x08046820, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, > 0x0804681C) = 4 > /4: lwp_create() (returning as new lwp ...) = 0 > /1: lwp_create(0x08046820, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, > 0x0804681C) = 5 > /5: lwp_create() (returning as new lwp ...) = 0 > /1: lwp_create(0x08046820, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, > 0x0804681C) = 6 > /6: lwp_create() (returning as new lwp ...) = 0 > /1: lwp_create(0x08046820, LWP_DAEMON|LWP_DETACHED|LWP_SUSPENDED, > 0x0804681C) = 7 > /7: lwp_create() (returning as new lwp ...) = 0 > /4: kaio(AIONOTIFY) = 0 > /1: kaio(AIOWAIT, 0x00000000, 0) = 1 > aio succeeded > > > Comments ? The original question came from a real setup using Sybase > which spits a lot of: > > 733/1: 4137604 6 1 kaio(0x2, 0xFFFFFFFFFFFFFFFF, > 0x1) = -1 Err#22 > 733/1: 4137611 7 3 pollsys(0x1000010B3A8, 0x1A, > 0x10009FE6BF0) = 1 0 > 733/1: 4137614 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, > 0x1) = -1 Err#22 > 733/1: 4137622 5 2 recv(0x17, 0x100044F20F0, > 0x800) = 109 0 > 733/1: 4137626 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, > 0x1) = -1 Err#22 > 733/1: 4137631 6 2 pollsys(0x1000010B3A8, 0x1A, > 0x10009FE6BF0) = 0 0 > 733/1: 4137633 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, > 0x1) = -1 Err#22 > 733/1: 4137636 4 1 pollsys(0x1000010B3A8, 0x1A, > 0x10009FE6BF0) = 0 0 > 733/1: 4137637 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, > 0x1) = -1 Err#22 > 733/1: 4137641 4 1 pollsys(0x1000010B3A8, 0x1A, > 0x10009FE6BF0) = 0 0 > 733/1: 4137642 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, > 0x1) = -1 Err#22 > 733/1: 4137646 4 1 pollsys(0x1000010B3A8, 0x1A, > 0x10009FE6BF0) = 0 0 > 733/1: 4137647 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, > 0x1) = -1 Err#22 > 733/1: 4137650 4 1 pollsys(0x1000010B3A8, 0x1A, > 0x10009FE6BF0) = 0 0 > 733/1: 4137652 3 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, > 0x1) = -1 Err#22 > 733/1: 4137655 4 1 pollsys(0x1000010B3A8, 0x1A, > 0x10009FE6BF0) = 0 0 > 733/1: 4137657 4 0 kaio(0x2, 0xFFFFFFFFFFFFFFFF, > 0x1) = -1 Err#22 > 733/1: 4137660 4 1 pollsys(0x1000010B3A8, 0x1A, > 0x10009FE6BF0) = 0 0 > > > Thanks, > Stefan > > test-kaio.c http://sunsite.uakom.sk/sunworldonline/swol-07-1998/swol-07-insidesolaris.html > -- > This message posted from opensolaris.org > _______________________________________________ > zfs-discuss mailing list > zfs-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss