摘要: 2013-10-26 KVM virtio bug整理 创建2013-10-26 KVM 半虚拟化驱动 创建2013-10-23 qcow2 修改后端,导致文件系统腐败 创建因为很多知识还是在学习中,所以博客中难免会有一些纰漏和理解性的错误,故开一个置顶帖,记录博客的ChangeLog,每一次创建或修改都会在这里记录。 阅读全文
posted @ 2013-10-23 10:58 风刃 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 关于使用qcow2的backing_file时可能会遇到的一个问题的分析与理解。我们知道qcow2 的磁盘格式可以带来很大的便利性,因为部署的时候可以减少大量的时间、空间,可以增量备份、快照等非常诱人的特性。因为下边可能会有点绕: backing_file:后端,母镜像 qcow2:前端,子镜像在使用的时候可能会遇到一种情况,就是使用backing_file时,如果修改了backing_file,“可能”会导致前端的qcow2 的崩溃,出现这种问题个人觉得是很正常的,并且是可以完全避免的。所以,在openstack在使用qcow2 的过程中会使用glance镜像管理来保证它的安全和完整性,.. 阅读全文
posted @ 2013-10-23 10:52 风刃 阅读(1928) 评论(0) 推荐(0) 编辑
摘要: 虚拟化性能测试包括CPU、内存、网络、磁盘性能,也可能包含虚拟客户机动态迁移时的性能,也可能需要考虑多种物理平台上的性能,也可能需要考虑很多个虚拟客户机运行在同一个宿主机是的性能。性能分析工具(profiling)基准测试工具(benchmark)评价一个系统的性能标准,一般可以用相应时间(response time)、吞吐量(throughput)、并发用户(concurrent users)和资源占用率(utilization)等几个指标来衡量。响应时间:指的是客户端从发出请求道得到相应的整个过程所花费的时间。吞吐量:指的是再一次性能测试过程中网络上传输的数据量的总和。并发用户数:指的是同 阅读全文
posted @ 2013-10-21 09:26 风刃 阅读(2039) 评论(0) 推荐(0) 编辑
摘要: 在QEMU/KVM中,qemu提供对cpu的模拟,展现给客户机一定的cpu数目和cpu特性;在KVM打开的情况下,客户机中cpu指令的执行有硬件处理器的虚拟化功能来辅助执行,具有非常高的效率。 Qemu/kvm为客户机提供一套完整的硬件系统环境,在客户机看来其所拥有的cpu即是vcpu(virtual CPU)。在KVM环境中,每个客户机都是一个标准的Linux进程(qemu进程),而每一个vCPU在宿主机中是Qemu进程派生的一个普通线程。 在普通的Linux系统中,进程一般有两种执行模式:内核模式和用户模式。在KVM环境中,增加了第三种模式:客户模式。用户模式(User Mode)... 阅读全文
posted @ 2013-10-20 15:27 风刃 阅读(6484) 评论(0) 推荐(1) 编辑
摘要: KVM模块是KVM虚拟机的核心部分。主要功能:初始化cpu硬件,打开虚拟化模式,将虚拟客户机运行在虚拟机模式下,并对虚拟客户机的运行提供一定的支持。KVM的初始化过程: KVM是基于硬件的虚拟化,cpu必须支持VT。当KVM模块被加载时,KVM模块会先初始化内部数据结构; (KVM的内核部分是作为可动态加载内核模块运行在宿主机中的,其中一个模块是和平台无关的实现虚拟化核心基础架构的KVM模块,另一个是硬件平台相关的kvm_intel模块。) KVM检测当前系统的cpu,确保cpu支持虚拟化; 打开CPU控制寄存器CR4中的虚拟化模式开关,并通过执行VMXON指令将宿主机操作系统置于虚拟... 阅读全文
posted @ 2013-10-19 19:59 风刃 阅读(2190) 评论(0) 推荐(0) 编辑
摘要: 操作系统内核设计一直分为两个阵营:单内核和微内核(性能和灵活性)单内核(也叫宏内核)是指整个内核从整体上作为一个单独的大过程来实现,并且同时运行在一个独立的地址空间内。所有的内核服务都在这样的一个大的内核空间运行,内核之间的通信可以简单的实现为函数调用。如果使用单内核设计,每次对内核做出修改,都必须重新编译源代码,重新生成二进制文件。(简单高效,灵活性差)微内核:功能被划分为多个独立的过程,每一个过程叫做一个服务器。多个服务器程序都运行在自己的地址空间,只有少量的核心的服务器运行在特权模式下,服务器之间的通信采用进程间通信机制。独立的服务器进程提高了系统的健壮性,但是进程间通信由于涉及内核空间 阅读全文
posted @ 2013-10-19 15:13 风刃 阅读(1117) 评论(0) 推荐(0) 编辑
摘要: 什么是云计算:把计算能力作为一种像水和电一样的公共事业提供给用户。云计算是一种通过因特网服务的方式提供动态可伸缩的虚拟化的资源的计算模式。一种按使用量付费的欧式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件和服务),这些资源能够被快速提供,只需要投入很少的管理工作,或与服务供应商进行很少的交互。三种服务模式:IaaS、PaaS、SaaS亚马逊的AWS——IaaS(底层Xen)Google的GAE——PaaSGoogle的GCE——IaaS(底层KVM)什么是虚拟化:指计算元件在虚拟的基础上而不是真实的基础上运行。是一个为了简化管理 阅读全文
posted @ 2013-10-19 13:47 风刃 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 等了3天,smile大大的书终于入手了,大概翻了下,总算没白等,里边有很多细节上的知识非常值得学习。书的直接传送门,http://smilejay.com/2013/10/kvm-principles-and-pratices-published/因为自己在看书的时候并不能很好的集中注意力,所以将在看书时认为比较重要的地方记录下来,帮助自己记忆,方便分享给大家。所以,这个分类的大部分内容都是书中所述,再加上自己的理解。在此声明一下:因为是这本书的学习笔记,所以我整理的帖子完全不能代替原著的内容,整理的帖子也可能会出现纰漏,如果想更系统的学习KVM虚拟化的话,真心建议入手一本。 阅读全文
posted @ 2013-10-18 10:30 风刃 阅读(904) 评论(0) 推荐(0) 编辑
摘要: 处理器总是处于一下状态中的一种: 1、 内核态,运行于进程上下文,内核代表进程运行于内核空间; 2、 内核态,运行于中断上下文,内核代表硬件运行于内核空间; 3、 用户态,运行于用户空间。用户空间的应用程序,通过系统调用,进入内核空间。此时用户空间的进程要传递很多变量、参数的值给内核,内核态运行的时候也要保存用户的进程的一些寄存器值、变量等。所谓的“进程上下文”,可以看做用户进程传递给内核的这些参数以及内核要保存的那一整套的变量和寄存器值和当时的环境。硬件通过触发信号,导致内核调用中断处理程序,进入内核空间。这个过程中,硬件的一些变量和参数也要传递给内核,内核通过这些参数进程中断处... 阅读全文
posted @ 2013-10-10 07:24 风刃 阅读(335) 评论(0) 推荐(0) 编辑
摘要: Test automation: 减少执行的时间 可再生和可靠的测试 一致的测试进度Autotest in a nutshell: Clent:执行测试的服务器 Server:推送测试代码,触发执行,监控测试状态,回收测试结果 Scheduler:通过用户输入分配测试任务,为每个任务创建服务进程,存储结果到测试数据库 Frontends: 允许用户方便的运行和查看测试结果虚拟化的自动化测试面临大量的技术挑战需要解决: 大量的测试模型——Hypervisor通常需要很多的参数 磁盘镜像的格式和控制器 CPUs的数量 网卡类型 虚拟机可以运行很多种类... 阅读全文
posted @ 2013-09-30 20:41 风刃 阅读(343) 评论(0) 推荐(0) 编辑