札记:Xen是如何工作的?

    

    hypervisor || domain0 || domainU
    ==>Xen改进后,domainU也可以直接访问具体的硬件设备了===>???
    ==>Hypervisor ==>是一个软件层==>在硬件之上,os之下,负责cpu调度和memory分配;
    ==>Domain0==>Xen DomainManagement-and-Control==>DMC==>是一个修改的Linux kernel运行在hypervisor之上,
      其可以访问IO资源,也可以和其他的虚拟机资源交互,如DomainU
    ==>DomainU (Guest)==>PV Guest || HVM Guest==>Domain0要求在DomainU启动之前运行,
    Domain0和DomainU都属于虚拟机,即virtual machine
    DomainU上运行的Guest,可以是Linux,Solaris,属于PV范围;不能修改的os,像windows属于HVM范围。
    Hypervisor不负责IO,外部存储设备、视频和任何其他IO功能;
    PV Drivers==>Network Backend Driver || Block Backend Driver==>
    Guest都是运行在DomainU之上的,Domain0时不提Guest。
    2.Domain0==>包含两个驱动==>Network Backend Driver || Block Backend Driver
    *****************************
    3.作为计算机系统,主要部件有:cpu、memory、networking、disk
      >>>hypervisor==>负责cpu和memory
      >>>Domain0==>负责disk和networking的后台驱动==>backendDriver能直接访问物理硬件,并和domainU交互,
      >>>DomainU==>负责disk和networking的前台驱动==>不能直接访问物理硬件,如:disk和network==>Qemu-DM存在于domain0之中,但负责DomainU上的disk和network
        >>对于每一个HVM Guest,都会在Domain0上对应一个Qemu-DM
    4.按分层结构划分的话,hypervisor-->domain0-->domainU
    5.DMC==>Domain Management and Control
      >>>Xend ==>Xen daemon==>是一个python应用,看作xen环境下的系统管理器
      >>>交互数据==>XML RPC
      >>>工具XM==>命令行工具,接收用户输入,通过XML RPC和Xen交互==XML-RPC
          >>>通过http协议,一套允许运行在不同操作系统、不同环境的程序实现基于Internet过程调用的规范和一系列的实现。
      >>>Xenstored==>维护注册信息,包括内存和连接Domain0和其他所有的DomainU的事件通道
      >>>Libxenctrl ==>C库,让xend具备在hypervisor和domain0间通讯的能力==>位于domain0之中
      >>>privcmd==>位于domain0中,分发请求到hypervisor上。
     6.Qemu-DM==>位于domain0中,但负责DomainU上的disk和network
       >>>【问题】是否仅对于DomainU上有HVM时,才在domain0上启动Qemu-DM??,有PV时,是否也会在domain0上对应一个Qemu-DM呢?==>答案:是
       >>>DomainU上每有一个guest,在domain0上就会启动一个Qemu-DM

       >>>DM==>Daemon
       >>>Stub-dm==>是因为Qemu-DM对每一个HVM Guest,都会在domain0上启动一个Qemu-DM==>stub-dm会提供一组可用的服务来替代Qemu-DM的方式。
       >>>但在Xen3.2中,stub-dm还不可用。
       注意:Qemu-DM和privcmd都位于domain0中,前者负责和domainU交互,后者负责和hypervisor交互
     7.XenVirtualFirmware==>一个虚拟化的BIOS,位于每一个DomainU HVM guest之中==>确保os接收到所有的标准启动指令
     8.Xen PCI Passthru==>为提高性能和减少domain0上的负载,出现了Xen PCI Passthru==>可以让domainU直接访问硬件,之前的设计中,domainU通过domain0访问硬件。
        >>>通过Xen PCI Passthru可以让DomainU直接访问指定的硬件,替代之前分前后驱动,分别置于DomainU和Domain0的方式。
        >>>PCI==>Peripheral Component Interconnnect==>外部组件互连
        >>>Passthru==>passthrough
        >>>对于访问网络、磁盘等,有了Xen PCI Passthru后,取代了之前采用前后台驱动的方式。
        >>>PCI设备==>a PCI device (NIC, disk controller, HBA, USB controller, firewire controller, soundcard, etc)
           >>>HBA ==>HostBusAdapter==>主机总线适配器
      注意:【问题】Xen PCI Passthru从Xen哪个版本开始有?==>至少是在Xen3.3之后==>在Xen4.x版本才有

猜你喜欢

转载自can-do.iteye.com/blog/2244377
XEN