logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

zircon的两种调度理解

zircon 实现两种调度机制,一种就是fair 其实现在fair_scheduler.cpp中,一种是基于时间片的其实现在sched.cpp 中,调度器的入口都在sche_reschedule()这个函数中。例如fair的实现如下:void sched_reschedule() {FairScheduler::Reschedule();}fair的实现是一个cpp的类。另一...

文章图片
#java#前端#服务器
pcie的dpc

DPC的全称是downstream port containment,是针对root port和pcie switch检测到不可恢复的错误时,就会通知下游端口的业务,以防止数据损坏的扩散.其代码在drivers/pci/pcie/dpc.cstatic struct pcie_port_service_driver dpcdriver = {.name= "dpc",.port_...

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

    共 47 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择