CentOS6下安装基于Xen的Eucalyptus 2.0.3


Eucalyptus

  • 官网 http://open.eucalyptus.com/downloads
  • 手册 http://open.eucalyptus.com/wiki
  • 服务器角色
    • Cloud controller(CLC),控制调度云的资源,同时提供web界面以及兼容EC2的SOAP服务
    • Walrus,实现了基于桶的存储,同时提供兼容S3的SOAP服务以及REST接口
    • Cluster controller(CC),实现以集群为单位的调度
    • Storage controller(SC),基于块的存储控制器,EBS-style
    • Node controller(NC),虚拟节点,运行xen及虚拟机的机器

版本

  • CentOS 6 Minimal install
  • Xen 4.1.1 NC服务器上面需要完全安装,其余服务器需要几个编译好的rpm,参考
  • Eucalyptus 2.0.3,下载offline源码包, http://eucalyptussoftware.com/downloads/releases/eucalyptus-2.0.3-src-offline.tar.gz , 依赖的库 http://eucalyptussoftware.com/downloads/releases/eucalyptus-2.0.3-src-deps.tar.gz
  • euca2ools 1.3.1, 使用Fedora的,下载 http://eucalyptussoftware.com/downloads/releases/euca2ools-1.3.1-fedora-x86_64.tar.gz
  • dhcpd 3.0.5, CC上需要安装, 使用旧版本rhel5的, eucalyptus 2.0.3对稍微高版本的ISC dhcpd支持有问题, 下载http://ftp.RedHat.com/redhat/linux/enterprise/5Server/en/os/SRPMS/dhcp-3.0.5-29.el5_7.1.src.rpm

准备工作

 1. 下载各个软件包  2. 除了NC以外的服务器安装CentOS 6 Minimal方式  3. NC服务器按照参考文档安装配置Xen环境,注意在Xen的内核配置里面添加一项 max_loop=256  4. 配置好所有机器的NTP,使它们时钟保持同步

