‘壹’ 如何安装XEN
对于Fedora系统,它的程序包管理器是yum,将用它从预编译好的程序包来安装Xen。实际上,使用yum安装Xen是一件相当轻松的工作,具体过程如下所示:
1、通过下列命令来安装Xen 内核和有关软件:
yum install kernel-xen xen
这一命令将下载并安装以下程序包及其依赖包:
l kernel-xen:该程序包存放的是主机操作系统和客户操作系统以及系统管理程序所用的Xen内核。
l xen:该程序包存放的是跟Xen系统管理程序交互的用户空间工具。
l bridge-utils :该程序包存放的是用于配置以太网桥的实用程序,以太网桥的作用是将多个以太网设备连在一起。
l libvirt :该程序包存放的是一个C库,它提供了使用Xen框架所需的应用编程接口API 。
l libvirt-python :该程序包存放的是一个Python 模块,有了它就可以让Python 应用程序使用libvirt提供的Xen框架应用编程接口。
l Python-virtinst :该程序包存放的是一个Python 模块,该模块使用libvirt在虚拟机内安装Fedora /Red Hat Enterprise linux 。
l Xen-libs :该程序包存放的是Xen的管理程序所需的程序库。
‘贰’ 如何在命令行打XenServer的补丁
在基于LVM的Local EXT和NFS SR上删除快照或克隆虚拟机后,通过释放未使用的数据,XenServer可自动回收磁盘空间,此过程称之为合并(coalescing)。XenServer可在虚拟机运行的同时合并磁盘空间(即在线合并)。
但是,XenServer 5.5的合并部署有一个已知的限制条件。在虚拟机磁盘上删除所有快照或克隆虚拟机后,一些磁盘空间可能仍然处于分配状态。尽管NFS和基于ext的SR的已删除快照或克隆虚拟机所消耗的空间非常少,但对于iSCSI FC和本地SR来说,消耗的空间量是非常巨大的。
为了消除这一局限性,XenServer 5.5 Update 1和更高版本引进了一个离线合并工具。该工具可在虚拟机暂时关闭或暂停使用(离线)时,回收之前分配给已删除快照或克隆的所有磁盘空间。下面介绍了离线合并工具及其使用。
警告!
运行此脚本会导致虚拟机暂时无法使用,因为执行了暂停/恢复操作。
运行此工具前,您必须使用XenCenter或XenServer CLI删除与虚拟机相关的所有快照和克隆。否则,脚本就会失败,工具就会显示错误信息,然后退出。
所有虚拟机磁盘必须在单个主机的共享存储或本地存储上。带有这两种存储类型的磁盘的虚拟机无法合并。
步骤 - 适用于XenServer 5.5 Update 1和更高版本
思杰建议对将运行空间回收工具的虚拟机进行备份,可使用XenCenter导出选项进行备份。
您必须知道虚拟机的UUID。
获取UUID
1. 在XenCenter中,启用隐藏目标(View menu > Hidden Objects)。
1. 在Resource窗格中,选择所需UUID对应的虚拟机。UUID将显示在General项中。
回收磁盘空间
在XenServer CLI中运行以下命令:
coalesce-leaf –u <uuid of VM>
例如,如果虚拟机的UUID是2a8d2815-c97e-245b-efe2-389ba456bd7p,您需要运行以下命令:
coalesce-leaf –u 2a8d2815-c97e-245b-efe2-389ba456bd7p
1. 此命令会暂时中止虚拟机的运行(除非其已经关机),启动回收进程,然后恢复虚拟机运行。
根据上次快照后写入磁盘的数据量的大小,所需的时间也不同。最小的虚拟机(10GB或更低)只需不到1分钟。
步骤 - 适用于XenServer 5.6
思杰建议对将运行空间回收工具的虚拟机进行备份,可使用XenCenter导出选项进行备份。
您需要知道虚拟机和主机UUID。
获取UUID
1. 在XenCenter中,启用隐藏目标(View menu > Hidden Objects)。
1. 在Resource窗格中,选择所需UUID对应的虚拟机。UUID将显示在General项中。
1. 在Resource窗格中,选择资源池主机(列表中的第一台主机)。UUID将显示在General项中。如果您没有使用资源池,选择虚拟机所在的主机。
回收磁盘空间
1. 在XenServer CLI中运行以下命令:
xe host-call-plugin host-uuid=<host-UUID> plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=<VM-UUID>
例如,如果虚拟机的UUID是9bad4022-2c2d-dee6-abf5-1b6195b1dad5,主机UUID是b8722062-de95-4d95-9baa-a5fe343898ea,您需要运行以下命令:
xe host-call-plugin host-uuid=b8722062-de95-4d95-9baa-a5fe343898ea plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=9bad4022-2c2d-dee6-abf5-1b6195b1dad5
1. 此命令会暂时中止虚拟机的运行(除非其已经关机),启动回收进程,然后恢复虚拟机运行。
‘叁’ 怎么使用YUM命令安装XEN需要的依赖包
Novell 虚拟化主机服务器体系架构:硬件、超级管理程序和管理域共同构成主机虚拟机的基础两种方式轻松安装两种方式轻松安装 Xen(1)Xen(1)2010-2-8 17:58:00 来源网络 作者未知本文将向读者详细介绍 Xen 的安装运行方法,从而为进一步使用 Xen 做好准备。这里,为了满足不同读者的需求介绍了两种安装方式,一种是从二进制安装,一种是从源代码安装。您可以根据自己的实际情况加以选择。本文以常见的 Fedora Core 6 为例,介绍 Xen 的安装方法,至于在其他操作系统上的安装过程与之类似,读者可以触类旁通。在 Fedora Core 6上安装 Xen 后,Xen 将位于 Fedora Core 6 的底层,直接位于机器硬件之上,也就是说 Xen 将具有比 Fedora Core 6 更高的权限,这时 Fedora Core 6 就变成了 Xen 的 Domain0实际上就是具有管理权限的虚拟机了。
‘肆’ 怎样在Linux CentOS上安装XEN及虚拟机
要在XenServer主机上安装一台虚拟机有三种方法——从顶部的菜单栏安装;在AC上部右击主机安装;从AC上部的任务栏安装。当选择安装虚拟机时,在标签窗口会出现第五个标签——“安装XenVM”。然后,在AC的下部,会问用户使用什么虚拟机名,占用多大虚拟CPU,分配多大初始内存,以及使用什么模板安装虚拟机。用户也可以更改虚拟机的初始虚拟硬盘大小和添加额外的虚拟硬盘。此外,用户还可以选择虚拟机是否连接到主机服务器的物理光驱或使用ISO镜像。在AC的右下角底部,点击“安装”标签以完成虚拟机设置。AC底部会切换到“历史”标签,显示呈递到主机服务器命令队列的“安装XenVM”命令。
现在,XenVM安装完成。从AC上部的列表中选择虚拟机,任务栏中的任务会发生变化,有些任务仅适用于虚拟机,如重启或关闭。和选中XenServer主机一样,选中虚拟机时下方也会显示一个标签窗口,而且标签也差不多:“摘要”、“性能”和“历史”。
“摘要”标签显示虚拟机配置的子操作系统(guest OS)类型,虚拟硬件配置——虚拟CPU、内存、虚拟硬盘,以及虚拟机CD-ROM的配置和网口设置。“性能”标签显示虚拟机CPU使用的详细信息。如果虚拟机OS中安装了XenVM工具包,“性能”标签还会显示更多的性能信息。和主机服务器的“历史”标签相似,虚拟机的“历史”标签显示虚拟机或用户在虚拟机所发生的事件列表。
主机服务器有一个“文本控制台”标签,而虚拟机上有一个“图形控制台”标签,位于“摘要”和“性能”之间。此标签显示控制台与指定虚拟机的连接。它之所以被称为“图形控制台”是因为安装在虚拟机上的guest OS可能是Windows(使用的是图形用户界面)或安装了Xen的Linux系统。
安装guest OS
在虚拟机上安装子操作系统还是有必要的。要完成这个操作,只需在主机服务器的光驱插入Windows Server 2003安装CD,或是复制一个ISO镜像文件到XenServer主机。为了让ISO镜像文件在XenServer AC中可见,必须将此文件复制到主机服务器的这个路径下:"/opt/xensource/packages/iso/."。例如,复制Windows Server 2003安装CD的ISO镜像到主机服务器的"microsoft_windows_server_2003_standard_edition_sp1.iso"。
要用ISO镜像文件来安装guest OS,只需在AC的上部选择VM,然后在底部点击VM的“摘要”标签,右边显示区会有一个标为“配置”的部分。找到“CD-ROM”部分,点击“磁盘”下方的条目,会出现一个下拉选项框。选项框中有拷贝到主机服务器的ISO镜像文件,选中这个文件然后点击右下角的“应用”。选择虚拟机的“图形控制台”,点击上方任务栏的“重启”任务,重新启动虚拟机。Xen AC会询问用户是否确定重启虚拟机,选择确定即可。虚拟机重启时会从ISO镜像启动,进入Windows安装程序。和在物理服务器上安装Windows一样,一步一步按照提示安装即可。安装完成后,就可以安装XenVM工具包了。
安装XenVM工具包
安装XenTools package的第一步就是为虚拟机安装XenTools package的ISO镜像,具体过程和安装Windows安装程序的ISO镜像一样。唯一不同的是,ISO镜像文件名取为"xswindrivers.iso."。安装好XenTools package的ISO镜像后,Windows gue
‘伍’ xenserver控制台中可以用命令删除虚拟机中的文件吗
可以直接在XenCenter里面选中对应的虚拟机,在
General里面可以看到UUID信息,要是显示不出来,可以在View中选择Hidden Objects选项,再打开虚拟机的General选项里面查看。
另外一种方式就是在XenServer主机里面使用命令进行查看UUID,进入XenServer的console里面,输入: xe vm-list就可以看到对应的虚拟机的UUID码了。
‘陆’ 怎样用命令行强制删除Xencenter里的虚拟机。备注:该虚拟机不能关机、不能重启、系统文件有丢失。
可以试试这个...
vm-uninstall
vm-uninstall [<vm-selector>=<vm_selector_value>...] [force=<true | false>]
Uninstall a VM, destroying its disks (those VDIs that are marked RW and connected to this VM only) as well as its metadata record. To simply destroy the VM metadata, use xe vm-destroy.
‘柒’ suse系统安装xen后怎样使用命令创建虚拟机
在 Linux 上安装完 Xen 服务器后 接下来的工作就是如何创建和启动一个虚拟机。这个看似很简单的问题难住了不少人,VPSee 收到不少邮件关于如何快速创建和部署虚拟机镜像的。创建虚拟机的工具有很多,比如 virt-manager, virt-install, virsh, xe...
‘捌’ Xen提供的两类API是什么分别起什么作用
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 windows API Windows API是一套用来控制Windows的各个部件的外观和行为的一套预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。 这在某种程度上很象Windows的天然代码。其他的语言只是提供一种能自动而且更容易的访问API的方法。VB在这方面做了很多工作。它完全隐藏了API并且提供了在Windows环境下编程的一种完全不同的方法, 这也就是说,你用VB写出的每行代码都会被VB转换为API函数传递给Windows,同样,当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体,VB获取这个调用并经过分析后生成一个特定事件。 API函数包含在Windows系统目录下的动态连接库文件中。 更易理解地说:Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理系统资源…之外,她同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的,由于这些函数服务的对象是应用程序, 所以便称之为Application Programming Interface,简称API 函数。WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。 凡是在 Windows 工作环境底下执行的应用程式,都可以调用Windows API。 编辑本段linux中的用户编程接口(API) 在linux中,用户编程接口API遵循了UNIX中最流行的应用编程界面标准---POSIX标准。POSIX标准是由IEEE和ISO/IEC共同开发的标准系统。该标准基于当时现有的UNIX实践和经验,描述了操作系统的系统调用编程接口API,用于保证应用程序可以在源程序一级上在多种操作系统上移植运行。这些系统调用编程接口主要是通过C库(LIBC)来实现的。 编辑本段API的历史与现状 当WINDOWS操作系统开始占据主导地位的时候,开发WINDOWS平台下的应用程序成为人们的需要。而在WINDOWS程序设计领域处于发展的初期,WINDOWS程序员所能使用的编程工具唯有API函数,这些函数是WINDOWS提供给应用程序与操作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为API函数是构筑整个WINDOWS框架的基石,在它的下面是WINDOWS的操作系统核心,而它的上面则是所有的华丽的WINDOWS应用程序。 但是,没有合适的Windows编程平台,程序员想编写具有Windows风格的软件,必须借助API,API也因此被赋予至高无上的地位。那时的WINDOWS程序开发还是比较复杂的工作,程序员必须熟记一大堆常用的API函数,而且还得对WINDOWS操作系统有深入的了解。然而随着软件技术的不断发展,在WINDOWS平台上出现了很多优秀的可视化编程环境,程序员可以采用“即见即所得”的编程方式来开发具有精美用户界面和功能强大的应用程序。 这些优秀可视化编程环境操作简单、界面友好,在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能,事实上这些类库和控件都是构架在WIN32 API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。 实际上如果我们要开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数,虽然类库和控件使应用程序的开发简单的多,但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。 编辑本段开放API平台 基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用。对外提供的API 调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户、开发者和中小网站带来了更大的价值。 开放是目前的发展趋势,越来越多的产品走向开放。目前的网站不能靠限制用户离开来留住用户,开放的架构反而更增加了用户的粘性。在Web 2.0的浪潮到来之前,开放的API 甚至源代码主要体现在桌面应用上,而现在越来越多的Web 应用面向开发者开放了API。 具备分享、标准、去中心化、开放、模块化的Web 2.0 站点,在为使用者带来价值的同时,更希望通过开放的API 来让站点提供的服务拥有更大的用户群和服务访问数量。 站点在推出基于开放API标准的产品和服务后,无需花费力气做大量的市场推广,只要提供的服务或应用出色易用,其他站点就会主动将开放API 提供的服务整合到自己的应用之中。同时,这种整合API 带来的服务应用,也会激发更多富有创意的应用产生。 为了对外提供统一的API 接口,需要对开发者开放资源调用API 的站点提供开放统一的API接口环境,来帮助使用者访问站点的功能和资源。 当然,开放API 的站点为第三方的开发者提供良好的社区支持也是很有意义的,这有助于吸引更多的技术人员参与到开放的开发平台中,并开发出更为有趣的第三方应用。 视频云技术提供商CC视频开放API接口,用户可与在自己的网站后台轻松完成视频是上传、视频播放控制操作,并可批量获取视频及平台信息。 编辑本段API 声明 正如在"什么是API"中所说,API函数包含在位于系统目录下的DLL文件中。你可以自己输入API函数的声明,但VB提供了一种更简单的方法,即使用API Text Viewer. 要想在你的工程中声明API函数,只需运行API Text Viewer,打开Win32api.txt或。MDB如果你已经把它转换成了数据库的话,这样可以加快速度. 使用预定义的常量和类型也是同样的方法。 API除了有应用“应用程序接口”的意思外,还特指API的说明文档,也称为帮助文档。 编辑本段你将会遇到一些问题 假设你想在你的窗体模块中声明一个函数,粘贴然后运行,VB会告诉你:编译错误...Declare 语句不允许作为类或对象模块中的Public 成员。..看起来很糟糕,其实你需要做的只是在声明前面添加一个Private。不要忘了,可是这将使该函数只在该窗体模块可用。. 在有些情况下,你会得到"不明确的名称"这样的提示,这是因为函数、常量或其他的什么东西共用了一个名称。由于绝大多数的函数都进行了别名化,亦即意味着你可以通过Alias子句使用其它的而不是他们原有的名称,你只需简单地改变一下函数名称而它仍然可以正常运行。 编辑本段API 分为四种类型 远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。 标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。 文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。 信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。 当前应用于 API 的标准包括ANSI 标准SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API 可以应用于所有计算机平台和操作系统。这些API 以不同的格式连接数据。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的API 还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。相反由于这种API 只处理一种信息格式,所以该情形下的信息交付API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付API 方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付API 类型是比较理想的选择。 编辑本段API 与(GUI)或命令接口 API 接口属于一种操作系统或程序接口,而后两者都属于直接用户接口。有时公司会将 API 作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。
‘玖’ 如何添加XEN虚拟机的磁盘
Citrix的XenServer一般都使用LVM管理磁盘,那么添加磁盘也就变得相对比较容易,毕竟LVM是可以扩展的。
假如我们新加入的磁盘设备文件为/dev/sde
1.使用fdisk删掉此次盘的所有分区;
2.使用vgdisplay查看相关信息;
3.执行以下命令
lvcreate /dev/sde
vgextend $(vgdisplay | grep ‘VG Name’ | sed -e ‘s/\s*VG Name\s*//’) /dev/sde
4.使用vgdisplay查看命令是否执行成功;
5.重启服务
‘拾’ XEN 如何烧写到Arm
XEN 如何烧写到Arm,方法步骤如下:
1、确保在宿主工作环境(即可以看做是Dom0工作环境)中安装了parted和kpartx实用程序。Parted可以辅助分区;kpartx完成挂载分区,这个分区在虚拟机内定义。
2、启动要迁移的虚拟机,安装GRUB引导装载程序。默认情况下,Xen虚拟机内没有安装引导装载程序,因为该程序由Xen虚拟工作环境自身提供。因此需要在迁移之前确保该程序已经安装。
3、关闭Xen虚拟机,把整个虚拟机复制到一个镜像文件。开始之前需要确保系统有足够的磁盘空间,这里需要很多GB的空间;同时确保使用的是正确的流程。例如,Xen后端虚拟存储可以已经是一个镜像文件,但是也可以是使用设备安装的,如一个分区或者一个逻辑卷管理器(LVM:Logic Volume Manager)卷作为一个后端存储设备。例如,如果使用“/dev/images/xenvm1” LVM逻辑卷作为Xen后端存储设备的话,可以使用下面的这个命令写入镜像文件:
dd if=/dev/images/xevvm1 f=xen.img bs=1M
注意:如果在虚拟机内有复杂的分区,就需要为每一个分区创建一个镜像文件。该流程假定虚拟机内的一切信息都位于一个大根分区中。
4、为ARM虚拟机创建一个新镜像文件。该镜像文件应该和为要迁移的虚拟机所创建的镜像文件一样大小。在下面的例子中,我将会假定使用的是一个10GB的Xen镜像;在实际部署中注意把这个值调整为虚拟机实际占用的空间大小:
dd if=/dev/zero f=kvm.img bs=1M count=10240
5、在上述步骤所创建的ARM镜像文件中创建分区。创建分区的唯一方法就是使用parted命令行实用程序。下面这几个步骤将会创建一个9GB的根分区和一个1GB的交换分区。需要在根特权下才可以执行这几个命令:
parted kvm.img mklabel msdos
parted kvm.img mkpart primary ext2 0 9000
parted kvm.img mkpart primary linux-swap 9000 10000
parted kvm.img set 1 boot on
6、把Xen镜像文件拷贝到ARM镜像文件中。以根权限执行下述命令:
following commands:
modprobe dm-mod
losetup /dev/loop kvm.img
kpartx -a /dev/loop0
dd if=xen.img f=/dev/mapper/loop0p1 bs=1M
fsck。ext3 -f /dev/mapper/loop0p1
到此为止,就已经把原来镜像中的所有文件拷贝到了新镜像中。接下来需要进行测试,使用下面的这个命令:
qemu kvm.img