制作Xen虚拟机半虚拟化和全虚拟化镜像

安装时候已经包含虚拟化,所以启动系统后已经是带xen的内核,已经安装好xen相关软件。

xen虚拟机的存储有多种方式,根据官方手册上说的有files,lvm,nfs等。我选择了files作为xen虚拟机的存储,因为这样比较简单,当然会有弱点,后面会说到。

先说如何实现半虚拟化:

检查cpu的指令集是否包含pae,这个应该不成问题,我小黑的cpu是T2370都支持。

1.先dd出一个img文件作为虚拟机的安装空间

dd if=/dev/zero of=/xen/image/xen1.img bs=1M count=30720 数值大小可以根据自己需要调整。

2.接着就是安装虚拟机了,安装方式跟宿主机安装一样,可以采取光驱,网络,由于我已经建好了ks的源,方便

期间我就采用ks来安装虚拟机的系统。

执行如下命令:

virt-install -n xen1 -r 256 -p --nographic -f /xen/images/xen1.img  -l http://192.168.32.132/centos32bit -x "ip=192.168.32.31 netmask=255.255.255.0 gateway=192.168.32.1 ks=http://192.168.32.132/centos32bit/ksxen.cfg"

成功的话就会自动安装完系统,直到重启进入系统。ks文件就不贴了,和宿主机的配置文件基本一样需要做调整的是分区的名字,宿主机是类似sda的形式,而虚拟机是类似xvda的形式。

那些控制xen的基本命令也不说了,网上一大堆,建议看下官方的xen+man.pdf这本书,很详细。

接着说全虚拟化:

linux安装windows前,我有个误区,想windows是图形的,linux不装图形界面怎么装啊,后来才明白过来,是通过vnc连接,即可以看到图形界面。安装vnc配置vnc也不再叙述,配置下很简单,客户端通过vnc连接到linux的时候一定要输入ip:number(number=1,2...)只输入ip就只能看到一片白的屏幕,什么都没有。

然后先传个iso到宿主机上去,这里要说明下了,网上关于全虚拟化有各种说法,说什么要修改配置文件,修改启动项目,我照着做试了好几遍都不行,后来突然之间找到了个方法解决。

照样dd出img文件,

执行 virt-install -n win2003 -r 512 --vcpus=2 --file=/xen/image/win2003.img --vnc -v -c /root/windows2003_sp2.iso  --vnc --vncport=5902  --os-type=‘windows‘

然后会自动生成win2003的配置文件。

接着通过vnc可以安装系统,(说明下,当时看到蓝底白字的图像时候,很兴奋啊)

当windows复制完需要的文件时候,重启,这时候会出问题了。屏幕是会提示一个错误,安装程序不会继续下去了,这时候删除那个在/etc/xen目录下关于win2003的配置文件,再执行上述命令,再自动生成win2003的配置文件,通过vnc查看,安装程序顺利进行。直到重新启动系统,顺利进去win2003系统,这时候安全起见注意开启win2003的远程桌面,关闭宿主机的vnc服务。

以后通过远程桌面管理win2003.

上述简单的说明了下如何实现半虚拟化与全虚拟化的步骤,行文不是很好,希望大家可以看懂。

补充下,采用files作为xen虚拟机的存储,io速度会很慢,基本是宿主机的一半,所以用在生产机器上会有严重问题。听说采取lvm的虚拟分区效果不错,正打算有时间去测试下。

更多详情请咨询   鼎峰胡佳雄
QQ.2881064155
Skype.live:2881064155

时间: 2024-10-24 09:03:17

制作Xen虚拟机半虚拟化和全虚拟化镜像的相关文章

半虚拟化和全虚拟化的区别

全虚拟化(Full virtualization), 也称为原始虚拟化技术, 是另一种虚拟化方法. 该模型使用虚拟机协调客户操作系统和原始硬件(见图2). 这里"协调"是一个关键词, 因为VMM在客户操作系统和裸硬件之间用于工作协调. 一些受保护的指令必须由Hypervisor(虚拟机管理程序)来捕获和处理. 因为操作系统是通过Hypervisor来分享底层硬件. 图2. 全虚拟化: 使用Hypervisor分享底层硬件 全虚拟化的运行速度要快于硬件模拟, 但是性能方面不如裸机, 因为

全虚拟化和半虚拟化(转)

