XenServer部署系列之05虚拟机的创建及复制

作业环境

XenServer服务器

OS:XenServer 6.2

Hostname:xsr01

Eth0 IP:192.168.0.241/24

Gateway:IP:192.168.0.1/24

一、关于XenServer虚拟机

在Xenserver上可以创建Windows和Linux等虚拟机,Xenserver支持大部分的主流操作系统,可以使用 XenCenter 或 xe CLI 克隆相应的模板,然后安装操作系统。XenServer随附了一组基本模拟(即原始VM),在这些模板上可以安装操作系统。模板是一种“黄金映像”,包含用于实例化特定VM的所有配置设置。为达到最佳运行状态,XenServer对于适用于各系统的模板,已经设置了用来定义虚拟硬件配置的预定义平台,Linux模板用于创建半虚拟化(PV)来宾系统,而Windows模板用于创建硬件虚拟机(HVM)来宾系统。

必须为每台虚拟机安装XenServer Tools,以便虚拟机拥有完全受支持的配置,并且能够使用XenServer管理工具(Xe CLI或XenCenter)。尽管VM在没有这些工具的情况下可以正常工作,但如果不安装这些工具,性能将受到极大影响。XenServer还支持某些功能和特性,包括彻底闭关、重新引导、挂起和实时迁移VM。

除了使用提供的模板创建VM外,还可以使用3种其他方法来创建VM:物理机到虚拟机的转换(P2V);克隆现有VM;导入一个导出的VM。

二、使用XenCenter创建VM

鉴于CentOS的应用很广泛,笔者一直接触的也是CentOS,本案就以CentOS6.5系统为例,讲述如何创建虚拟机,及其相关配置。

XenServer的部署及存储配置,请参考之前的XenServer部署实录系列博文,这里不在述。在客户端使用XenCener连接远端xsr01主机。

1.使用模板创建虚拟机

以下的操作在XenCenter上进行。

选中xsr01主机,在其右击菜单中选择“New VM”,打开“New VM”向导。

选择创建虚拟机的模版,这里选择“CentOS 6 (64-bit)”,

此列表列出了XenServer 当前支持的模板。每个模板包含创建具有特定操作系统和最佳存储的新 VM 所需的设置信息。具体信息,请参考官方资料。实践表明,XenServer6.2是可以支持到CentOS6.5的。

填写虚拟机名称及可选说明。

为将安装在新 VM 上的操作系统选择安装源。这里使用之前创建的本地ISO存储仓库中的CentOS6.5系统镜像。

为虚拟机选择主服务器或者集群。本案中没有集群,只有xsr01主机。

对于CentOS系统,默认设置为1个虚拟CPU和1G的虚拟内存,这里按实际需求进行修改。

为虚拟机分配存储。按实际需要设置虚拟硬盘容量,并把它配置在xsr01主机的本地存储上。

配置虚拟机的网络连接设置。在创建虚拟机时候,最多创建4个Network(一般来说,如果物理机有4个网卡,这里会自动创建4个Network;如果物理机有2个网卡,则自动创建2个Network),可以在虚拟机创建完成后继续添加NIC。这里删除其他三个Network,只保留Network 0。

完成虚拟机创建,检查配置属性。然后启动虚拟机进行操作系统安装。

开始进入系统安装。这个界面与常规的CentOS安装界面不同。初学者会感到无所适从,因为在接下来的安装过程中,会发现,这是一个极简的安装过程,简化到连分区的操作步骤都忽略了。

安装完成后,首次登录界面如下。/root目录下的anaconda-ks.cfg文件记录了安装系统时的一些信息,从里面可以看到,安装时并没有安装其他软件包,连setup、vim命令对应的软件包也没有。与CentOS自身的Minimal安装模式类似。

就本案而言,30G的虚拟硬盘,4G的虚拟内存,虚拟系统使用了485M作为/boot引导分区,剩余的容量为一个名为VolGroup的逻辑卷,该卷内划分了/root和swap两个分区,大小分别为26.5G和3G。如果虚拟硬盘容量很大,比如500G,系统lvm分区会有类似如下的自动分配:swap 4G,/root 50G,其他容量为/home。

以上的安装情况,对于很多用户来说,会很不习惯,而且也难以适配实际需求。那么,有没有办法按常规的方法安装CentOS系统呢,答案当然是有的,而且很简单。就是使用“Other install media”模板。

