Xen的大名想必已经被众SA所熟知。Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发。它打算在单个计算机上运行多达100个满特征的操作系统。操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。

对于xen知识上的介绍,这里就不过多提及了,有需要的朋友自行去查找。接下来主要讲解如何使用yum快速的把xen虚拟化环境建立起来。

服务器环境:centos 5.6 X86_64
内存:越大越好
硬盘:如果单机虚拟化,越大越好;如果集群虚拟化,适中就好。

如果需要支持全虚拟化的功能,请在BIOS中开启cpu的VT支持。如此不开,则xen只能支持半虚拟化。

在64位版centos5.6中,是支持两种虚拟化的,kvm和xen,通过yum grouplist能看到两个组名kvm和Virtualization,其中Virtualization就是我们要安装的。

通过yum groupinfo Virtualization可以看到,这个包组中包含如下内容

Group: Virtualization
    Description: Virtualization Support.
    Mandatory Packages:
       kernel-xen
       xen
    Default Packages:
       gnome-applet-vm
       libvirt
       virt-manager
       virt-viewer
    Optional Packages:
       Virtualization-en-US

接下来就可以执行

# yum groupinstall 'Virtualization'

来进行安装了。经过几分钟的等待,相关的包就都装好了,接下来需要改grub的配置

default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.18-238.12.1.el5xen)
            root (hd0,0)
            kernel /xen.gz-2.6.18-238.12.1.el5
            module /vmlinuz-2.6.18-238.12.1.el5xen ro root=/dev/VolGroup00/LogVol00
            module /initrd-2.6.18-238.12.1.el5xen.img
    title CentOS (2.6.18-238.el5)
            root (hd0,0)
            kernel /vmlinuz-2.6.18-238.el5 ro root=/dev/VolGroup00/LogVol00
            initrd /initrd-2.6.18-238.el5.img

将红色部分由原来的1改成现在的0,然后保存退出,并重启服务器。

等服务器重启完成后,登陆到服务器中执行

# uname -a
    Linux xen252 2.6.18-238.12.1.el5xen #1 SMP Tue May 31 14:02:29 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

看到,现在的服务器已经使用xen内核起来了。到此一个标准的xen虚拟化环境就准备完毕了,是不是很简单。

下面来简单装一个虚拟机试试。

# virt-install –prompt <--------提示的方式安装vm
    Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems. no <--------是否使用全虚拟化,这里选择不使用
    What is the name of your virtual machine? test <---------虚拟机的名字
    How much RAM should be allocated (in megabytes)? 512 <-----------给虚拟分配的内存大小,单位MB
    What would you like to use as the disk (file path)? /root/test.vm <------虚拟机文件存放位置,这个文件可以不用提前创建,系统会自动创建
    How large would you like the disk (/root/test.vm) to be (in gigabytes)? 10 <---------虚拟机硬盘文件大小,也就是在虚拟机中看到的磁盘空间大小,单位Gb
    What is the install URL? http://10.4.8.1/centos/5/os/i386 <-------linux安装文件,支持nfs,ftp,http三种模式

回车后,系统会进入安装进程,首先下载kernel文件,然后启动kernel,最终会看到

hypervkvpd

8.1. KVM

virtio-SCSI

已改进 KVM 虚拟化存储栈,添加了 virtio-SCSI(SCSI 中基于 KVM 的存储构架)性能。virtio-SCSI 提供直接连接到 SCSI LUN 的能力,相对 virtio-blk 显著提高了伸缩性。virtio-SCSI 的优点是可处理成百个设备,而 virtio-blk 只能处理约 25 个设备,还会耗尽 PCI 插槽。

virtio-SCSI 现在可以继承目标设备功能,并可:

  • 通过 virtio-scsi 控制器添加虚拟硬盘或 CD,

  • 通过 QEMU sisi-block 设备绕过主机到虚拟机的物理 SCSI 设备,

  • 允许在每个虚拟机中使用成百设备;相对于 virtio-blk 的 25 个设备上限是个提高。

virtio-scsi 在红帽企业版 Linux 6.3 中是作为技术预览引进,在红帽企业版 Linux 6.4 中已全面支持。最新的 virtio-win 驱动程序还支持 Windows 虚拟机(不包括 Windows XP)。

支持 Intel 下一代核心处理器

