1、前言
Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) 是一种开源的软件基础结构,用来通过计算集群或工作站群实现弹性的、实用的云计算。它最初是美国加利福尼亚大学 Santa Barbara 计算机科学学院的一个研究项目,现在已经商业化,发展成为了 Eucalyptus Systems Inc。不过,Eucalyptus 仍然按开源项目那样维护和开发。
我们这里所要制作的镜像是桉树实例启动的模板,需要在镜像模板中提前配置好桉树管理工具及相关软件,然后注册到桉树中方可使用。创建镜像我们建议在NC节点上执行,需停止该节点上所有实例,以及节点服务,再进行相关创建工作。
2、前期准备
桉树环境
(1)、版本:4.0.0
(2)、节点使用情况
说明:建议在NC节点上进行制作工作,并且NC节点服务需关闭,关闭会导致该节点上实例永久性消失(PS:实例没有做持久化,一旦停止就会消失)。所以我们这里制作实例使用的是没有被分配节点的63服务器。
service eucalyptus-nc stop //关闭NC节点服务
工具软件
关于相关工具的使用上我们提供了两种方案,大家可依据自己的喜好决定采用哪一种。制作Eucalyptus Windows Server2008r2镜像我们采用第一种方案演示。
方案一:MobaXterm
MobaXterm 官方下载地址:http://mobaxterm.mobatek.net/download-home-edition.html 绿色版下载
注:MobaXterm是一个X服务器和一组的Unix命令(GNU/ Cygwin的)封装在一个单一的便携式exe文件的增强终端。 MobaXterm包括一个巨大的multitab原生的Windows终端。操作简单,功能强大,易上手,也是这次我们推荐使用的。后面的流程是基于MobaXterm操作的。
方案二:tightvnc +Xshell+Xftp
tightvnc 官方下载支持:http://www.tightvnc.com/download-old.php 绿色版下载
注:TightVNC 是一套免费的 VNC 软件,能让你轻松控制远程的计算机,就像坐在自己家的计算机前面一般,让你出门在外无后顾之忧!
Xshell 官方下载地址:http://www.netsarang.com/download/down_xsh4.html
注:Xshell 是一个极好用的免费 SSH 客户端,可以作为 Telnet、Rlogin、SSH、SFTP、Serial 等协议的安全终端模拟软件,让你轻松管理远程主机。
Xftp 官方下载地址:http://www.netsarang.com/download/down_xfp4.html
注:是一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他 Windows 应用程序紧密地协同工作,此外它还为高级用户提供了众多强劲地功能特性。
这里我们为了方便提供了Xshell & Xftp整合版绿色版下载地址:http://pan.baidu.com/s/1bnngdXH
相关程序包和文件
(1)、Windows Server 2008r2 64位安装包(这个下载地址大家百度吧,也可以是windows的其他版本,但是需要注意集成程序包对应)
(2)、桉树Windows集成程序包,依据具体情况采用,下载地址:
windows-prep-tools-3.4.0.iso http://downloads.eucalyptus.com/software/tools/windows-prep/
windows-prep-tools-legacy.iso http://downloads.eucalyptus.com/software/tools/windows-prep/
(3)、启动用配置文件libvirt-kvm-windows.xml。该文件示例模板位置在节点服务器/usr/share/eucalyptus/doc/文件夹下。/usr/share/eucalyptus/doc/libvirt-kvm-windows-example.xml,我们只需要进行简单的定制修改即可。
3、制作流程
3.1、收集相关文件到指定目录并初始化
3.1.1、设置工作空间
登陆63节点服务器在home目录下新建一个工作目录,作为制作虚拟机用到的iso及配置文件等的统一存放目录:
cd /home //进入到home目录 mkdir makeimages //创建一个makeimages目录 cd /home/makeimages //进入到makeimages目录 ls //查看makeimages 下所有文件
MobaXterm链接远程Linux服务器,请参考文章:http://www.cnblogs.com/gis-luq/p/3993378.html
使用MobaXterm工具可以实现文件的拖拽上传,上传成功后文件列表如下:
3.1.2、创建disk磁盘文件
dd if=/dev/zero of=windows.2008r2_X64_test.img bs=1M count=1 seek=36999
注意: 创建DISK 命名必需要以windows 开头。 本例生成36999个1M的容量(大约37G)硬盘。
3.1.3、创建软驱文件
dd if=/dev/zero of=floppy.img bs=1k count=1474
3.1.4、创建第二块磁盘文件
dd if=/dev/zero of=secondary.img bs=1M count=1 seek=1000
3.1.5、拷贝虚拟机配置文件
系统自带了一系列配置文件模板,我们把使用到的复制过来。这里复制的是kvm-windows文件。
cp /usr/share/eucalyptus/doc/libvirt-kvm-windows-example.xml /home/makeimages/
备注:将安装系统用到的ISO文件,也统一放到此目录下。创建windows虚拟机时,需要使用libvirt-kvm-windows配置文件来启动,libvirt-kvm-windows中进行了相应的磁盘路径、ISO路径的配置。而在这一过程中,总计需要三次修改libvirt配置文件:
3.1.6、检查所需文件列表
说明:当文件列表信息有改动时,右侧文件列表需被刷新后方可显示为最新。
3.2、第一次修改libvirt文件
3.2.1、修改libvirt-kvm-windows-example.xml文件中devices下的disk中的节点信息
由于libvirt-kvm-windows-example.xml文件中包含大量说明性信息,这里仅截取实际使用部分。ISO 路径挂载Win_Server_08_R2_SP1_33in1.iso。硬盘挂在为windows.2008r2_X64_test.img,并使第二块硬盘及软驱路径配置不生效。
libvirt-kvm-windows-example.xml在MobaXterm中双击即可修改,相关信息参考如下:
<domain type='kvm'> <name>eucalyptus-windows</name> <os> <type>hvm</type> <boot dev='cdrom'/> </os> <features> <acpi/> </features> <memory>524288</memory> <vcpu>1</vcpu> <devices> <disk type='file'> <source file='/home/makeimages/windows.2008r2_X64_test.img'/> <target dev='hda'/> </disk <!-- <disk type='file' device='disk'> <source file='/home/makeimages/secondary.img'/> <target dev='vda' bus='virtio'/> </disk> <disk type='file' device='floppy'> <source file='/home/makeimages/floppy.img'/> <target dev='fda'/> </disk> --> <disk type='file' device='cdrom'> <source file='/home/makeimages/Win_Server_08_R2_SP1_33in1.iso'/> <target dev='hdc'/> <readonly/> </disk> <interface type='bridge'> <source bridge='br0'/> <model type='rtl8139'/> </interface> <!--<interface type='bridge'> <source bridge='br0'/> <model type='virtio'/> </interface> --> <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/> </devices> </domain>