关于“Other install media”模板,官方资料如下描述:面向高级用户,这些用户可能会尝试安装运行其他不受支持的操作系统的VM。XenServer已经过测试,只能运行所提供的标准模板中包含的受支持发行版本和特定版本,但不支持使用其他安装介质模版安装的任何VM(这段话比较拗口,不易理解)。

下图选择“Other install media”,在接下来的调整CPU、存储和网络资源各种参数的过程,与上述操作步骤是一样的,最后,进入到系统安装,会看到熟悉的CentOS系统盘的启动界面。这样便可以使用常用的Basic Server 安装方式了。

以上是使用XenCenter创建CentOS VM的操作过程。如果是Windows系统,就不存在上述情况了,使用相应的模板,都会是使用正常的安装方式进行安装的。

2.安装XenServer Tools

系统安装完成后,建议立即安装XenServer Tools,以使VM具有完全受支持的配置,从而获得高速I/O以实现更高的磁盘和网络性能。

VM不安装XenServer Tools,最直接的表现是,在XenCenter上无法监控到VM的内存使用情况。如下图所示。选中刚才新建的CentOS6.5vm,在Performance选择卡中,有四个图表,分别表示虚拟CPU、内存、网络、硬盘的使用情况,其中第二个图表虚拟内存没有内容。

切换到Console选项卡,在其顶部“DVD Driver 1”的下拉列表框中,选择“XenServer Tools\xs-tools.iso”,这项操作意为系统插入xs-tools.iso光盘。然后到控件台命令行操作界面中,通过命令加载光盘,并执行Linux/install.sh脚本,以安装xs-tools。此项操作需要重启系统才能生效。

XenServer Tools安装完成并重启系统后,在Performance选择卡中,可以看到该虚拟机虚拟内存的使用情况了。

如果是Windows系统,操作更简单,挂载xs-tools.iso,系统会自动打开 XenServer Tools 安装向导。XenServer Tools需要Microsoft.NET Framework 4.0 或更高版本支持,如果虚拟机运行的是Windows 7或更低版本,则需要在安装XenServer Tools 之前先安装Microsoft .NET Framework 4.0组件。

三、VM的复制与克隆

创建了一个新的虚拟机,并且安装好常用的软件、配置好运行环境。此时需要为该系统做一个备份,以便迅速部署同样的系统。这涉及到XenServer的“Copy VM”功能。

XenServer 包含两种Copy VM(复制虚拟机)的模式,Full copy(完整复制)和Fast clone(快速克隆)。一般来说,我们常把XenServer中的“复制”功能,理解成其他虚拟化工具中的“克隆”功能,但这两个概念,在XenServer中,其实是有区别的,如字面所强调的那样,Fast clone,确实就是克隆,是VM Clone,采用链接的方式;而Full copy,则是VM Copy,采用完整的复制方式。

Full copy是将虚拟机完整地复制一份,复制速度取决于存储性能;Fast clone的速度则基本是瞬间完成,因为Fast clone直接连接到现在的或者经过重命名的Base Copy VDI,此模式会把原始 VDI会转换成基本节点。两者具体的深层次的区别,请参考此篇博文http://xenme.com/1170

要进行虚拟复制时,首先根据需要创建、安装和配置 Windows 虚拟机,并安装 XenServer Tools。准备好之后,必须关闭虚拟机电源。

下面以上述新建的CentOS6.5vm虚拟机为例,演示如何复制虚拟机。很简单的一个操作。

关闭CentOS6.5vm虚拟机,在其右击菜单中选择“Copy VM”,打开“Copy Virtual Machine”对话框。

设置新虚拟机名字,选择复制模式。

Copy mode分Fast clone和Full copy两种。这里说得很清楚。

复制的进度及完成复制耗的时间,会在XenCenter的Logs中显示,下图是对CentOS6.5vm虚拟机 进行Fast clone和Full copy的结果。

运行以上两个copy的虚拟机,会发现,网络出了问题。这是由MAC地址变化引起的。需要在系统里修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth0的参数HWADDR,将其值设置为XenCenter中该虚拟机对应的“Networking”选项卡里“Device 0”的MAC值。

以上基于MAC地址变更的网络问题,主要是出现于Linux虚拟机复制中,如果是Windows虚拟机,则不存在这样的问题。

三、VM的导出与导入