红帽企业版 Linux 6.4 添加了对 Intel 下一代核心处理器的 qemu-kvm 支持,这样 KVM 虚拟机就可以利用这个处理器提供的新功能,最重要的是:高级向量扩展 2(AVX2)、字节操作指令 1(BMI1)、字节操作指令 2(BMI2)、硬件锁定省略(HLE)、限制可转换内存(RTM)、进程上下文标识符(PCID)、验证进程上下文标识符(INVPCID)、整合乘加器(FMA)、大端移动指令(MOVBE)、F 片段指令和 G 片段基准指令(FSGSBASE)、超级模式执行防范(SMEP)、改进的 REP MOVSB/STOSB(ERMS)。

AMD Opteron 4xxxx 系列 CPU 支持

AMD Opteron 4xxx 系列处理器现在由 qemu-kvm 支持。这样就可以让 KVM 虚拟机识别这个处理器系列的新功能,比如:F16C 指令集、小端操作、字节操作指令 1(BMI1)大幅削减功能以及整合乘加(FMA)指令集。

使用 USB 转发通过 SPICE 进行虚拟机实时迁移

在红帽企业版 Linux 6.4 中,KVM 支持 USB 转发通过 SPICE 进行虚拟机实时迁移,同时保持现有 USB 设备为所有配置的设备重新定向。

使用 USB 设备进行虚拟机实时迁移

在红帽企业版 Linux 6.4 中,KVM 支持使用 USB 设备进行虚拟机实时迁移。支持的设备有:高级主机控制器接口(EHCI)和通用主机控制器接口(UHCI)本地转移以及模拟设备,比如存储设备、鼠标、键盘、集线器及其他。

已更新 QEMU 虚拟机代理

红帽企业版 Linux 6.4 现在完全支持 QEMU 虚拟机代理(由 qemu-guest-agent 软件包提供)。已将其更新至 upstream 版本 1.1,包括以下值得关注的改进和 bug 修复:

  • 现在可使用 guest-suspend-disk 和 guest-suspend-ram 命令挂起 RAM 或者 Windows 系统中的磁盘。

  • 现在可使用 guest-network-get-interfaces 查询 Linux 的网络接口信息。

  • 这个通信提供系统停滞支持改进和修复。

  • 这个更新包括各种文档修复和小的改进。

半虚拟中断终止提示(PV-EOI)

运行红帽企业版 Linux 6.3 以及更老系统的主机和虚拟机在每个中断中都需要有两个 VM 出口(VM 到 Hypervisor 的上下文切换):一个是输入中断,另一个是给出中断终止信号。当主机和虚拟机系统都更新至红帽企业版 Linux 6.4 或者更新的系统后,它们就可以协商一个版虚拟中断终止功能,这样每个中断就只需要一个切换。这样在主机和虚拟机中同时使用红帽企业版 Linux 6.4 或者更新的系统时,用于中断负载的出口数量就会减半,比如通过 virtio 网络设备进入的网络流量。这样就导致主机 CPU 在此类负载中的用量的大幅降低。注:只改进了边缘中断,例如:使用等级中断的 e1000 联网就没有得到改进。

可配置音频传导

音频设备现在可在虚拟系统中被识别为 microphone 或者 speaker(也可被识别为 line-in 和 line-out)。音频失败现在可以在声音录制和音频中只接受某些类型输入虚拟程序中正常使用。

8.2. Hyper-V

包括微软 Hyper-V 驱动程序的虚拟机安装支持

