Xen

功能强大的开源虚拟化的行业标准,为x86、x86_64、IA64、PowerPC和其他CPU架构的虚拟化提供了一个强大、高效、安全的功能集。

  • Owner: xen-project/xen
  • Platform: BSD, Linux
  • License:: Other
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

Xen是一种虚拟机监视器(VMM),最初由剑桥大学计算机实验室的系统研究小组开发,作为UK-EPSRC资助的XenoServers项目的一部分。 Xen是可自由分发的开源软件,在GNU GPL下发布。 自首次公开发布以来,Xen已经发展成为一个由xen.org(http://www.xen.org)牵头的大型开发社区。

此文件包含一些在系统上安装Xen的快速入门说明。 有关更多信息,请参阅http://www.xen.org/http://wiki.xen.org/

Xen Project是几个与虚拟化相关的开源项目的所在地,Xen Project是Xen开源社区的新名称。 Xen项目开发的虚拟化技术为世界上最大的云生产提供动力,是许多商业产品的基础。 Xen Project开发的技术支持公共云,例如Amazon Web Services,Rackspace Public Cloud等等。基于Xen的服务器产品示例包括华为UVP,Oracle VM和Citrix XenServer。客户端产品和设备的示例包括QubesOS,Citrix XenClient和Netscaler。 Xen项目已有10年历史,它所创造的技术已经成熟,其稳定性和多功能性是首屈一指的。

哪些技术是Xen项目的一部分?

Xen Project为特定目的创建了许多开源技术:

  • Xen®Hypervisor是硬件虚拟化的开源标准,也是XenProject.org上托管的所有解决方案的基础。
  • Xen Cloud Platform是一个基于Xen Hypervisor的企业级虚拟化平台,为云,存储和网络解决方案添加了更多功能和许多集成。
  • Xen ARM是基于Xen的Hypervisor,面向ARM体系结构上的嵌入式和移动设备。
  • 如果您不确定哪个Xen项目最适合您,您可能需要阅读Xen概述文档,该文档介绍了Xen的架构,组件以及您必须做出的一些关键选择。

开源

XenProject.org上托管的软件始终是开源软件。该代码根据GNU通用公共许可证(GPL2)进行许可。 XenProject.org上托管的项目由世界各地的个人社区开发,这些社区遵循基于开放性,透明度和精英管理的治理流程。

Overview

Name With Ownerxen-project/xen
Primary LanguageC
Program languageShell (Language Count: 22)
PlatformBSD, Linux
License:Other
Release Count332
Last Release NameRELEASE-4.18.2 (Posted on 2024-04-09 16:43:59)
First Release Namebeta1 (Posted on )
Created At2016-02-03 15:00:09
Pushed At2024-04-20 07:16:36
Last Commit At2024-04-16 09:08:12
Stargazers Count568
Watchers Count48
Fork Count324
Commits Count46.9k
Has Issues Enabled
Issues Count0
Issue Open Count0
Pull Requests Count0
Pull Requests Open Count3
Pull Requests Close Count3
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

#################################
_ _ _ _ _ _ _ _, /, _ _ _ __ ___, _ __ _, __, ___, _, _ ____, ' / , / `, ' , / _ , __ , __ , _____, , _ , (, ), __/, , (), , _,, _, _, /__,, _./, _, _, #################################

http://www.xen.org/

What is Xen?

Xen is a Virtual Machine Monitor (VMM) originally developed by the
Systems Research Group of the University of Cambridge Computer
Laboratory, as part of the UK-EPSRC funded XenoServers project. Xen
is freely-distributable Open Source software, released under the GNU
GPL. Since its initial public release, Xen has grown a large
development community, spearheaded by xen.org (http://www.xen.org).

This file contains some quick-start instructions to install Xen on
your system. For more information see http:/www.xen.org/ and
http://wiki.xen.org/

Quick-Start Guide

First, this is just a quick-start guide. For more comprehensive
information see the INSTALL file and the Xen wiki at
http://wiki.xenproject.org and in particular
http://wiki.xenproject.org/wiki/Getting_Started.

Second, there are a number of prerequisites for building a Xen source
release. Make sure you have all the following installed, either by
visiting the project webpage or installing a pre-built package
provided by your OS distributor:
* GNU Make v3.80 or later
* C compiler and linker:
- For x86:
- GCC 4.1.2_20070115 or later
- GNU Binutils 2.16.91.0.5 or later
or
- Clang/LLVM 3.5 or later
- For ARM:
- GCC 4.8 or later
- GNU Binutils 2.24 or later
* Development install of zlib (e.g., zlib-dev)
* Development install of Python 2.6 or later (e.g., python-dev)
* Development install of curses (e.g., libncurses-dev)
* Development install of openssl (e.g., openssl-dev)
* Development install of x11 (e.g. xorg-x11-dev)
* Development install of uuid (e.g. uuid-dev)
* Development install of yajl (e.g. libyajl-dev)
* Development install of libaio (e.g. libaio-dev) version 0.3.107 or
greater.
* Development install of GLib v2.0 (e.g. libglib2.0-dev)
* Development install of Pixman (e.g. libpixman-1-dev)
* pkg-config
* bridge-utils package (/sbin/brctl)
* iproute package (/sbin/ip)
* GNU bison and GNU flex
* GNU gettext
* ACPI ASL compiler (iasl)
* Libc multiarch package (e.g. libc6-dev-i386 / glibc-devel.i686).
Required when building on a 64-bit platform to build
32-bit components which are enabled on a default build.

In addition to the above there are a number of optional build
prerequisites. Omitting these will cause the related features to be
disabled at compile time:
* Development install of Ocaml (e.g. ocaml-nox and
ocaml-findlib). Required to build ocaml components which
includes the alternative ocaml xenstored.
* cmake (if building vtpm stub domains)
* pandoc, transfig, pod2{man,html,text} for rendering various pieces of
documentation into alternative formats
* figlet (for generating the traditional Xen start of day banner)
* systemd daemon development files
* Development install of libnl3 (e.g., libnl-3-200,
libnl-3-dev, etc). Required if network buffering is desired
when using Remus with libxl. See docs/README.remus for detailed
information.
* 16-bit x86 assembler, loader and compiler for qemu-traditional / rombios
(dev86 rpm or bin86 & bcc debs)
* Development install of liblzma for rombios

Second, you need to acquire a suitable kernel for use in domain 0. If
possible you should use a kernel provided by your OS distributor. If
no suitable kernel is available from your OS distributor then refer to
http://wiki.xen.org/wiki/XenDom0Kernels for suggestions for
suitable kernels to use.
If you are looking to compile a Dom0 kernel from source, please refer to
http://wiki.xen.org/wiki/XenParavirtOps.

[NB. Unless noted otherwise, all the following steps should be
performed with root privileges.]

  1. Download and untar the source tarball file. This will be a
    file named xen-unstable-src.tgz, or xen-$version-src.tgz.
    You can also pull the current version from the git or mercurial
    repositories at http://xenbits.xen.org/

    tar xzf xen-unstable-src.tgz

    Assuming you are using the unstable tree, this will
    untar into xen-unstable. The rest of the instructions
    use the unstable tree as an example, substitute the
    version for unstable.

  2. cd to xen-unstable (or whatever you sensibly rename it to).

  3. For the very first build, or if you want to destroy build trees,
    perform the following steps:

    ./configure

    make world

    make install

    See the documentation in the INSTALL file for more info.

    This will create and install onto the local machine. It will build
    the xen binary (xen.gz), the tools and the documentation.

    You can override the destination for make install by setting DESTDIR
    to some value.

  4. To rebuild an existing tree without modifying the config:

    make dist

    This will build and install xen, tools, and docs into the local dist/
    directory.

    You can override the destination for make install by setting DISTDIR
    to some value.

    make install and make dist differ in that make install does the
    right things for your local machine (installing the appropriate
    version of udev scripts, for example), but make dist includes all
    versions of those scripts, so that you can copy the dist directory
    to another machine and install from that distribution.

xenstore: xenstored and oxenstored

Xen uses a configuration database called xenstore [0] to maintain configuration
and status information shared between domains. A daemon is implemented as part
of xenstore to act as an interface for access to the database for dom0 and
guests. Two xenstored daemons are supported, one written in C which we refer
to as the xenstored (sometimes referred to as cxenstored), and another written
in Ocaml called oxenstored. Details for xenstore and the different
implementations can be found on the wiki's xenstore reference guide [1] and
the xenstored [2] page. You can choose which xenstore you want to enable as
default on a system through configure:

    ./configure --with-xenstored=xenstored
    ./configure --with-xenstored=oxenstored

By default oxenstored will be used if the ocaml development tools are found.
If you enable oxenstored the xenstored will still be built and installed,
the xenstored used can be changed through the configuration file:

/etc/sysconfig/xencommons
or
/etc/default/xencommons

You can change the preferred xenstored you want to use in the configuration
but since we cannot stop the daemon a reboot will be required to make the
change take effect.

[0] http://wiki.xen.org/wiki/XenStore
[1] http://wiki.xen.org/wiki/XenStoreReference
[2] http://wiki.xen.org/wiki/Xenstored

Python Runtime Libraries

Various tools, such as pygrub, have the following runtime dependencies:

* Python 2.6 or later.
      URL:    http://www.python.org/
      Debian: python

Note that the build system expects python to be available. If your system
only has python2 or python3 but not python (as in Linux From Scratch),
you will need to create a symlink for it, or specify PYTHON= when invoking
make, like (note the position of PYTHON= matters):

# make PYTHON=/usr/bin/python3

Intel(R) Trusted Execution Technology Support

Intel's technology for safer computing, Intel(R) Trusted Execution Technology
(Intel(R) TXT), defines platform-level enhancements that provide the building
blocks for creating trusted platforms. For more information, see
http://www.intel.com/technology/security/.

Intel(R) TXT support is provided by the Trusted Boot (tboot) module in
conjunction with minimal logic in the Xen hypervisor.

Tboot is an open source, pre- kernel/VMM module that uses Intel(R) TXT to
perform a measured and verified launch of an OS kernel/VMM.

The Trusted Boot module is available from
http://sourceforge.net/projects/tboot. This project hosts the code in a
mercurial repo at http://tboot.sourceforge.net/hg/tboot.hg and contains
tarballs of the source. Instructions in the tboot README describe how
to modify grub.conf to use tboot to launch Xen.

To the top