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  --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></memory>
<vcpu></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/-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、参考链接

https://www.eucalyptus.com/docs/eucalyptus/4.0/index.html#image-guide/img_task_install_os_to_image.html

使用kvm制作Eucalyptus镜像(CentOS 6.5为例)的更多相关文章

  1. 使用kvm制作Eucalyptus镜像(Windows Server 2008r2为例)

    1.前言 Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems (Eucalyptus) ...

  2. Docker 从零开始制作基础镜像[centos]

    http://www.oschina.net/news/62897/docker-hub-contains-high-risk-vulnerabilities 这里有个统计,docker官方和个人发布 ...

  3. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像

    在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos6.5镜像,放到/usr/local/src目录下然后用OZ工具制作openstack ...

  4. 【转载】深入理解OpenStack-手动制作qcow2镜像

    深入理解OpenStack-手动制作qcow2镜像 2018-01-18 手动制作镜像 1 官方虽提供qcow2系统镜像,但对于有需求的企业来说,还是定制镜像比较靠谱,下面就手动定制一个镜像 给虚拟机 ...

  5. OpenStack Nova 制作 Windows 镜像

    OpenStack Nova 制作 Windows 镜像   windows虚拟机ubuntuimage防火墙云计算 本贴转自http://www.vpsee.com 上次 VPSee 给 OpenS ...

  6. 制作docker-jdk7-zookeeper镜像(非集群版)

    ## 准备工作 用到的工具, Xshell5, Xftp5, jdk-7u79-linux-x64.tar.gz, zookeeper-3.4.9.tar.gz, docker.io/centos:l ...

  7. 如何制作Windows镜像

    1.在https://msdn.itellyou.cn/网站中下载(使用迅雷)Windows2003R2 中文版ISO 2.使用qemu-img create命令创建一个空的 后缀为.img的文件 q ...

  8. docker把web jar包制作成镜像

    1.新建一个spring boot项目 并使用maven打成jar包,放到linux(centos7)环境上. 运行 java -jar hello.jar  后结果如下(这里项目对外提供的端口是90 ...

  9. 制作spark镜像

    构建镜像 添加jdk引用(可以使用yum进行安装): 安装SSH 碰到一个问题,执行systemctl的时候发生了异常: Failed to get D-Bus connection 解决这个问题的方 ...

随机推荐

  1. vue.js2.0实战(1):搭建开发环境及构建项目

    Vue.js学习系列: vue.js2.0实战(1):搭建开发环境及构建项目 https://my.oschina.net/brillantzhao/blog/1541638 vue.js2.0实战( ...

  2. 【转】log4j.properties 详解与配置步骤 - edward0830ly的专栏 - 博客频道 - CSDN.NET

    一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失IN ...

  3. vue,webpack,node间的关系

    针对在“思否”上看到的关于vue,node,webpack的一些问题及回复,做出如下的整理,给同样不是很清楚的朋友做了解,也供自己学习 原链接:https://segmentfault.com/q/1 ...

  4. 使用Log4j2,打包后提示ERROR StatusLogger Log4j2 could not find a logging implementation.

    从Log4j切换到Log4j2,没有打包之前日志输出正常,但是打包后总是提示下面内容: 错误一: ERROR StatusLogger Log4j2 could not find a logging ...

  5. Enigma模拟-Python

    设计思想 Enigma机的机械结构: 键盘:加密人员通过键盘进行输入 转子:Enigma机上一般装有至少3个转轮.每个转轮有代表26个字母的触头和触点,触点和触头在转轮内部有导线相连(一个转轮相当于一 ...

  6. 微信小程序小结(2) ------ 自定义组件

    在小程序中有模板跟组件的概念.但模板更多的用于内容的展示,更复杂的交互逻辑就没办法了.所以在小程序中也定义了一些组件来解决一些简单逻辑的功能. 但有时预定义的组件并不能满足我们的需求,这时就需要我们自 ...

  7. Mice and Holes 单调队列优化dp

    Mice and Holes 单调队列优化dp n个老鼠,m个洞,告诉你他们的一维坐标和m个洞的容量限制,问最小总距离.1 ≤ n, m ≤ 5000. ​ 首先列出朴素的dp方程:\(f[i][j] ...

  8. Mysql实例参数优化15个主要参数讲解(原创)

    1.innodb_buffer_pool_size 设置物理内存的60%-80%,反应IO吞吐的最大上限2.innodb_thread_concurrency 线程并发,设置为CPU核心数,如果等于0 ...

  9. shell学习(13)- vim

    其中部分内容是转载的. 在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的c ...

  10. DHCPv6协议

    DHCPv6协议     1. 定义 IPv6 动态主机配置协议DHCPv6(Dynamic Host Configuration Protocol for IPv6)是针对IPv6编址方案设计,为主 ...