![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
qemu
文章平均质量分 86
wllabs
一直努力学习和工作中,虽然不如意,但是还是要努力,希望以后越来越好。求各种机会。
展开
-
libvirt numatune 原理
目录numatune是什么线上现状numatune memorylibvirt内核numatune memnodeqemu内核alloc page结论numatune是什么numatune是libvirt的一个参数,可以用在numa架构的虚拟机上,用来控制虚拟机内存访问的亲合性。使用方法如下:xml: <domain> ... <numatune> <memory mode="stric..原创 2021-08-03 09:56:33 · 1274 阅读 · 0 评论 -
qemu 信号线程化
在看qemu_init_main_loop 函数的时候发现 qemu_signal_init 里竟然会调用qemu_set_fd_handler 添加 ctx的io_handlers, 设置 fd对应的处理函数,于是看了下qemu_signal_init ,原来是 信号线程化的,使信号可重入,使信号处理函数可以更复杂。同时这里还使用了 signal_fd,原来现在内核里已实现了信号fd,以前都是用管道,用户态实现通知,qemu为了兼容,两种都实现了,下面分析代码:qemu_init_mai...原创 2020-10-20 09:17:14 · 563 阅读 · 0 评论 -
virtio_vring_index里的guest_index和host_index分析
virtio_vring_index. 获取 vring queue里的guest_index和host_index,初一看是不清楚 什么是 guest_index和host_index。void virtio_vring_index(VirtQueue *vq, NetVringIndex *index){ index->guest_index = vring_g...原创 2020-04-05 17:47:21 · 370 阅读 · 0 评论 -
qcow2 和 rbd qemu侧流程
qcow2的读写更多的是借助qemu本身的协程机制实现并发,在读写文件的时候,使用的是write read的同步阻塞机制,读写完才会继续走下面的流程,没有回调这一说法。但是在write read时,当前协程会被挂起,切换到另一个协程处理。当调度到之前那个读写协程后,再继续往下面走。rbd的读写借助于librbd的异步回调来实现,同样写不会因为write read阻塞当前线程。当读写io完成后,...原创 2020-10-30 16:43:17 · 821 阅读 · 0 评论 -
librbd 使用学习
qemu、rbd-nbd等客户端都是使用librbd进行cephrbd卷的IO访问,如果要深入理解librbd,那么自己写一个client来访问rbd卷(控制操作、IO操作),肯定是个不错的学习方法。#include <stdio.h>#include <stdlib.h>#include <string.h>#include <rad...原创 2019-09-14 22:09:10 · 1733 阅读 · 1 评论 -
qmp hmp 热插拔 设备
{"execute":"__com.redhat_drive_add","arguments":{"file":"/tmp/test.img","format":"raw","id":"drive-virtio-disk1","cache":"none","aio":"threads"},"id":"libvirt-13”}{"execute":"device_add","argumen...原创 2019-07-11 13:15:35 · 699 阅读 · 0 评论 -
drive_add -n 6 if=none,file=/tmp/test.img,format=raw,id=disk11
drive_add -n 6 if=none,file=/tmp/test.img,format=raw,id=disk11 { .name = "drive_add", .args_type = "node:-n,pci_addr:s,opts:s", .params = "[-n] [[<doma...原创 2019-07-08 22:12:33 · 300 阅读 · 0 评论 -
【转】QEMU/KVM磁盘在线备份
QEMU/KVM磁盘的在线完整及增量备份,是“打包”方案的一种具体实现,可实现基于时间点的备份,同时支持本地与远程2种备份方式,并可指定备份文件进行恢复。转载的文章,看了之后,对这个理解更深了,但是应用到生产还是需要有些改动的,比如迁移时迁移bitmap的优化,bitmap持久化,磁盘扩容清除bitmap这些,libvirt 和上层管理端还是需要好好配合下。1. 本文缘由在虚拟化底...转载 2019-04-02 21:15:58 · 747 阅读 · 0 评论 -
服务器自动开启多队列
最近在搞多队列的事情,本身是个比较成熟的东西了。但是需要在开机时间设置下。等会给出具体文章。原创 2019-03-21 14:36:27 · 620 阅读 · 0 评论 -
【转】KVM I/O虚拟化分析
最近在看多队列的东西,看到下面两篇文章,记录下。以后自己也深入写个这方向的知识。0:背景当今的I/O虚拟化主要有几种模式:1):通过设备的模拟设备的模拟主要分为两种,一种是直接在VMM中完成模拟(如xen、vmware),一种是在另一个应用程序中完成模拟(如kvm/qemu)图一 基于VMM模拟的I/O虚拟化...转载 2019-03-12 10:59:37 · 712 阅读 · 0 评论 -
【转】qemu参数解析
转自:https://blog.csdn.net/ayu_ag/article/details/52880416 https://blog.csdn.net/BruceBaoZhiqiang/article/details/17912765 https://blog.csdn.net/fulaidai/article/details/2362647...转载 2019-02-18 17:13:25 · 1152 阅读 · 0 评论 -
qemu版本不一致造成热迁移失败问题
1、查看 nova-compute 迁移失败log2018-01-16 20:44:20.362 12778 ERROR nova.virt.libvirt.driver [req-0ca0ebd9-7cda-465a-b17e-85cc27603ae5 e35986cb7a5b46e2ab7f3941e2776373 ddcca2166db2476原创 2018-01-17 17:21:55 · 6007 阅读 · 0 评论 -
rpm 打包 qemu
rpmbuild --bb 打包qemu-kvm报如下依赖错误:[root@kolla ~]# rpmbuild -bb ~/rpmbuild/SPECS/qemu-kvm.spec error: Failed build dependencies: SDL-devel is needed by qemu-kvm-ev-10:2.6.0-28.el7.centos.10.1.x86_6原创 2017-10-11 17:59:56 · 1328 阅读 · 0 评论 -
安装 qemu-img
安装qemu-img 报依赖:[root@kolla opt]# rpm -ivh qemu-img-ev-2.6.0-28.el7.10.1.x86_64.rpm error: Failed dependencies: libaio.so.1()(64bit) is needed by qemu-img-ev-10:2.6.0-28.el7.10.1.x86_64 libaio原创 2017-10-11 17:46:22 · 5384 阅读 · 1 评论 -
虚拟机libvirt os machine取值
nova代码里获取libvirt里 os type 的machine的,如果这里获取和qemu不一致,会报如下错误:libvirtError: internal error: process exited while connecting to monitor: 2017-10-10T06:45:38.821223Z qemu-kvm: -machine pc-i440fx-rhel7.3.0原创 2017-10-10 14:59:39 · 5610 阅读 · 0 评论