简易搭建一个私有云平台.doc_第1页
简易搭建一个私有云平台.doc_第2页
简易搭建一个私有云平台.doc_第3页
简易搭建一个私有云平台.doc_第4页
简易搭建一个私有云平台.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简易搭建一个私有云平台众说周知Amazon E2是一个公共云的计算平台,属于IaaS(基础设施即服务)这类.现在有一款开源的项目Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems),同样实现了Amazon EC2的功能,由于其开源性,注定了搭建一个私有的云计算平台成为可能. 更方便的是Ubuntu9.10服务器版已经集成了Eucalyptus这个开源软件,使的搭建企业私有的云计算平台变得方便而简单.下面我们将一步步来搭建这个私有的云计算平台.一 准备工作1) 至少准备两台机器, 当然我这里是用虚拟机软件(Sun VirtualBox)来虚拟出两台实际的机器(如果你也采用Sun VirtualBox,有些注意事项,可以参见后面的附录一)2) 底层操作系统: Ubuntu9.10 服务器版 (/cloud)3) 云服务环境 : Eucalyptus , ( Ubuntu9.10 服务器版 内置) /4) Eucalyptus 命令行客户端5) Eucalyptus客户端: Elastic Fox ,这是一个firefox插件 : /connect/entry.jspa?externalID=609-二 云计算服务的搭建(使用Ubuntu自带的向导,十分简单的哦)1) 一台机器, 作为Cluster(Front End) , 命名为: ubuntu-cluster , 它包含了如下部分1. CloudController(clc) 2. ClusterController(cc) 3. Walrus(theS3-likestorageservice) 4. StorageController(sc) 5. 2) 至少一台机器作为Node, 命名为: ubuntu-node1,它包含了如下部分Node Controller (nc)3) 在作为Cluster的机器上(Front end) ,安装基本系统: Ubuntu9.10 服务器版1.安装引导时,要选择 Install Ubuntu Enterprise Cloud 2. 安装过程中,如果提示Cluster 还是Node,一定要选择Cluster 3.安装过程中,提示Configure postfix 时 选择 internet Site 4. 安装过程中,提示Name your cluster 时 ,请取一个合适的名字,比如我取之为: cluster1 5. 安装过程中,提示a list of available IP addresses on your network, 一定要选择一个可用的公共IP段.例如: e.g. 00-494) 在作为Node的机器上 ,也安装基本系统: Ubuntu9.10 服务器版Node安装很简单,但一定要保证此时的cluster正在运行,并且Node要和安装cluster的机器联网,否则后面Node在cluster上不能注册成功1.安装引导时,要选择 Install Ubuntu Enterprise Cloud 2. 安装过程中,如果提示Cluster 还是Node,一定要选择Node, (如果Cluster正在运行,这一步可能不会出现,自动会选择Node 3.安装完一个节点后,后续的节点可以采用克隆方法,参见后面的 附录二如果使用UEC/PackageInstall安装,则需要执行下列操作。(不过我们一般使用的不是Package安装,而是CD安装,所以下面的a到e通常可以直接略过。)a. a. Public SSH keys have been exchanged properly b. The services are configured properly c. The services are publishing their existence d. The appropriate uec-component-listener is running e. Verify Registration.a. Exchange Public SSH KeysThe Cloud Controllers eucalyptus user needs to have SSH access to the Walrus Controller, Cluster Controller, and Storage Controller as the eucalyptus user. Install the Cloud Controllers eucalyptus users public ssh key by: On the target controller, temporarily set a password for the eucalyptus user: sudo passwd eucalyptus Then, on the Cloud Controller: sudo -u eucalyptus ssh-copy-id -i eucalyptus/.ssh/id_rsa.pub eucalyptus You can now remove the password of the eucalyptus account on the target controller, if you wish: sudo passwd -d eucalyptusb. Configure the ServicesOn the Cloud Controller: For the Cluster Controller Registration: o Define the shell variable CC_NAME in /etc/eucalyptus/eucalyptus-cc.conf o Define the shell variable CC_IP_ADDR in /etc/eucalyptus/eucalyptus-ipaddr.conf, as a space separated list of one or more IP addresses. For the Walrus Controller Registration: o Define the shell variable WALRUS_IP_ADDR in /etc/eucalyptus/eucalyptus-ipaddr.conf, as a single IP address. On the Cluster Controller: For Storage Controller Registration: o Define the cluster name in the shell variable CC_NAME in /etc/eucalyptus/eucalyptus-cc.conf o Define the shell variable SC_IP_ADDR in /etc/eucalyptus/eucalyptus-ipaddr.conf, as a space separated list of one or more IP addresses. c. PublishNow start the publication services. Walrus Controller: sudo start eucalyptus-walrus-publication Cluster Controller: sudo start eucalyptus-cc-publication Storage Controller: sudo start eucalyptus-sc-publication Node Controller sudo start eucalyptus-nc-publicationd. Start the ListenerOn the Cloud Controller and the Cluster Controller(s), run: sudo start uec-component-listenere. Verify Registrationcat /var/log/eucalyptus/registration.log2010-04-08 15:46:36-05:00 | 24243 - Calling node cluster1 node 52010-04-08 15:46:36-05:00 | 24243 - euca_conf -register-nodes returned 02010-04-08 15:48:47-05:00 | 25858 - Calling walrus Walrus 12010-04-08 15:48:51-05:00 | 25858 - euca_conf -register-walrus returned 02010-04-08 15:49:04-05:00 | 26237 - Calling cluster cluster1 12010-04-08 15:49:08-05:00 | 26237 - euca_conf -register-cluster returned 02010-04-08 15:49:17-05:00 | 26644 - Calling storage cluster1 storage 12010-04-08 15:49:18-05:00 | 26644 - euca_conf -register-sc returned 0如果使用UEC/CDInstall安装,则上面的a到e跳过,直接进行下列操作5) 在Cloud Controller(位于ubuntu-cluster)上注册所有的Node机器: 在ubuntu-cluster上执行:sudoeuca_conf-no-rsync-discover-nodes 至此,一个私有的云计算平台已经搭建好了,下面就开始说,如何使用了.三 云计算平台管理之命令行工具(Euca2ools)1)在 https:/YourIP:8443 中注册个人信息然后登录下载 证书 euca2-yourname-x509 .zip获得证书可以用两种方式,浏览器方式和命令行方式:浏览器方式:1. 在浏览器窗口输入:https:/:8443/此处必须使用https安全连接。然后会得到一个安全证书警告。 然后放行被阻挡的意外事件。2. 第一次登录的时候,用户名和密码是“admin”,“admin”。3. 然后自己修改密码并填写Email地址. 4. 第一次配置成功后,点击左上角的 credentials 键. 5. 点击 Download Credentials 键,下载用户的证书。 6. 把证书保存在 /.euca目录中 7. 把压缩的证书文件解压在安全目录下 (/.euca) :unzip -d /.euca mycreds.zip浏览器方式:Alternatively, if you are on the command line of the Cloud Controller, you can run: 1. mkdir -p /.euca2. chmod 700 /.euca3. cd /.euca4. sudo euca_conf -get-credentials mycreds.zip5. unzip mycreds.zip6. ln -s /.euca/eucarc /.eucarccd -2) 在客户端机器上执行, 安裝 Euca2ools 和 EC2-API-Tools1. ./.euca/eucarc 2. echo-r/.euca/eucarc&./.euca/eucarc/.bashrc 3. sudoapt-getinstalleuca2ools 4. sudoapt-getinstallec2-api-tools 5. euca-describe-availability-zones verbose6. sudoreboot 4)在客户端机器,使用 Euca2ools 上传 Kernel / Ramdisk / FS Image (使用者可注册 Image,但只有管理者才可注册 kernel/ramdisks)1. 目前 Eucalyptus 系統上没有 Kernel、Ramdisk 和 FS Image,所以我們使用官方提供的 Image (上传需要用到三个指令)1. euca-bundle-image-打包好將要上传的档案 2. euca-upload-bundle-上传到Eucalyptus 3. euca-register-注册上传的档案 2. 上传Kernel,如:1. euca-bundle-image-i/boot/vmlinuz-2.6.31-14-generic-pae-kerneltrue 2. euca-upload-bundle-bkernel-m/tmp/vmlinuz-2.6.31-14-generic-pae.manifest.xml 3. euca-registerkernel/vmlinuz-2.6.31-14-generic-pae.manifest.xml 3.上传 Ramdisk1. euca-bundle-image-i/boot/initrd.img-2.6.31-14-generic-pae-ramdisktrue 2. euca-upload-bundle-bramdisks-m/tmp/initrd.img-2.6.31-14-generic-pae.manifest.xml 3. euca-registerramdisks/initrd.img-2.6.31-14-generic-pae.manifest.xml 4. 查看已上传到档案:方法一: https:/YourIP:8443/#images方法二: euca-describe-images5. 根据查看的结果,上传FS Images:(分配 Kernel 和 Ramdisks 給 VMs 有三种方法,见附录三)1. tarzxvfkarmic-server-uec-i386.tar.gz 2. euca-bundle-image-ikarmic-server-uec-i386.img-kerneleki-977213C6-ramdiskeri-0CBA157D 3. euca-upload-bundle-bimages-m/tmp/karmic-server-uec-i386.img.manifest.xml 4. euca-registerimages/karmic-server-uec-i386.img.manifest.xml 5) 申請 key pair,以便 ssh 登入 instance1. ec2-add-keypairmykeymykey.private 2. chmod0600mykey.private 6): Run an Image使用命令行来运行镜像的实例:1. 在运行镜像的实例之前,必须先生成一个ssh key在启动的时候用来登录。生成一次这个key之后会自动保存,因此此操作只需要进行一次即可。2. if ! -e /.euca/mykey.priv ; then3. mkdir -p -m 700 /.euca4. touch /.euca/mykey.priv5. chmod 0600 /.euca/mykey.priv6. euca-add-keypair mykey /.euca/mykey.privfiNote: 可以任意命名这个key (在本例中,我们命名为 mykey),但是必须记住这个名字。如果忘记了这个名字,可以使用命令 euca-describe-keypairs 来获取这个名字。 7. 打开22端口: euca-authorize default -P tcp -p 22 -s /08. 然后,生成一个你注册的镜像的实例: euca-run-instances $EMI -k mykey -t m1.smallNote: 如果收到一个关于image_id的错误报告,可以查阅镜像文档或者点击存储界面上的“how to run”来对照事例的命令行。 9. 第一次运行实例的时候,系统会在镜像实例生成的地方生成一块缓存区。这需要等待一段时间。为了管理生成的实例的状态,运行:watch -n5 euca-describe-instances在输出中,会看到关于这个镜像的信息,包括状态信息。一旦第一次缓存区被创建,这个实例的就变为pending. 10. 当实例被启动,实例的状态就变为running. 在输出中查看分配的实例的IP地址,然后连接到: 11. IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk print $4)ssh -i /.euca/mykey.priv ubuntu$IPADDR12. 现在已经完成了这个实例的创建。然后可以尝试退出SSH连接,然后终止这个实例: 13. INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk print $2)euca-terminate-instances $INSTANCEID附录一: 虚拟测试环境的搭建:1.虚拟机软件: Sun VirtualBox2.管理 - 全局设定 - 网络 中 选择 Host-Only 点编辑,然后选择 DHCP服务器, 禁用启用服务器3建立两台虚拟机, Linux/Ubuntu ,网络选择Host-Only方式4在宿主机器上,将可以联互联网的 网卡设置为 针对 Host-Only 网卡的共享说明,这里之所以采用 , Host-Only + 通过宿主机器共享上网 ,而不采用Bridged的联网方式,是前者可以在离开网络支持的情况下, 虚拟机之间的关系保持不变.附录二: VirtualBox 系统克隆及其可能后续操作:1) VirtualBox 的虚拟硬盘的克隆命令: VBoxManage clonevdi old.vdi new.vdi2) Ubuntu 修改主机名:1. 启用root用户: sudo passwd root 2. .以root用户身份登录 3. pico /etc/hosts : 修改对应的旧的主机名 4. pi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论