CPU通过Ring级别进行访问控制的.Ring0是最高级别,Ring1.Ring2.Ring依次降低. 以Linux X86为例,操作系统(内核)的代码运行在Ring0上,可以使用特权指令,控制中断.修改页表.访问控制等. 应用程序的代码运行在最低级别Ring3上,不能做受控操作.如果需要访问磁盘.写文件,需要通过执行系统调用(函数),执行系统调用时,CPU的运行级别从Ring3到Ring0依次切换,并跳转到系统调用对应的内核代码位置执行,由内核完成设备访问,之后再从Ring0返回Ring3,实

CentOS 5.X下安装配置xen虚拟机及基本使用

1.前提需求1.1.简介Xen是以GNU的GPL授权发布的自由软件,目的在于提供高效能.可支援不同操作系统同时运行且各个操作系统之间彼此相互独立的系统环境,Xen是基于X86架构开发出来的虚拟机控制器(Virtual Machine Hypervisor).Xen虚拟化包括两种虚拟化方式,半虚拟化(Para-virtualization)和全虚拟化(Fully-virtualization).这两种虚拟化都需要cpu的支持.半虚拟化的架构示意图: 确定cpu是否支持xen的运行:半虚拟化:x86

xen半虚拟化(准虚拟化)下安装虚拟机

xen半虚拟化(准虚拟化)下安装虚拟机   Xen的安装方法可以参考Xen在centos5.x和centos6.x下安装方法,本文主要以centos5.8和centos6.6为主介绍虚拟机安装放法. Xen全虚拟化下安装虚拟机 Xen 配置文件 Xen半虚拟化下安装虚拟机 常用命令行管理工具 Virt-manager图形工具 Xen全虚拟化下安装虚拟机: 全虚拟化的安装比较简单,可以支接用光盘或ISO文件安装,而半虚拟化不能用光盘或ISO文件安装. 安装方法如下(适用于centos5.x和cen

全虚拟化和半虚拟化的区别

cpu运行级别:ring0是指CPU的最高运行级别,ring1次之,ring2其次-- 拿Linux+x86来说, 操作系统(内核)的代码运行在最高运行级别ring0上,可以使用特权指令,控制中断.修改页表.访问设备等等.应用程序的代码运行在最低运行级别上ring3上,不能做受控操作.如果要做,比如要访问磁盘,写文件,那就要通过执行系统调用(函数),执行系统调用的时候,CPU的运行级别会发生从ring3到ring0的切换,并跳转到系统调用对应的内核代码位置执行,这样内核就为你完成了设备访问,完成

全虚拟化和半虚拟化的区别 cpu的ring0~ring3又是什么概念?

ring0是指CPU的运行级别,ring0是最高级别,ring1次之,ring2更次之-- 拿Linux+x86来说, 操作系统(内核)的代码运行在最高运行级别ring0上,可以使用特权指令,控制中断.修改页表.访问设备等等. 应用程序的代码运行在最低运行级别上ring3上,不能做受控操作.如果要做,比如要访问磁盘,写文件,那就要通过执行系统调用(函数),执行系统调用的时候,CPU的运行级别会发生从ring3到ring0的切换,并跳转到系统调用对应的内核代码位置执行,这样内核就为你完成了设备访问

全虚拟化和半虚拟化的区别 cpu的ring0 ring1又是什么概念?

ring0是指CPU的运行级别,ring0是最高级别,ring1次之,ring2更次之…… 拿Linux+x86来说, 操作系统(内核)的代码运行在最高运行级别ring0上,可以使用特权指令,控制中断.修改页表.访问设备等等. 应用程序的代码运行在最低运行级别上ring3上,不能做受控操作.如果要做,比如要访问磁盘,写文件,那就要通过执行系统调用(函数),执行系统调用的时候,CPU的运行级别会发生从ring3到ring0的切换,并跳转到系统调用对应的内核代码位置执行,这样内核就为你完成了设备访问

全虚拟化与半虚拟化

原文:http://blog.csdn.net/jmilk/article/details/51824935 全虚拟化 不需要对GuestOS操作系统软件的源代码做任何的修改,就可以运行在这样的VMM中 在全虚拟化的虚拟平台中,GuestOS并不知道自己是一台虚拟机,它会认为自己就是运行在计算机物理硬件设备上的HostOS.因为全虚拟化的VMM会将一个OS所能够操作的CPU.内存.外设等物理设备逻辑抽象成为虚拟CPU.虚拟内存.虚拟外设等虚拟设备后,再交由GuestOS来操作使用.这样的Gues

虚拟化技术之虚拟化技术介绍及Xen的应用实现

虚拟化技术是什么: 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源.这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制.一般所指的虚拟化资源包括计算能力和资料存储.--转自百度百科 为什么需要虚拟化:  虚拟化技术在近几年来非常的火热, 实际上在上个世纪60年代, 就已经有了虚拟化的实现.由于