• 虚拟化之Xen简介


    1》相关知识简介:

          1>常用的磁盘IO调度器:

                CFQ:完全公平队列算法;

                deadline:最后期限算法;

                anticipatory:顺序读写队列算法/预期算法;

                NOOP:no  operation,最简单的调度算法;

          2>如何替换IO调度算法:默认算法为CFQ;

                /sys/block/<device>/queue/scheduler

                    

          3>内存相关:

                  MMU:是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址                                                        映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统;

               TLB:是(Translation Lookaside Buffer)的缩写,转换检测缓冲区是一个内存管理单元,用于改进虚拟地址到物理地址转换速度的缓存;

               vm.swapiness={0..100}:使用交换分区的倾向性,默认为60,越小越不倾向;

               overcommit_memory=2:过量使用;

               overcommit_ratio=50:百分比

                          swap+RAM*ratio;

                          swap:2G   RAM:8G    可使用为:4+8*1/2=6G  

               如何充分使用物理内存:

                          1)将swap设定为与RAM物理内存一样:swappiness=0;

                          2)overcommit_memory=2,overcommit_ratio=100,swappiness=0;

                                memory:swap+ram

                          3)   tcp_max_tw_buckets:调大,保存允许tcp连接的连接个数,尽量不要让其溢出,tw为主动断开的一方所产生的状态;

                  IPC:

                  message:

                        msgmni,msgmax,msgmnb

                  shm:

                         shmall,shmmax,shmmni

          4>性能监控的相关命令:

                  sar,dstat,vmstat,mpstat,iostat,top,free,iotop,uptime,cat   /proc/meminfo,ss,netstat,lsof,time,perf,strace

                  blktrace,blkparse,btt

                  dd,iozone,io-stress,fio

          5>对于内核来说:

                  CPU:全量CPU时间片;

                  内存:连续的,且是全部的内存空间(必须要从0x0000开头,);

                  I/O:全部可用IO;

    2》虚拟化技术基础详解:

          1>影子MMU来实现地址转换:

                  

                       Intel和AMD分别通过EPT(Extended  Page  Tables)和NPT(Nested  Page   Tables)为虚拟化应用提升影子MMU的性能,并通过标记(tagged)TLB来避免虚拟机切                                       换时频繁清写(flush)TLB以提高TLB缓存的命中率;         

          2>Intel和AMD的开启虚拟化的内核选项:

                Intel:VT-x

                AMD:AMD-v

          3>IO虚拟化:

                 虚拟机是通过软件虚拟化的方式来虚拟出自己所需要的一干硬件设备;

                  

          4>完全虚拟化与半虚拟化:

               半虚拟化比完全虚拟化性能好,跟硬件设备打交道时速度会快很多;

                完全虚拟化:

                    CPU不支持硬件虚拟化技术:模拟特权指令;模拟

                     CPU支持硬件虚拟化技术:VMM运行ring-1,而GuestOS运行ring-0;HVM(Hardware-asistant   VM)

                半虚拟化:

                    CPU,IO,MEMORY;

                       PV  on   HVM:即利用了CPU的辅助虚拟化技术,降低了自己的负荷,又利用了IO的pv能力,这样结合起来的系统性能很好;

          5>虚拟化模型:

                1)Vmware   workstattion,Vmware   Server:

                      

                2)Vmware    ESX,Vmware   ESXi:

                       

                    在物理机中不安装任何操作系统,直接安装Vmware;

                3)XEN虚拟化(QEMU:跨平台虚拟):

                       

          6>KVM(Kernel-based  Virtual  Machine)虚拟化介绍:基于内核的虚拟机;KVM+Qemu

                  

          7>虚拟化:

              Intel:IOMMU

              X86:VT-x,EPT,IOMMU   

          8>X86平台:

              CPU:

                  Intel:VT-x

                  AMD:AMD-v

               MMU:

                 Intel   EPT

                 AMD  NPT

                IO:

                 Intel  IOMMU 

    3》Xen虚拟化及DomU的实现:

            1>Xen虚拟化工作示意图:

                   

                  RHEL5.3:Xen

                  RHEL5.4:Xen和KVM

                  RHEL6.0:KVM(64bits)

                  RHEL6.0:DomU,但不能运行Dom0

                  Linux:2.6.24+  pvops  frameowrk

                      DomU

                  Linux:2.6.37(3.0+)

                      Dom0

                Xen:

                  kernel    /xen.gz

                  module   /

                  module  /

                  Xen-4.0:

                      xend/xm

                  Xen-4.1:

                      xl,xend/xm

                  Xen-4.2:

                      xl  

            2>使红帽6.4版本64位的能够支持运行Dom0的方法:

                  1)下载安装内核最新版本;

                 

                    

                                                                        

     

  • 相关阅读:
    初识spring boot
    javascript的console命令
    (转)三角函数计算,Cordic 算法入门
    (原+转)ROC曲线
    (转)(VS2013 )由于应用程序配置不正确,程序未能启动”--原因及解决方法
    (转)最小二乘法拟合圆公式推导及vc实现[r]
    (原)Eclipse中将JNI生成的so打包成jar的步骤
    (原)Eclipse的java中文件读写
    (原)Microsoft Source Reader的简单使用
    (转)android ndk 给结构体赋值的方法
  • 原文地址:https://www.cnblogs.com/xiaocheche/p/7858003.html
Copyright © 2020-2023  润新知