安装过程

 1. 创建 /etc/yum.repos.d/euca.repo 
  1. [euca]  
  2. name=Eucalyptus  
  3. baseurl=http://www.eucalyptussoftware.com/downloads/repo/eucalyptus/2.0.3/yum/centos/x86_64  
  4. gpgcheck=0  
 2. 通过yum安装必须的软件包 (所有机器上)
  1. yum -y install perl-Convert-ASN1.noarch scsi-target-utils httpd java-1.6.0-openjdk-devel ant ant-nodeps libvirt-devel curl-devel httpd-devel apr-devel openssl-devel libxml2 libxml2-devel gnutls gnutls-devel libgcrypt-devel zlib-devel perl-Convert-ASN1 perl-Crypt-OpenSSL-RSA perl-Crypt-OpenSSL-Random chkfontpath fuse-libs swig gcc make patch compat-expat1 compat-db43 lzo2 vblade m2crypto lvm2 rsync ntp vconfig groff rpm-build  
 3. 安装之前编译好的Xen的rpm包(给控制服务器,节点服务器已经装过xen的就不需要了)
  1. rpm -Uvh xen-licenses-*.x86_64.rpm xen-devel-*.x86_64.rpm xen-libs-*.x86_64.rpm   
 4. 安装dhcpd
  1. wget http://ftp.redhat.com/redhat/linux/enterprise/5Server/en/os/SRPMS/dhcp-3.0.5-29.el5_7.1.src.rpm  
  2.     
  3. rpm -i dhcp-3.0.5-29.el5_7.1.src.rpm  
  4.     
  5. cd ~/rpmbuild/SPECS/  
  6. rpmbuild -bb dhcp.spec  # 如果编译不过去,可能需要手动去掉-Werror编译选项  
  7.     
  8. cd ~/rpmbuild/RPMS/x86_64/  
  9. rpm -Uvh dhcp-3.0.5-29.el6.1.x86_64.rpm # 如果已经装了dhcp,先手动删除掉原来的  
 5. 安装Eucalyptus的依赖软件(eucalyptus-2.0.3-src-deps.tar.gz)
  1. export EUCALYPTUS=/home/public/eucalyptus-2.0.3  
  2. export APACHE_INCLUDES=/usr/include/httpd/  
  3. export APR_INCLUDES=/usr/include/apr-1/  
  4. export AXIS2C_HOME=${EUCALYPTUS}/packages/axis2c-1.6.0  
  5.   
  6. mkdir -p ${EUCALYPTUS}/packages/  
  7.   
  8. tar xzf eucalyptus-2.0.3-src-deps.tar.gz  
  9. cd eucalyptus-src-deps  
  10.   
  11. tar xzf axis2-1.4.tgz -C ${EUCALYPTUS}/packages/  
  12. cd ${EUCALYPTUS}/packages/  
  13. ln -sf axis2-1.4 axis2  
  14. cd -  
  15.   
  16. tar xzf axis2c-src-1.6.0.tar.gz  
  17. cd axis2c-src-1.6.0  
  18. CFLAGS="-w" ./configure --prefix=${AXIS2C_HOME} -with-apache2=${APACHE_INCLUDES} --with-apr=${APR_INCLUDES} --enable-multi-thread=no  
  19. make  
  20. make install  
  21. cd -  
  22. rm -rf axis2c-src-1.6.0  
  23.   
  24. export LD_LIBRARY_PATH=${AXIS2C_HOME}/lib  
  25. tar xzf rampartc-src-1.3.0-0euca2.tar.gz  
  26. cd rampartc-src-1.3.0  
  27. ./configure --prefix=${AXIS2C_HOME} --enable-static=no --with-axis2=${AXIS2C_HOME}/include/axis2-1.6.0/  
  28. make  
  29. make install  
  30. rm -rf rampartc-src-1.3.0  
  31.   
  32. cd ${EUCALYPTUS}/packages  
  33. ln -sf axis2c-1.6.0 axis2c  
  34. cd -  
  35. sed -i "s;<\!--phase name=\"Security\"/-->;<phase name=\"Security\"/>;g" ${AXIS2C_HOME}/axis2.xml  
  36.   
  37. cd ..  
  38. rm -rf eucalyptus-src-deps  
 6. 安装Eucalyptus (eucalyptus-2.0.3-src-offline.tar.gz)
  1. export EUCALYPTUS=/home/public/eucalyptus-2.0.3  
  2. export AXIS2_HOME=${EUCALYPTUS}/packages/axis2  
  3. export AXIS2C_HOME=${EUCALYPTUS}/packages/axis2c  
  4. export JAVA_HOME="/usr/lib/jvm/java-openjdk/"  
  5. export JAVA="$JAVA_HOME/JRE/bin/java"  
  6.   
  7. tar xzf eucalyptus-2.0.3-src-offline.tar.gz  
  8. cd eucalyptus-2.0.3-src-offline  
  9. ./configure --with-axis2=${AXIS2_HOME} --with-axis2c=${AXIS2C_HOME} --enable-debug --prefix=${EUCALYPTUS}  
  10. make  
  11. make install  
  12. cd -  
  13. rm -rf eucalyptus-2.0.3-src-offline  
  14.   
  15. cd /home/public/  
  16. ln -sf eucalyptus-2.0.3 eucalyptus  
  17.   
  18. export EUCALYPTUS=/home/public/eucalyptus  
  19. ln -sf $EUCALYPTUS/etc/init.d/eucalyptus-cloud /etc/init.d/eucalyptus-cloud  
  20. ln -sf $EUCALYPTUS/etc/init.d/eucalyptus-cc /etc/init.d/eucalyptus-cc  
  21. ln -sf $EUCALYPTUS/etc/init.d/eucalyptus-nc /etc/init.d/eucalyptus-nc  
  22.   
  23. chkconfig eucalyptus-cloud off  
  24. chkconfig eucalyptus-cc off  
  25. chkconfig eucalyptus-nc off  
 7. 安装工具(euca2ools-1.3.1-fedora-x86_64.tar.gz)
  1. tar xzf euca2ools-1.3.1-fedora-x86_64.tar.gz  
  2. cd euca2ools-1.3.1-fedora-x86_64  
  3.   
  4. rpm -Uvh euca2ools-1.3.1-1.x86_64.rpm  
  5.   
  6. cd -  
  7. rm -rf euca2ools-1.3.1-fedora-x86_64  
  • 1
  • 2
  • 3
  • 下一页

相关内容