官方资料如是说:XenServer允许以多种不同的格式导入和导出VM。使用XenCenter的导入向导,可以从磁盘映像(VHD和VMDK)、以开放虚拟化格式(OVF和OVA)和XenServer XVA格式导入VM,甚至可以导入在其他虚拟化平台上创建的VM。

VM的Export(导出)与Import(导入),涉及的内容是广泛而复杂的。笔者的接触很有限。本案只讨论使用xe CLI以XenServer XVA格式导入和导出VM。XVA是XenServer所特有的虚拟设备格式,用于将单个VM打包为一组文件,包括描述符和磁盘映像。文件扩展名为.xva。

Xenserver中的虚拟机导出,主要用于导入到另一台Xenserver,亦可导入到本机自身。笔者最喜欢的虚拟机复制使用的方式,其实不是Copy vm,而是Export/Import  vm。系统配置完成后,将其导出为一个.xva文件,存放在附加盘(可以是移动硬盘)存储目录里,并且复制到其他XenServer主机的存储目录下,需要的时候,可一式多份地导入到主机系统,运行使用。非常便捷,但花费的时间比Copy VM的长很多。

本案中,添加一个大小为300G的SAS硬盘,将其划分两个分区sdb1和sdb2,分别挂载到/iso和/data两个目录,前者用于存放iso镜像存储,以作为本地ISO存储库;后者用作数据存储,用于存放导出的.xva虚拟机文件。添加硬盘的操作命令及过程,跟Red Hat Linux是一样的,属于IT人的基本功,详情请见《XenServer部署实录系统——添加本地存储》一文,在此不作详述。

1.导出虚拟机

使用SSH工具(如SSH Secure Shell Client)远程连接XenServer主机,或在XenCenter中打开XenServer主机的控制台,关闭将要导出的虚拟机,然后执行以下的指令导出虚拟机,虚拟机名为在XenCenter中看到的名字,

xe vm-export vm=虚拟机名 filename=/存储路径/虚拟机名.xva

本案中是将CentOS6.5vm虚拟机导出到/data里, 具体的命令如下图所示,

注,由于这个命令执行的时间很长,一般在其后面添加&,以放到后台运行。导出完成后会提示Export succeeded。

导出虚拟机的过程中,在XenCenter的Log界面可以查看导出的进程。

2.导入虚拟机

如果要导入虚拟机,执行以下的指令,虚拟机名要预先查知,如果不存在,会报错。

xe vm-import filename=/存储路径/虚拟机名.xva

本案中是将/data/CentOS6.5vm.xva里导入, 具体的命令如下图所示。导入完成后会返回UUID号。

导入完成后,根据实际需求改更虚拟机名。当然了,系统里面,也建议更改主机名。

与Copy vm类似。这个新导入的虚拟机,MAC地址也被重写了,初次运行时,网络也是有问题的。需要在系统里修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth0的参数HWADDR,将其值设置为XenCenter中该虚拟机对应的“Networking”选项卡里“Device 0”的MAC值。对于Windows虚拟机而言,不存在这样的问题。

3.通过XenCenter导出虚拟机到客户端

以上是VM在xsr01本机上的导出导入,其实VM可以通过XenCenter直接导出到安装了XenCenter的客户端PC上。这在实际应用中有很大的灵活性。

从客户端PC机上导入VM的操作,与上述导出VM类似。

当然了,这种导入导出的方法,主要应用在单机运行的环境中。在资源池的集群环境中,虚拟机的迁移有更灵活、迅速的方法。

本文转自Sunshyfangtian 51CTO博客,原文链接:http://blog.51cto.com/sunshyfangtian/1432995,如需转载请自行联系原作者

