虚拟化
文章平均质量分 63
小近视爱老花镜
这个作者很懒,什么都没留下…
展开
-
实现在虚拟机中使用优盘、鼠标等USB设备
前段时间一直苦恼,Xen下虚拟机和宿主机之间文件传递比较麻烦,最后决定在宿主机和虚拟机上各安装一个intlqq,通过QQ传送文件,这不失为一个好办法,不过有一个弊端,就是Linux下只能使用国际版QQ,而且很不稳定。在重新安装了两次QQ之后有些失望。偶然间翻到一篇12年的播客,博主介绍了在Xen/KVM中使用“usb=’tablet’”选项解决虚拟机中鼠标移动问题,忽然有所启发。U盘同样作为u原创 2015-11-04 20:52:47 · 1869 阅读 · 1 评论 -
EFI方式编译启动Xen
问题又来了,之前编译安装Xen都是在BIOS下,简单易懂。(说简单易懂,不过是因为我们懂得太少,只接触过BIOS)。终于有机会接触到Intel最新的处理器了,第一个需要解决的问题就是在最新处理器上布置最新版本的Xen。What?EFI?妹纸没听过啊!!!只要思想不滑坡,办法总比问题多。事实证明这句话的同时,也证明了,只有在解决问题的过程中才能学到东西。首先了解EFI启动Xen是怎么原创 2016-03-24 18:42:29 · 2008 阅读 · 15 评论 -
【已解决】xen下xl无法使用问题
问题一:xl li :error while loading shared libraries:libxl.so.1:cannot open shared object file:No such file or directory想想就知道问题所在:动态链接库没有找到,那么动态链接库是在什么时候加载的呢?还是要回到之前写的一篇文章上《Xen的安装、编译和使用(一)》:http://blog.c原创 2016-03-24 18:54:50 · 1583 阅读 · 0 评论 -
五分钟搞懂Xen、KVM、Qemu间的关系和区别
Qemu是一套独立的虚拟化解决方案,KVM是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器(Intel VT, AMDSVM)虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了另一个独立的虚拟化解决方案,不妨称之为:KVM+QEMU.。Xen是另一套独立的虚拟化解决方案,最初的Xen只支持半虚拟化,Intel VT技术出现后,添加了全虚拟化功能,这个全虚拟化功能也是借助了qemu实现,但不是完全依赖qe原创 2016-04-16 10:14:21 · 44797 阅读 · 0 评论 -
VMCS研究总结
VMCS是Intel VT-x中一个很重要的数据结构,它占用一个page大小,由VMM分配,但是硬件是需要读写的,有点类似于页表。vmcs的各个域在manual中有说明,但是每个域在vmcs页中的具体位置是不知道的,程序员不用关心,只需要用相应的VMWRITE和VMREAD指令去访问。这样做的好处是,vmcs页中结构的具体layout可以透明的进行变动。下面从三个方面总结一下:原创 2016-05-25 18:04:12 · 3699 阅读 · 0 评论 -
系统虚拟化知识总结--Xen虚拟化平台
接触虚拟化已经有快一年的时间了,最近因为面试,总结了一下基础知识,主要是针对硬件辅助虚拟化及Intel VT技术。首先让我们来看一张Xen的体系结构图吧,以此对系统虚拟化有一个全局概念:VMM位于最底层,拥有所有的物理资源(I/O,Memory,CPU),处理器和内存的虚拟化依然由VMM完成,而IO虚拟化由VMM和特权操作系统共同合作完成,所以设备驱动和设备模型(Device Mo原创 2016-07-11 18:04:06 · 821 阅读 · 2 评论 -
Xen前后端分离设备驱动模型通信过程分析(包括事件通道、授权表、环缓冲区)
首先,在Xen分离设备驱动模型中,前端驱动通过事件通道、环缓冲区和授权表来和后端进行交互; “事件通道”是类似于中断的一种机制,用于通知虚拟机对事件进行处理。当有请求等待处理,或者请求已经完成需要查收时,前端或者后端使用事件通道来通知对方。 “环缓冲区”,环状缓冲区,按页分配,里面放置请求和应答。环缓冲区采用生产者消费者模式,甲方首先放置请求,乙方获取并处理完请求原创 2016-08-16 11:24:57 · 1974 阅读 · 0 评论 -
Xen超级调用详细实现
概述:当虚拟机的Guest OS需要执行一些更高权限的操作(如:页表的更新、对物理资源的访问等)时,由于自身在非特权域无法完成这些操作,于是便通过调用Hypercall交给Xen Hypervisor来完成这些操作。与系统调用类似,Xen启用130号中断向量端口作为超调用的中断号。这一中断向量的DPL被设置为1,类型为中断门。超调用能够由处于特权级1的客户机操作系统发起,而不能从用户态发起。原创 2016-08-16 18:47:54 · 2279 阅读 · 0 评论 -
DevicePass-through及网卡的直接分配在Xen里面的实现
《系统虚拟化原理》这本书看了大半年了,里面的内容反复看过之后,会不断的有收获,之前关于Passthough的概念很直很模糊,Passthough的具体实现也不清楚,今天看完书之后,终于有了一个初步的理解,特记录下来。首先需要理解passthough这个概念,Passthough是指在虚拟化平台下,将物理设备直接分配给某个客户机使用。为实现设备的直接分配,VMM需要提供以下三种功能:原创 2016-09-12 21:16:28 · 1852 阅读 · 1 评论 -
Xen半虚拟化下,IO共享环、事件通道、授权表之间的联系和区别
最后的例子很有意思,文章出处: http://blog.csdn.net/qianlong4526888/article/details/7553105初学Xen,对于DomU与Dom0之间的通信机制概念不清晰,现总结如下供大家参考,仅作抛砖引玉之用。找到一篇论文,《基于Xen的IO准虚拟化驱动研究》(胡冷非)讲得不错,拿来参考。(1)I/O共享环:在不同Domain之间存在的一块固定的共转载 2016-10-21 16:13:01 · 674 阅读 · 0 评论 -
初识OpenStack+KVM
1.虚拟化1型虚拟化:hypervisor直接运行于硬件之上,对硬件虚拟化做了优化,性能较高,但不支持虚拟机嵌套,例如Xen VMware的EXSI都属于1型虚拟化。1型虚拟化其hypervisor内存上严格隔离的。2型虚拟化:宿主机操作系统运行于硬件之上,hypervisor作为一个内核模块运行在宿主机操作系统之上。支持虚拟机嵌套,例如KVM,VMware的works原创 2017-08-09 13:26:24 · 7670 阅读 · 0 评论 -
初识Python-python教程总结
学习目标:掌握Python基本语法、熟悉debug以及常用的python库。Python 是一种面向对象的脚本语言,不需要编译。python有一个明确定义的语法,一个广泛的标准库。python可以嵌入到C/C++程序中。python 环境搭建:Linux下源码安装的方式(1,./configure 2,make 3,make install)此外,环境的变量的配置,在pat原创 2017-08-09 13:32:21 · 632 阅读 · 0 评论 -
KVM学习笔记
KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚拟机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。 但是,KVM 本身不执行任何硬件模拟,需要客户空间程原创 2017-07-25 17:21:41 · 801 阅读 · 0 评论 -
openstack学习笔记
终于开始安心学习,今天开始学习openstack和KVM相关知识。学习主要参照的网络资源为cloudman的五分钟学习openstack:http://www.cnblogs.com/CloudMan6/tag/OpenStack/1.虚拟化1型虚拟化:hypervisor直接运行于硬件之上,对硬件虚拟化做了优化,性能较高,但不支持虚拟机嵌套,例如Xen原创 2017-08-02 17:42:51 · 759 阅读 · 0 评论 -
SSH的基本使用
工作中涉及到维护服务器的操作,为了操作方便及安全考虑,常常需要在服务器端安装SSH服务端,在自己机器上安装SSH客户端来连接到远程服务器上。SSH中的基本操作命令:1、连接到远程主机ssh name@serverip或 ssh serverip -l name提示输入密码后,连接到远程服务器。2、连接到远程主机某指定端口ssh name@serverip -p 端口号原创 2017-08-17 14:19:48 · 513 阅读 · 0 评论 -
使用devstack快速安装、部署openstack
关于openstack的学习今天终于进入正轨,开始学习如何搭建openstack环境,这件事在研究生第二年刚刚进入实验室的时候做过,那个时候为了彻底了解opesntack整体架构,使用命令行源码安装的方式。写了很多笔记,但没有同步到博客上来,近期打算整理下,敬请期待。今天就跟着别人的博客学习一下,使用devstack工具如何快速安装部署openstack。1、Linux中下载devstack原创 2017-08-03 17:19:48 · 1727 阅读 · 0 评论 -
大神教你在Xen下快速添加自定义hypercallt超级调用
题目是自己加的,因为膜拜了一篇介绍详细的技术贴,特转发。原文地址:http://blog.csdn.net/sploving/article/details/5990507在全虚拟化中,由于Guest OS 的代码没有被修改,因此Guest OS 的特权操作, 比如更新页表等主要通过VT 技术的VMX 操作来实现。敏感操作也不像半虚拟化那样通过超级调用来实现,也是通过VMX 的指令转载 2016-03-22 15:36:51 · 1300 阅读 · 0 评论 -
Xentrace使用教程
类似printk的log输出命令,感觉很不错,特地转来学习。http://hi.baidu.com/%B0%B5%D4%C2%C1%F7%B9%E2/blog/item/f33968a5463648fa9052eef3.html (非常不错的文章) 介绍:NAME xentrace - capture Xen trace buffer dat转载 2016-03-22 13:33:22 · 1136 阅读 · 0 评论 -
VisualDDK + Windbg 进行Windows内核调试(二)
开始使用Windbg终于有机会真正使用windbg了,一个小小的任务,用了两天时间,总算从一问三不知进化到可以进行简单的调试。任务:分析PING.EXE程序,找到系统调用API,分析获得IP地址存放位置;首先需要弄清楚的是PING.EXE执行过程,以及该过程中所调用的系统调用。师兄推荐了一个很好用的软件:API Monitor(链接:http://www.rohitab.com/a原创 2015-12-26 15:19:32 · 1133 阅读 · 1 评论 -
Xen I/O虚拟化原理——Xen下总线、设备和驱动
最近对Xen下虚拟机的Xenbus、驱动和设备的创建和添加机制很模糊,看了这篇博客之后思路清晰了很多,特别转载下来留作记录,感谢作者。另原文的内容有少许更改。博客原文链接【http://blog.csdn.net/easyblue99/article/details/8238005】虚拟化总线、驱动和设备第4章 io设备虚拟化Io设备的虚拟化,不可避免要涉及到设备的概念和隐藏在转载 2015-11-07 16:15:21 · 2688 阅读 · 0 评论 -
虚拟机中如何进行正确的网络配置
刚刚接触虚拟机,在网络配置方面就遇到了瓶颈。常常因为错误的操作,导致虚拟机网络不可用,通过学习网上的技术贴,终于有了一个初步的认识原创 2015-08-12 10:23:43 · 5660 阅读 · 0 评论 -
Xen的安装、编译和使用(一)
博文目录:1. Xen的安装编译2. 创建半虚拟化Guest OS3. 创建全虚拟化Windows Guest OS4. 创建全虚拟化Linux Guest OS Xen的安装和编译因为组里项目需要,开始接触Xen,并在Xen下完成一些工作,希望可以记下这一点一滴的收获,也希望可以在不断的深化了解中,开拓自己的研究方向。第一步: 安装英文版Ubuntu 14.04原创 2015-10-29 21:10:40 · 4670 阅读 · 8 评论 -
Xen 的安装、编译和使用(三)
博文目录:1. Xen的安装编译2. 创建半虚拟化Guest OS3. 创建全虚拟化Windows Guest OS4. 创建全虚拟化Linux Guest OS创建全虚拟化GuestOS创建hvm虚拟机方式与创建pv虚拟机类似,差别在于配置文件的编写上。如果开始不知道怎么入手写配置文件,可以查看/etc/xen下的xlexample.Hvm文件。具体配置文件的编写原创 2015-10-30 18:29:55 · 1135 阅读 · 0 评论 -
虚拟机网络配置总结
刚刚接触虚拟机,在网络配置方面就遇到了瓶颈。常常因为错误的操作,导致虚拟机网络不可用,通过学习网上的技术贴,终于有了一个初步的认识。首先楼主是用VMware在Windows7系统下搭建的Ubuntu虚拟机。虚拟机网络连接方式有三种:1、桥接 2、NAT方式 3、Host-only方式桥接模式,虚拟机共享主机的IP地址,中间通过网桥通信,虚拟机与主机可以通信,虚拟机通过主机访问外网。原创 2015-10-27 15:41:24 · 979 阅读 · 0 评论 -
【吐槽】关于VNCViewer的使用
因为VNCViewer的安全性高、操作简单的特点,在与虚拟机连接时尝试使用VNCViewer,终端输入 Vncviewer 127.0.0.1 :port 即可。但Vncviewer其不可最大化的特点着实有些麻烦。尝试1:F8 -fullscreen,发现可操作窗口仍然没有变,只是周围黑色边框扩展,覆盖了整个屏幕,并且无法退出。查了下资料,发现这是Vncviewer本身的一个bug,尝试通过进原创 2015-11-03 13:46:03 · 10464 阅读 · 0 评论 -
Xen的安装、编译和使用(二)
博文目录:1. Xen的安装编译2. 创建半虚拟化Guest OS3. 创建全虚拟化Windows Guest OS4. 创建全虚拟化Linux Guest OS 创建半虚拟化GuestOS上一篇博客主要介绍了在ubuntu下如何安装和编译Xen,接下来开始正式使用Xen了。l 概念理解因为这段时间要做的工作是在虚拟机中实现自动添加设备和前后端驱动,所以对Xen原创 2015-10-29 21:13:19 · 2157 阅读 · 0 评论 -
【学习笔记】虚拟化实现技术架构
1. 处理器虚拟化VMM陷入方式:1) 基于处理器保护机制触发的异常,处理器会在执行敏感指令前,检查其执行条件是否满足,不满足就会陷入VMM进行处理。2) 虚拟机主动触发异常,虚拟机通过陷阱指令主动陷入到VMM中。3) 异步中断,一旦中断信号到达处理器,处理器会强行中断当前指令,然后跳转到VMM注册的中断服务程序。VM-Exit:CPU自动从非跟模式切换到根模式VM-E原创 2015-12-09 11:30:38 · 1955 阅读 · 1 评论 -
实现Xen半虚拟化环境下前后端设备的注册(一)
在Xen 半虚拟环境下增加新的设备,首先需要将新设备进行注册,前后端设备的注册可通过3步完成。v 对配置文件进行解析,获取虚拟设备的信息v 根据获取的虚拟设备信息将设备写入到XenStore上v XenBus遍历XenStore目录,将前后端设备注册到XenBus总线原创 2015-11-24 21:07:47 · 1284 阅读 · 1 评论 -
VisualDDK + Windbg 进行Windows内核调试(一)
调试环境搭建1、Microsoft Visual Studio 20102、Windbg3、Visual DDK4、VMware Workstation依次从官网下载上述软件并安装到本地安装Visual DDK 的过程中会进行相应的配置,包括自动识别已安装的VS2010和Windbg所在位置;在VMware下创建待调试虚拟机,并安装VMTools(菜单栏-》原创 2015-12-15 15:12:29 · 1396 阅读 · 1 评论 -
堆栈溢出检测
堆栈使用维持的每个任务,都有它自己的堆栈。任务堆栈占用的内存,当任务创建时自动分配了;堆栈的尺寸参数通过xTaskCreate()?API确定。堆栈溢出是常见事件,由应用程序不确定引起的。FreeRTOS.org?因此提供了提供了两个可供选择的机制,可用来协助察觉和纠正这种事件发生。使用的选项由configCHECK_FOR_STACK_OVERFLOW 配置常量配置.注意,这转载 2015-12-30 09:14:01 · 3493 阅读 · 0 评论 -
【已解决】Xen下虚拟机执行Shutdown失败,开机自动重启虚拟机,并出现页故障问题
问题描述:执行Xl shutdown指令将虚拟机暂停,执行reboot重启虚拟机报错。关于虚拟机暂停:暂停一个domain之前,客户操作系统会首先从Xenstore获取暂停的指令,并对其自身的运行状态进行调整,进而为暂停工作做好准备,随后调用一个hypercall,真正开始执行暂停操作。当保存的domain重新恢复运行时,其引用的机器页面位置可能已经发生了变化,如果仍然用原先的虚拟内存到机原创 2015-11-28 11:06:42 · 2668 阅读 · 0 评论 -
虚拟化实现架构(处理器虚拟化)
首先需要理解一个概念——可虚拟化架构与不可虚拟化架构特权指令:系统中用来操作和管理关键系统资源的指令,这些指令只有在最高特权级上可以执行。如果在非最高特权级上运行,特权指令会引发一个异常,处理器会陷入到最高特权级,交由系统软件来处理。敏感指令:在虚拟化世界,操作特权资源的指令,包括修改虚拟机运行模式或者下面物理机状态;读写敏感的寄存器或是内存,例如时钟或者中断寄存器;访问存储保护系统、内存原创 2015-12-17 14:54:53 · 1537 阅读 · 0 评论 -
深入理解Xen工具栈(ToolStack)
Dom0通常会包含一个工具栈(Toolstack),其能够实现让用户完成虚拟机的创建、删除、配置等功能。此工具栈还提供了一个访问接口,因此,其管理功能还可以通过相应的命令行工具、图形化控制台或者如Cloudstack或Openstack类的云计算环境来完成。Xen能够与多个不同的工具栈结合工作,如默认的工具栈、Libvirt工具栈及XAPI工具栈。通常,每个工具栈都提供了一个API及相应的原创 2016-01-05 17:04:48 · 2518 阅读 · 0 评论 -
实现Xen半虚拟化环境下前后端设备的注册(二)
在Xen 半虚拟环境下增加新的设备,首先需要将新设备进行注册,前后端设备的注册可通过3步完成。v 对配置文件进行解析,获取虚拟设备的信息v 根据获取的虚拟设备信息将设备写入到XenStore上v XenBus遍历XenStore目录,将前后端设备注册到XenBus总线原创 2015-12-07 15:23:55 · 1208 阅读 · 2 评论 -
Ubuntu16.04下使用Devstack快速安装、部署Openstack
对于Openstack的初学者而言,除去看大量的官方文档了解整个Openstack架构外,还需要通过实践,自己搭建Openstack平台,用来学习,最后在使用的过程中,通过查看源码不断的解决遇到的问题。今天就和大家讲下如何使用Devstack在Ubuntu16.04下搭建一个简单的Openstack平台。参考文档为官方文档:https://docs.openstack.org/devstack/l原创 2017-09-01 13:42:20 · 6895 阅读 · 0 评论