logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

qemu-kvmde 磁盘cache参数

qemu-kvmde 磁盘cache的参数有一下五种,在建立虚拟机的过程中 通过下面的函数设定int bdrv_parse_cache_mode(const char *mode, int *flags, bool *writethrough){*flags &= ~BDRV_O_CACHE_MASK;if (!strcmp(mode, "off") || !strcmp

CPU Steal time

CPU Steal time 是指虚拟机vm需要执行某个命令但是没有抢到物理cpu来执行的时间.其实现在arch/arm64/kernel/paravirt.c这个特性对应一个kconfig CONFIG_PARAVIRT,开了这个能提高系统性能.开了这个config后,这个特性就使能了,但是这个特性应该只在guest kernel中使用,host的kernel中则可以关掉这个特性sta...

文章图片
#linux#服务器#运维
libvirt的log在/var/log中

virsh 使用libvirt管理的虚拟机的log在/var/log中,从log中能看到很多虚拟机相关的信息

nova创建虚拟机时资源的检测

在通过/nova/compute/manager.py:ComputeManager中的_build_and_run_instance来创建虚拟机的时候,会通过claim机制来监视当前的资源是否够创建虚拟机    def _build_and_run_instance(self, context, instance, image, injected_files,            ad

virsh edit查询虚拟机

通过UI 可以知道目前两个虚拟机都在计算节点上登录计算节点,通过virsh list可以看到这两个虚拟机通过virsh edit 可以查看虚拟机的xml虚拟机的类型是kvm用的模拟器是qemu-system-aarch64用的是openvswitch tap是tapa7b97820

为虚拟机添加一张网卡

首先查看instance目前只有一个网卡选择attach interface这里选择lan1这样就可以看到instance 有两张网卡从网络拓扑结构可以看出instance 添加网卡前和网卡后的变化变化前:变化后:可以看到vxlan这个instance 同时连到lan1和vxlan这两个网络上

使用heat创建虚拟机

点击上差untest.yaml文件填写stackname可以看到这个时候heat创建失败了进去后发现失败的原因是选择网络的时候有多个选择,但是不知道选择哪个所以错误了.这个test.yaml 文件如下:为这个文件增加网络部分重新建立stack就会成功

kvm module 初始化

kvm的基本结构分为KVM driver + QEMU,其中KVM是kernel内核的一个模块。主要负责虚拟机的创建,虚拟内存的分配,虚拟cpu寄存器的读写等.QEMU和kvm之前通过IOCTL来通信。我们一下主要讨论arm 的kvm在kernel的实现部分.kvm在kernel中的code 主要分布在下面两个路径中.linux/arch/arm/kvmlinux/virt/kvm

qemu的linux-user mode

qemu是一个支持跨平台的虚拟机,其使用分两种方式,分别是system mode和user mode。在qemu的system mode的配置下可以模拟出来整个计算机。从源码的路径看user mode 根据架构的不同有分为bsd-user和linux-user,这里以linux-user为例看看user mode具体作用是啥?linux-user mode的的源码在linux-user中,从源码中

kernel中ksm特性

ksm的全称是kernel samepage mergeing,主要用于合并内容相同的页面,只要用于虚拟机中存在的大量的冗余页面。在kernel中可以通过PageKsm 来判断一个页面是否是ksm页面static __always_inline int PageKsm(struct page *page){page = compound_head(page);return ((un...

    共 52 条
  • 1
  • 2
  • 3
  • 6
  • 请选择