歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS6下安裝基於Xen的Eucalyptus 2.0.3

CentOS6下安裝基於Xen的Eucalyptus 2.0.3

日期:2017/2/28 15:42:59   编辑:Linux教程

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,參考 http://www.linuxidc.com/Linux/2012-08/68287.htm
  • 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. rpm -i dhcp-3.0.5-29.el5_7.1.src.rpm
  3. cd ~/rpmbuild/SPECS/
  4. rpmbuild -bb dhcp.spec # 如果編譯不過去,可能需要手動去掉-Werror編譯選項
  5. cd ~/rpmbuild/RPMS/x86_64/
  6. 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. mkdir -p ${EUCALYPTUS}/packages/
  6. tar xzf eucalyptus-2.0.3-src-deps.tar.gz
  7. cd eucalyptus-src-deps
  8. tar xzf axis2-1.4.tgz -C ${EUCALYPTUS}/packages/
  9. cd ${EUCALYPTUS}/packages/
  10. ln -sf axis2-1.4 axis2
  11. cd -
  12. tar xzf axis2c-src-1.6.0.tar.gz
  13. cd axis2c-src-1.6.0
  14. CFLAGS="-w" ./configure --prefix=${AXIS2C_HOME} -with-apache2=${APACHE_INCLUDES} --with-apr=${APR_INCLUDES} --enable-multi-thread=no
  15. make
  16. make install
  17. cd -
  18. rm -rf axis2c-src-1.6.0
  19. export LD_LIBRARY_PATH=${AXIS2C_HOME}/lib
  20. tar xzf rampartc-src-1.3.0-0euca2.tar.gz
  21. cd rampartc-src-1.3.0
  22. ./configure --prefix=${AXIS2C_HOME} --enable-static=no --with-axis2=${AXIS2C_HOME}/include/axis2-1.6.0/
  23. make
  24. make install
  25. rm -rf rampartc-src-1.3.0
  26. cd ${EUCALYPTUS}/packages
  27. ln -sf axis2c-1.6.0 axis2c
  28. cd -
  29. sed -i "s;<\!--phase name=\"Security\"/-->;<phase name=\"Security\"/>;g" ${AXIS2C_HOME}/axis2.xml
  30. cd ..
  31. 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. tar xzf eucalyptus-2.0.3-src-offline.tar.gz
  7. cd eucalyptus-2.0.3-src-offline
  8. ./configure --with-axis2=${AXIS2_HOME} --with-axis2c=${AXIS2C_HOME} --enable-debug --prefix=${EUCALYPTUS}
  9. make
  10. make install
  11. cd -
  12. rm -rf eucalyptus-2.0.3-src-offline
  13. cd /home/public/
  14. ln -sf eucalyptus-2.0.3 eucalyptus
  15. export EUCALYPTUS=/home/public/eucalyptus
  16. ln -sf $EUCALYPTUS/etc/init.d/eucalyptus-cloud /etc/init.d/eucalyptus-cloud
  17. ln -sf $EUCALYPTUS/etc/init.d/eucalyptus-cc /etc/init.d/eucalyptus-cc
  18. ln -sf $EUCALYPTUS/etc/init.d/eucalyptus-nc /etc/init.d/eucalyptus-nc
  19. chkconfig eucalyptus-cloud off
  20. chkconfig eucalyptus-cc off
  21. 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. rpm -Uvh euca2ools-1.3.1-1.x86_64.rpm
  4. cd -
  5. rm -rf euca2ools-1.3.1-fedora-x86_64
Copyright © Linux教程網 All Rights Reserved