ZFS zvol support improved - VirtualBox gets unstable with it
Volodymyr Kostyrko
c.kworr at gmail.com
Wed Aug 13 12:16:20 UTC 2014
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.
More information about the freebsd-emulation
mailing list