run qemu error #1
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
hi, when i install vitastor on centos7 (kernel 5.9), I get the following output
i try building from source and run the same command,get
then rebuild QEMU(3.1.1) with patch (qemu-3.1-vitastor.patch) ,but get
who can help me?
thinks!
Hi, I'll try to help you :) there's nobody else here anyway :))
I'll recheck it and reply here.
OK, it seems like a build issue.
This error probably means you're trying to use the block driver from a mismatching QEMU build.
You must build everything from source following the instruction if you want custom QEMU. Packaged versions can only be used with QEMU from the same repository.
By the way, where did you get qemu 3.1 for centos 7?
I get qemu-3.1 source from https://download.qemu.org/qemu-3.1.1.tar.xz.
Oh, so you tried to build it from source. Yeah, it's definitely possible, just copy headers to Vitastor build directory. Like stated here: https://yourcmc.ru/git/vitalif/vitastor/#user-content-building-from-source
when I install vitastor following the instruction, it can't found fio-3.7.1
I got fio-3.7.1 from http://vault.centos.org/7.8.2003/os/Source/SPackages/fio-3.7-1.el7.src.rpm ,but get
if use fio-3.7 build from https://github.com/axboe/fio/releases/tag/fio-3.7, the fio process can't stop and there is no io on the disk show by iostat.
and I rebuild qemu-2.0.0(get from yumdownloader --source qemu) it still cat't work.
so where can i get the correct package?
Build Vitastor from source, it seems like the most reliable way %)
fio was updated to 3.7-2 in centos 7, that's why vitastor doesn't install. I'm rebuilding it now. Some centos 7 repos (centos-sclo-rh-source, centos-sclo-sclo-testing) are broken currently so my build Dockerfile requires some manual intervention...
With 3.7-1 it should work, no idea why you get this error:
This one:
Means that vitastor client is initalised correctly, but your cluster is down (or there's no cluster at all %)). Client waits for the cluster to come up forever if it's down (maybe I should make it just die if the cluster isn't initialised at all).
And yes, fio doesn't stop on Ctrl-C (that's fio's feature). You can kill it with Ctrl-Z, then
killall -9 fio
in this case.Why do you look at iostat at all? Do you have Vitastor OSDs deployed on these devices?
I checked qemu-img on centos 7, related to your original error (in fact I haven't checked it originally):
Oops. QEMU 2.0 doesn't support dynamic loading of block drivers at all so Vitastor driver can't be loaded. I was hoping it would load anyway, but no.
So for QEMU 2.0 the only way to build Vitastor driver is to include it into QEMU source tree, which I haven't tried at all, and I probably don't want to try it. I'll rather try to package newer QEMU for centos 7...
For now try to build everything from source or use Debian.
// By the way, I discovered CentOS 8 build is also broken, I'll fix it soon. :-)
By the way, if you know where to get QEMU >= 3.x for CentOS 7 - tell me :)
is there any error in start osd (data_offset/journal_offset is OK?) or etcd cmd? osd state is
but query pg state no output,
um, i can't found qemu-3.1 for centos 7 , i download source from https://download.qemu.org/qemu-3.1.1.tar.xz.
OK, I think your OSDs are fine, but did you create any pools? And did you start the monitor service so it could create PGs?
Check /vitastor/config/pgs - are there any PG definitions?
Did it build successfully, does centos 7 include all required dependencies?
yes,i create testpool and run the monitor service.
yes, all dependencies is ok.
If /vitastor/config/pgs is there /vitastor/pg/state/xxx/yyy should also be there.
Please check OSD logs. What do OSDs say?
OK. I just packaged qemu 4.2 for centos 7 (took the spec from centos 8, patched it and disabled some things) and updated the repository. Now packages install well.
thinks, the qemu-img is ok , but there still a issue on qemu-kvm:
as this https://lists.centos.org/pipermail/centos-virt/2017-April/005504.html said add this opt to whitelisted will solve the issue.
OK, I removed the whitelist.
Then this one started to reproduce on CentOS 7:
This is caused by some kind of allocator (glibc vs tcmalloc) conflict. It seems tcmalloc tries to free() a pointer allocated by glibc. It goes away if you run it with
LD_PRELOAD=/lib64/libtcmalloc.so
. Interestingly it doesn't reproduce on CentOS 8 or Debian. So I fixed it for CentOS 7 by rebuilding QEMU with tcmalloc... Another point is that I should probably investigate the actual benefit of tcmalloc, maybe it doesn't make much sense for the single-threaded Vitastor OSD.Then I also discovered that QEMU 4.2 was missing some EFI roms in ipxe-roms-qemu (/usr/share/ipxe.efi), because CentOS 7's version doesn't include them. So I also rebuilt ipxe-roms-qemu from CentOS 8.
Also I packaged jerasure library and rebuilt Vitastor with jerasure support added recently.
CentOS 7 packages seem to finally work...