使用kvm制作Eucalyptus镜像(CentOS 6.5为例)
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 Centos6.5镜像我们采用第二种方案演示。
方案一: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)、CentOS 6.5 64位安装包(这个下载地址大家百度找吧)
3、制作流程
3.1、收集相关文件,指定工作目录并初始化
3.1.1、设置工作空间
登陆63节点服务器在home目录下新建一个工作目录makelinuximages,作为制作虚拟机用到的iso及配置文件等的统一存放目录。
利用xftp上传centos安装文件到/home/makelinuximages文件夹下。注意登录时使用协议SFTP。
centos安装文件上传成功
3.1.2、创建磁盘文件
使用Xshell登录63-nc服务器。
利用qemu命令创建裸磁盘,大小为10G
qemu-img create -f raw centos6.img 10G
在Xftp中刷新即可看到刚刚新建的centos6.img镜像文件。
创建完成后可以使用以下命令查询文件格式。
qemu-img info centos6.img
或者 file centos6.img
3.1.3、设置磁盘标签
使用工具设置磁盘标签,即设置硬盘格式,格式化磁盘
parted centos6.img mklabel msdos
这里笔者执行了多次该命令,第一次直接通过,第二次后会询问,是否清空这个磁盘数据然后继续,因为这里是空磁盘那就清空一次吧。
3.2、安装虚拟机
使用 virt-install开始安装虚拟机,名称为centos6,内存为4G,
virt-install --name centos6 --ram 4096 --os-type linux --os-variant rhel6 -c /home/makelinuximages/CentOS-6.5-x86_64-bin-DVD1.iso --disk path=/home/makelinuximages/centos6.img,device=disk,bus=virtio --graphics vnc,listen=0.0.0.0 --force
笔者在执行该命令式提示没有找到该命令
所以我们还需要再安装下 virt-install 工具。在命令行中执行安装命令:yum install virt-install
安装成功后我们再次执行 virt-install 命令开始安装虚拟机。
虚拟机安装成功后,我们可以输入以下命令检查虚拟机运行状态。
virsh list
虚拟机运行正常,我们利用VNC客户端工具连接虚拟机,并进行操作系统的安装
至此即为一般Linux系统安装过程,我们这里不做赘述。本次系统安装类型我们以Desktop类型为例。
3.3、虚拟机启动配置
虚拟机安装完成后会自动关闭,我们需要创建一个虚拟机启动文件libvirt.xml来启动虚拟机。文件详细信息如下:
<domain type='kvm'> <name>eucalyptus-centos</name> <os> <type>hvm</type> </os> <features> <acpi/> </features> <memory>1073741</memory> <vcpu>1</vcpu> <devices> <!--<emulator>/usr/bin/kvm</emulator>--> <disk type='file'> <source file='/home/makelinuximages/centos6.img'/> <target dev='hda'/> </disk> <interface type='bridge'> <source bridge='br0'/> <model type='virtio'/> </interface> <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/> </devices> </domain>
利用xftp工具将libvirt.xml文件上传至/home/makelinuximages文件夹下
启动虚拟机,并检查其运行状态信息
virsh create libvirt.xml
通过VNC客户端连接虚拟机并进行剩余的安装配置操作,创建用户,配置日期和时间等信息。
配置完成后,至此centos6.5 Desktop版已经安装完成,我们可以登录测试。
3.3、编辑虚拟机配置(以root账户登录)
3.3.1、修改网络启动信息
修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件设置 ONBOOT 为"yes".执行以下命令:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
注:ONBOOT是指明在系统启动时是否激活网卡,只有在激活状态的网卡才能去连接网
3.3.2、编辑menu.lst文件
支持虚拟机的串行控制台通过添加以下选项来完成:在/boot/grub/menu.lst中添加console=ttyS0;
删除安静的选择从内核参数grub菜单启动图像。注释掉#splashimage=(hd0,0)/grub/splash.xpm.gz
vi /boot/grub/menu.lst
3.3.3、编辑网络文件network
编辑网络文件/etc/sysconfig/network,添加:NOZEROCONF=yes。禁用zeroconf路线,从而干扰访问元数据服务:
vi /etc/sysconfig/network
3.3.4、编辑70-persistent-net.rules文件,注释掉网络信息。
删除所有现有的网络接口的条目。确保你删除所有条目,并终止虚拟机,然后在桉树中注册它。
vi /etc/udev/rules.d/70-persistent-net.rules
3.3.5、完成镜像制作
经过上述配置操作,至此一个空的centos6.5镜像已经配置完成。关机。
注:看过官方帮助的朋友一定知道在安装流程的中还有个第七步,这一步主要用于设置linux的用户名密码,密码由秘钥动态生成,也可以跳过这一步,但是账户和密码就是制作镜像时的账户和密码了。
3.4、Linux镜像模板上传
3.4.1、登陆CLC所在服务器,在CLC的var目录下,新建一个img文件夹
cd /var mkdir img
3.4.2、从NC节点拷贝img文件
scp root@192.168.20.63:/home/makelinuximages/centos6.img /var/img
3.4.3、将镜像上传Eucalyptus中
euca-install-image -n centos65test -i /var/img/centos6.img -r x86_64 --virtualization-type hvm -b centos65
等待安装完成后,我们可执行以下命令查看已安装镜像,也可在管理页面看到。
euca-describe-images
至此Eucalyptus镜像(CentOS 6.5为例)制作并安装完毕。
4、参考链接
文章若无特殊说明均为原创,原创作品,允许转载,转载时请务必以超链接形式标明文章出处、作者信息和本声明。 博客:http://www.cnblogs.com/gis-luq 作者:gis-luq 邮箱:luqiang.gis@foxmail.com