XenServer部署系列之05——虚拟机的创建及复制相关推荐

  1. 转载vSphere部署系列之10——虚拟机模板和规范

    vSphere部署系列之10--虚拟机模板和规范 在前面的博文章节中,已搭建了群集,并启用了HA和DRS,但还没有划分资源池,这种情况已经可以应付实际生产环境.资源池的创建和配置比较简单.难点在对配额 ...

  2. XenServer部署系列——网络配置

    原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 .作者信息和本声明.否则将追究法律责任. http://sunshyfangtian.blog.51cto.com/1405751/1 ...

  3. windows server 2016 活动目录部署系列(二)创建域控制器(AD DS)

    一.准备内容 ①安装Windows Server 2016系统 在VMware WorkStation中安装Windows Server 2016https://coffeemilk.blog.csd ...

  4. 通过Postfix构建Exchange Server 2010邮件网关部署系列一:创建新域环境

    在企业部署邮件平台实例中,我们不仅仅只是完成Exchange Server 2010平台的搭建,我们还需要考虑到Exchange如何发布?端口有哪些?邮件网关用什么样的? 那么关于端口发布部分我们后期 ...

  5. VMware Horizon 8 2111 部署系列(八)准备虚拟机模板

    系列文章目录 VMware Horizon 8 2111 部署系列(一)规划_白昼ron的博客-CSDN博客 VMware Horizon 8 2111 部署系列(二)主备AD域控_白昼ron的博客- ...

  6. VMware Horizon 8 2111 部署系列(十三)创建应用程序池

    系列文章目录 VMware Horizon 8 2111 部署系列(一)规划_白昼ron的博客-CSDN博客 VMware Horizon 8 2111 部署系列(二)主备AD域控_白昼ron的博客- ...

  7. VMware vSphere 5.1 学习系列之七:虚拟机管理

    一. VMware vSphere 虚拟机简介 什么是虚拟机 与物理机一样,虚拟机是运行操作系统和应用程序的软件计算机.虚拟机包含一组规范和配置文件,由主机的物理资源支持.每个虚拟机都有可提供与物理硬 ...

  8. windows server 2016 活动目录部署系列(五)域控制器的备份和还原

    一.问题说明 目前我们已经搭建好基础域环境内容,并且进行了域账号的创建和资源的权限分配:已经能够正常运行满足基础的业务需要.     但是,由于我们搭建的基础域模型是单一架构,并没有冗余设计,这样就会 ...

  9. 【HCIA-cloud】【6】服务器虚拟化之虚拟机和模板:虚拟机和模板说明、虚拟机的Tools说明、虚拟机的创建内容说明、虚拟机的关键操作说明

    文章目录 说明 虚拟机和模板 虚拟化的基本架构 虚拟化架构中的概念 什么是虚拟机? 虚拟机的优势 创建虚拟机的方式 什么是模板? 制作模板的方式 虚拟机与虚拟机模板的区别 虚拟机与模板的导出 虚拟机与 ...

  10. Skype for business混合部署系列之二自定义拓扑信息

    Skype for business混合部署系列之二自定义拓扑信息 此次部署前端服务器共3台,后端数据库2台采用always on方式,2台SQL Server服务器已经安装完成,在这里不做文档,本章 ...

最新文章

  1. LabVIEW设计自定义滚动条
  2. Python(27)_字符串的常用的方法2
  3. 为你痴,为你狂,小车载我梦飞翔
  4. Sublime编辑器上的 Vim 插件常用快捷键
  5. boa服务器怎样运行,boa服务器的配置与编译
  6. 【转载】恼人的函数指针(一)
  7. Android官方开发文档Training系列课程中文版:通知用户之创建不同导航方式的Activity
  8. symfony2的中文视频教程更新中(原创),对Symfony感兴趣的学员可以看下
  9. python3 tkinter 实现凯撒密码GUI界面
  10. 视频截帧 php,php截取视频指定帧为图片_PHP
  11. js 实现新年倒计时 定时器使用
  12. 人工神经网络的算法原理,人工神经网络算法优点
  13. 数学三次危机(一)毕达哥拉斯学派的数学发现
  14. qt中画出漂亮的函数曲线
  15. 鸿蒙开发实战系列之三:网络请求(原生+ Retrofit)
  16. 联想电脑拯救者y7000触摸屏失灵的修复方法
  17. Aquarius's Trial F - 6 HDU - 2102 A计划
  18. GDAL C++ API 学习之路 (1)Driver篇 代码示例 翻译 自学
  19. Oulipo(kmp)
  20. 计算机毕业设计之java+ssm基于web的志愿者招募网站

热门文章

  1. windows平台vs2010编译64位libiconv与libxml2
  2. 软件架构师的成长之路
  3. 一个按钮会随着鼠标移动而变化的小工具
  4. [堆] Jzoj P5861 失意
  5. Baidu 人脸识别FireFly 与PC连接调试
  6. 译注(1): 为什么大多数编程语言里,= 号被用来做赋值操作符?
  7. SIP协议栈基础笔记
  8. 【JavaScript 封装库】BETA 2.0 测试版发布!
  9. 请慎用ASP.Net的validateRequest=false属性
  10. 【只推荐一位】推荐一位资深Python爱好者,现任世界500强架构师