Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Aug 2014 15:16:15 +0300
From:      Volodymyr Kostyrko <c.kworr@gmail.com>
To:        vbox@FreeBSD.org
Subject:   ZFS zvol support improved - VirtualBox gets unstable with it
Message-ID:  <53EB570F.2000902@b1t.name>

next in thread | raw e-mail | index | archive | help
Hi all.

There was a long time ago when I started to use pure zvol's as 
VirtualBox disks. This way virtual machines were working faster due to 
default smaller cluster size and I also can snapshot them and mount 
right from the OS. Too bad this also required setting 'use host i/o 
cache' at storage controller properties. Without that most guest OS 
would just break or hang.

Recently 10-STABLE was shown some improvements:

1. zfs set volmode=dev <zvol>

Now you can mark zvol as a dev node preventing system from touching it. 
Also this makes working with zvol simpler.

2. r269429 (MFC r269123): Implement separate I/O dispatch method for 
ZVOLs in "dev" mode.

After this one if you have zvol's marked as volmode=dev you can turn off 
useHostIOCache for your virtual machines. And they would also work much 
faster! But alas after that VirtualBox becomes unstable and your 
machines can also fail on heavy IO.

Aug 13 14:00:17 limbo kernel: pid 50275 (VirtualBox), uid 1001: exited 
on signal 11 (core dumped)

00:01:06.704138 NAT: DHCP offered IP address 10.0.2.15
00:01:13.352513 NAT: IPv6 not supported
00:05:10.647121 UIMediumEnumerator: Machine (or snapshot) event 
received, ID = 127e4da5-ca27-41f0-bda7-23a3b76fd447
00:05:10.647313 UIMediumEnumerator:  Old usage: 
d85e4ed7-2c67-4947-ad91-3d37c410e047
00:05:10.649943 UIMediumEnumerator:  New usage: 
d85e4ed7-2c67-4947-ad91-3d37c410e047
00:05:10.650007 UIMediumEnumerator: Machine (or snapshot) event 
processed, ID = 127e4da5-ca27-41f0-bda7-23a3b76fd447

^^^ No errors.

#0  0x00000008020e1dad in RTLogLoggerEx (pLogger=0x811462e40, fFlags=8, 
iGroup=293652128, pszFormat=0x81180c6a0 "$") at 
/tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/Runtime/common/log/logellipsis.cpp:80
80      {

#0  0x00000008020e1dad in RTLogLoggerEx (pLogger=0x811462e40, fFlags=8, 
iGroup=293652128, pszFormat=0x81180c6a0 "$") at 
/tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/Runtime/common/log/logellipsis.cpp:80
         args = {{gp_offset = 4, fp_offset = 0, overflow_arg_area = 0x0, 
reg_save_area = 0x100000000000000}}
#1  0x00000008073632ef in pdmacFileAioMgrNormalReqCompleteRc 
(pAioMgr=0x8141e5620, hReq=0x81180c6a0, rcReq=0, cbTransfered=0)
     at 
/tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp:1348
         rc = 0
         pEndpoint = 0x101000817ea93c0
         pTask = 0x811462e40
         pTasksWaiting = 0x7ffffe9a21f0
#2  0x0000000807365f1c in pdmacFileAioMgrNormalReqsEnqueue 
(pAioMgr=0x8141e5620, pEndpoint=0x8142000a0, pahReqs=0x7ffffe9a2380, 
cReqs=1)
     at 
/tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp:613
         rcReq = 0
         i = 0
         rc = -250
#3  0x0000000807363f6d in pdmacFileAioMgrNormalReqCompleteRc 
(pAioMgr=0x8141e5620, hReq=0x81180c6a0, rcReq=0, cbTransfered=0)
     at 
/tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp:1504
         offStart = 9376530432
         cbToTransfer = 16384
         pbBuf = (uint8_t *) 0x85c2fe000 "\001"
         rc = 0
         pEndpoint = 0x8142000a0
         pTask = 0x811462e40
         pTasksWaiting = 0x7ffffe9a2390
#4  0x0000000807365f1c in pdmacFileAioMgrNormalReqsEnqueue 
(pAioMgr=0x8141e5620, pEndpoint=0x8142000a0, pahReqs=0x7ffffe9a2520, 
cReqs=1)
     at 
/tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp:613
         rcReq = 0
         i = 0
         rc = -250
#5  0x0000000807363f6d in pdmacFileAioMgrNormalReqCompleteRc 
(pAioMgr=0x8141e5620, hReq=0x81180c6a0, rcReq=0, cbTransfered=0)
     at 
/tmp/ports/usr/ports/emulators/virtualbox-ose/work/VirtualBox-4.3.12/src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp:1504
         offStart = 9376530432
         cbToTransfer = 16384
         pbBuf = (uint8_t *) 0x85c2fe000 "\001"
         rc = 0
         pEndpoint = 0x8142000a0
         pTask = 0x811462e40
         pTasksWaiting = 0x7ffffe9a2530

If anyone want's to see whole log I can grab it somewhere, it's too long.

-- 
Sphinx of black quartz judge my vow.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53EB570F.2000902>