虚拟化之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)下载安装内核最新版本;
虚拟化之Xen简介的更多相关文章
- 虚拟化技术xen的简介和安装
虚拟化技术的分类: 1,模拟:Emulation Qemu,PearPC,Bochs 2,完全虚拟化:Full Virtualization,Native Virtualization HVM ...
- VPS的虚拟化技术—-XEN,KVM,OPENVZ
市场上的VPS商家主要有 Xen ,KVM 和 OpenVZ 三种开源的虚拟化技术 Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达 100个满特征的操作系统.操作系 ...
- KVM虚拟化(KVM简介和KVM安装)
KVM 虚拟化架构分类 寄居虚拟化架构:指在宿主操作系统之上安装和运行虚拟化程序,依赖于宿主操作系统对设备的支持和物理资源的管理. 裸金属虚拟化架构:指直接在硬件上面安装虚拟化软件,再在其上安装操作系 ...
- 虚拟化技术xen,kvm,qemu区别
虚拟化类型 全虚拟化(Full Virtualization) 全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest操作系统和原始硬件,VMM在guest操作系统和裸硬件之间用于工作协调,一些 ...
- 红帽虚拟化RHEV-架构简介
目录 目录 软件环境 RHEV简介 RHEV与KVM的区别 RHEV的组成 RHEV-MManager RHEV-HHypervisor 虚拟机管理程序 存储 RHEV的架构 LDAPIPAAD We ...
- centos6.7环境半虚拟化软件xen及xm配置工具使用详解
1.xen软件的安装及配置 环境准备: ①操作系统:centos6.7(注意最好使用centos6.7,centos6.5无法使用xen的图形化界面创建操作系统) ②调整虚拟机配置,内存4G(推荐2G ...
- Xen虚拟化基础篇
一.xen的简介 Xen是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达128个有完全功能的操作系统. 在旧(无虚拟硬件)的处理器上执行Xen,操作系统必须进行显式地修改(& ...
- Xen虚拟化基本原理详解
标签:虚拟化 xen 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wangzan18.blog.51cto.com/80210 ...
- 泛虚拟化技术(以Xen为例)
一.概述 最主要的特点是:修改Guest OS的内核代码.通过修改内核,使Guest OS明白自己是运行在R-1,不要直接去运行特权指令,如果要运行就去Hypercall(主动VMM陷入). ...
随机推荐
- 疯狂JAVA——第六章 面向对象(下)
6.1包装类 java为了照顾程序员的传统习惯,所以提供了八种基本数据类型.但也带来不方便,例如所有引用类型都继承自Object类,都可当做Object类型变量使用.但基本数据类型的变量就不可以.如果 ...
- php获取微信用户信息(没测试过)
<?php /** * 通过$appid.$appsecret获得基础支持的接口唯一凭证access_token,返回值为array类型 */ function get_access_token ...
- centos7 升级python2.7 到python3.6(Centos7 安装Anaconda)
Anaconda 下载 https://www.anaconda.com/download/#linux 下载文件 Anaconda3-5.2.0-Linux-x86_64.sh bash Anaco ...
- electron 大体结构
1.Electron支持的平台: OS XWindowsLinux 2.一个标准的electron app包含的结构: Windows 或是 Linux中:electron/resources/app ...
- Typora快捷键的使用
无序列表:输入-之后输入空格 有序列表:输入数字+“.”之后输入空格 任务列表:-[空格]空格 文字 标题:ctrl+数字 表格:ctrl+t 生成目录:[TOC]按回车 选中一整行:ctrl+l 选 ...
- github page更新后不生效
昨晚在本地git仓库修改了页面内容后,git push上去,到页面去刷新发现,并没有改变.本来还想着是需要点时间来更新,就再等等. 没想到过了十几分钟后,还是没有更新. 然后同时习惯性地打开了邮箱,发 ...
- org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]
运行servlet程序报错: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Cat ...
- RigidBody组件的Is Kinematic
RigidBody组件的Is Kinematic属性打上勾(设为true,使其不受物理引擎驱动,Wall是为了防止其移动,Person是为了防止其受到力不断旋转—看的心塞=v=) .is kinema ...
- 菜刀连接webshell
中国菜刀,一个非常好用而又强大的webshell,它可不是用来切菜的做饭的道具哦,是一款专业的网站管理软件,大小只有300多KB,真是小巧实用啊!不过被不法分子利用到,就是一个黑站的利器了.我记得以前 ...
- Rakefile实例教程
一.简介 简单的说Rakefile就是使用Ruby语法的makefile, 对应make的工具就是rake. 在Ruby on Rails里面, 不管是数据库的初始化, 内容初始化, 删除, 还是测试 ...