Eucalyptus 镜像的问题
1. 官方网站提供的镜像 分为三个部分 1.ramdisk 2.kernel 3. 文件系统镜像
用户每次启动镜像实例,上次使用的数据是不被保存的,类似于还原系统,因为手动制作镜像比较麻烦,所以建议修改原有的镜像,首先扩大文件系统镜像的大小,然后才有足够的空间来向镜像中安装一些应用软件,具体步骤如下:
# fsck.ext3 -f ubuntu-9.04-i386.img
# resize2fs ubuntu-9.04-i386.img 8G
其中 8G 即为要镜像扩大的大小, ubuntu-9.04-i386.img 为文件系统镜像的名称。
接下来就可以向其中安装软件了:
首先建立一个临时文件,以便文件系统镜像挂在到其上:
# mkdir temp-mnt
进行挂载:
#losetup /dev/loop5 root.img
#mount /dev/loop5 temp-mnt
你必须使用 chroot 命令登录到镜像:
#chroot temp-mnt
接下来就可以进行安装了,就像在其它机器上安装软件一样。
解除挂载:
# umount /dev/loop5
# losetup -d /dev/loop5
最后在重新上传镜像了。
SC 的使用
1. 因为用户在使用镜像的时候,不能保存持久化数据,所以就提供了 SC 这一模块,它可以在 SC 上分配一片空间出来,挂载到实例上,以便用户保护自己的持久化数据,每次使用都需要挂载到自己的实例上,而且可以在 Walrus 上建立一个快照,增加可靠性,使用方法如下:
创建 Volumes :
# creat-euca-volume –size
其中 size 的是所创建的 volume 的大小,单位为 GB , zone 为创建 sc 属于哪一个集群( cluster ),
也可以从一个已存在的快照来创建一个 volume :
#euca-create-volume –snapshot
查询所有 volume 的状态:
#euca-describe-volumes
如果显示 available 状态,则该 volume 可以使用。
将可以利用的 volume 绑定到 instance 上:
#euca-attach-volum –i
Exp:
#euca-attach-volum –i i-2343423d -d /dev/sdb vol-fsfdfev
同样地也可以从一个 volum 创建一个快照:
#euca-create-snapshot vol-aweer322
Walrus 的使用
1. Eucalyptus 提供了与亚马逊云同样地访问接口,其中 Walrus 实现了与 S3 同样地访问接口,于是可以使用 S3 的 API 来访问 Eucalyptus 的 Warlus ,实现简单存储,官方提供了开发好的工具 JetS3t 的 Cockpit 的工具,是已经下好的 GUI 工具,可以很方便访问(支持 Linux 与 Windows ),而且其中提供了一些重要的 API ,我们可以使用这些 API 进行自己的开发。
前文提到的上传的镜像都是存储到 Warlus 中去,以及管理平台页面 webapps 也是存在 Warlus ,该 web 项目采用的是服务器采用的是 jetty 的开源 servlet 容器,前端采用的是 Java+GWT 的开发模式,
1. 简单介绍小 Walrus 的存储原理,从上到下是 Buckets,Objects,data.
每个 Bucket 中有许多 Object ,每个 Object 中存放一块数据,一个较大的数据可以被分成多个快存储在多个 Object 中;
3 .具体开发详见 JetS3t 使用:
后期遇到的问题(比较重要)
. 关机命令: shutdown –h now
2. 需要将 clc 节点的 /var/lib/eucalyptus/keys/cluster-1( 集群名称 ) 下面的文件 copy 到 cc 下面的 /var/lib/eucalyptus/keys/**
从官网下载下来的证书 cloud-cert.pem copy 到 /var/lib /eucalyptus/keys/*
1. clc 节点除了安装依赖包以外 ,还需安装
eucalyptus-1.6.2-1.i386.rpm\
eucalyptus-cloud-1.6.2-1.i386.rpm \
eucalyptus-common-java-1.6.2-1.i386.rpm \
eucalyptus-cc-1.6.2-1.i386.rpm\
eucalyptus-gl-1.6.2-1.i386.rpm
4 . euca-conf –register-nodes 只能够在 CC 节点注册
5. 查看节点 euca-conf –list-nodes 在 clc 端点进行
6. 注意 clc 系统时间,时间错误可能不能通过查询接口访问(时间戳问题)
7.warlus 需要启动后管理员网站才能进去,因为 web 的部分是缓存在 warlus 中的
8. 若要使用 putty 登录虚拟机 需要将 openssh 密钥转换为 putty 密钥方可登录
9. 修改 loop device 的数目 vi /etc/modprobe.conf
最后一行添加 options loop max_loop=256
每个 nc 节点的 loop device 数量如果不够的话(默认是 8 个) 没启动一个虚拟机都需要三个 loop device 来分别挂载 /root /swap / ephemeral
所以需要修改 loop device 的数量 来进行运行更多的虚拟机
10. 项目问题: 多次连续使用 sshj 登录的时候 会出现 Exhausted available authentication methods 的错误提示。。。而且不能有已经在使用的用户