在 Hyper-V 中对红帽企业版 Linux 6.4 集成的红帽企业版 Linux 虚拟机安装以及 Hyper-V 半虚拟设备支持可让用户在微软 Hyper-V hypervisor 顶层将红帽企业版 Linux 6.4 作为虚拟机运行。已在红帽企业版 Linux 6.4 提供的内核中添加了以下 Hyper-V 驱动程序和时钟资源。

  • 网络驱动程序(hv_netvsc

  • 存储驱动程序(hv_storvsc

  • 服从 HID 的鼠标驱动程序(hid_hyperv

  • VMbus 驱动程序(hv_vmbus

  • util 驱动程序(hv_util

  • 和 IDE 磁盘驱动程序(ata_piix

  • 时钟资源(i386、AMD64/Intel 64:hyperv_clocksource

红帽企业版 Linux 6.4 还包括对 Hyper-V 作为时钟资源支持,以及虚拟机 Hyper-V 密钥--值对(KVP)守护进程(hypervkvpd)支持,它可通过 VMbus 向主机提供基本信息,比如虚拟机 IP、FQDN、操作系统名称以及操作系统发行本号。

8.3. VMware ESX

VMware PV 驱动程序

已将 VMware 版虚拟驱动程序更新至提供在 VMware ESX 中运行红帽企业版 Linux 6.4 时提供无缝开盒即用经验。已将 Anaconda 安装程序更新至在安装过程中列出驱动程序。已更新以下驱动程序:

  • 网络驱动程序(vmxnet3

  • 存储驱动程序(vmw_pvscsi

  • 内存布尔值驱动程序(vmware_balloon

  • 鼠标驱动程序(vmmouse_drv

  • 视频驱动程序(vmware_drv)CentOS6.4发行注记中的虚拟化

CentosX64使用yum快速搭建xen虚拟化环境的更多相关文章

  1. 9款一键快速搭建PHP运行环境的好工具

    9款一键快速搭建PHP运行环境的好工具 胡倡萌 2011/02/19 网络资源 77,063 1     内容提要: 建立一个PHP网站,首先需要搭建PHP的开发和运行环境,对于PHP初学者也是一个难 ...

  2. WAMP Server助你在Windows上快速搭建PHP集成环境

    WAMP Server助你在Windows上快速搭建PHP集成环境 原文地址 我想只要爬过几天网的同学都会知道PHP吧,异次元的新版本就是基于PHP的WordPress程序制造出来的,还有国内绝大部分 ...

  3. CentOS 7快速搭建Nodejs开发环境

    Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好.学习Nodejs首先需要会安装环境.这里我介绍如 ...

  4. 基于 Jenkins 快速搭建持续集成环境--转

    源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...

  5. Jenkins 快速搭建持续集成环境

    持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域 ...

  6. Linux下快速搭建php开发环境

    php开发环境快速搭建 一.Linux下快速搭建php开发环境 1.安装XAMPP for Linux XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,使用XA ...

  7. 利用Docker Compose快速搭建本地测试环境

    前言 Compose是一个定义和运行多个Docker应用的工具,用一个YAML(dockder-compose.yml)文件就能配置我们的应用.然后用一个简单命令就能启动所有的服务.Compose编排 ...

  8. 一文教您如何通过 Docker 快速搭建各种测试环境(Mysql, Redis, Elasticsearch, MongoDB) | 建议收藏

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

  9. Windows下快速搭建安卓开发环境android-studio

    Windows下快速搭建安卓开发环境android-studio 发布时间:2018-01-18 来源:网络 上传者:用户 关键字: 安卓 搭建 Android Windows 快速 环境 Studi ...

随机推荐

  1. ASP.NET MVC got 405 error on HTTP DELETE request

    使用Backload的时候在本地调试通过,上传服务器后出现405错误(监控通信时可以发现ajax的返回结果为405) 通过修改webconfig可以解决: <system.webServer&g ...

  2. SQL语句中使用条件逻辑

    select name, sal, case when sal >= 4000 then 'Good' when sal <= 2000 then 'Bad' else 'Ok' end ...

  3. JS数据类型&&typeof&&其他

    1. 5种基本数据类型: 1. String 2. Number 3. Boolean 4. Undefined 5. Null 2. 1种复杂数据类型:Object 3. 检测变量的数据类型:typ ...

  4. Windows 2008 故障转移群集介绍

    转载:http://dufei.blog.51cto.com/382644/902026 今天有客户问起Windows 群集的相关内容,毕竟Windows Server2008所支持的群集技术和Win ...

  5. django中外键关联表的查询随笔

    django中,如果一个数据库中的表之间有外键的话可以方便的通过一个表查询到其相关表的数据.如有下面三个model:class Blog(models.Model):    name = models ...

  6. zoj 3761

    很简单但很虐心的一道题: 我感觉自己的算法没错,但是老是过不了:= = 但是还是把代码贴出来: 我的方法,用并查集的方式做一课树,然后对树进行遍历: 有多少棵树就有多少个点剩余: #include&l ...

  7. PYTHON的CGIServer的进化

    按例程,一步一步理解如何从SOCKET,TCP,HTTP,CGIHTTP进化的. 最终,静态文件和脚本分享,且能处理FORM提交和展示. 下一步,到数据库??:) A,SOCKET #HTTPserv ...

  8. WINDOWS HYPER-V加新网卡,设置网络出错

    新网卡加入,设置好IP之后,HYPER-V需要更改相应外部网络连接,然后重新生成新的虚拟连接网卡. 不然,虚拟机无法正常使用网络. 但我昨天在绑定新的网站时,出现如下错误: Adding a new ...

  9. altium6.x中自动删除重复走线的位置

    在protel 2004 DXP中,“自动删除走线”的位置就在"PCB Editor"的默认页面,非常好找. 但是升级到了altium 6.7,6.9之后,很多人就找不到这个了. ...

  10. Android 使用MediaStore.Images和 Cursor查询本地图片和图片缩略图

    先看一个实例: String[] projection = { MediaStore.Images.Thumbnails._ID ,MediaStore.Images.Thumbnails.DATA} ...