OpenStack最初是由Rackspace引领开发的,并在七月份发布,主要的软件组件包括:基于Rackspace的云文件源代码的对象存储;基于NASA的Nebula计算引擎和Rackspace的云服务器技术的计算组件。 在三个月的开发、修正缺陷和合理化工作之后,OpenStack发布了Austin,这是第一个开源的云平台,它非常可能会改变云平台的情况。 NSAS已经宣布了他们内部云服务的预发布版本,这是由提供给具有凭证的员工的Nebula支持的。
一、升级python到2.6
www.linuxidc/thread-286-1-1.html
二、安装xen
卸载kvm
Rpm –qa |grep kvm
Yum remove kvm
Yum remove kmod-kvm
CentOS 5中安装Xen 见 www.linuxidc/thread-347-1-1.html
三、安装euca2ools
1.openstack的官方文档是使用yum安装的
详见:
/NovaInstall/CentOSNotes
EPEL Repositiory(添加euca2ools的源)
Java代码
1.cat >/pos.po << EUCA_REPO_CONF_EOF 
2.[eucalyptus] 
3.name=euca2ools 
4.baseurl=www.eucalyptussoftware/downloads/repo/euca2ools/1.3.1/yum/centos/  5.enabled=1  6.gpgcheck=0  7. 
8.EUCA_REPO_CONF_EOF 
9. 
10.rpm -Uvh 'download.Fedora.RedHat/pub/epel/5/x86_arch.rpm'  cat >/pos.po << EUCA_REPO_CONF_EOF
[eucalyptus]
name=euca2ools
baseurl=www.eucalyptussoftware/downloads/repo/euca2ools/1.3.1/yum/centos/
enabled=1
gpgcheck=0
EUCA_REPO_CONF_EOF
rpm -Uvh 'download.Fedora.RedHat/pub/epel/5/x86_arch.rpm'2.也可以使用离线安装,见:
CentOS上Eucalyptus源代码安装-安装Euca2ools www.linuxidc/Linux/2011-07/38526.htm
四、安装工具包(yum)
Java代码
1.yum -y  install dnsmasq  vblade kpartx gawk iptables ebtables  bzr screen curl rabbitmq-server gcc gcc-c++ autoconf automake swig  openldap openldap-servers git openssl-devel  qemu libxml2 libxslt libxslt-devel libvirt 
2.rpm -ivh ftp://ftp.pbone/mirror/ftp.freshrpms/pub/freshrpms/pub/dag/RedHat/el5/en/x86_64/RPMS.dag/swig-1.3.25-1.el5.rf.x86_64.rpm  如果下载不到,可以尝试
Java代码
1.rpm -ivh apt.sw.be/RedHat/el5/en/x86_64/rpmforge/RPMS/swig-1.3.25-1.el5.rf.x86_64.rpm 
Warning解决方法:
遇到 Header V3 DSA signature: NOKEY, key ID 6b8d79e6这里问题的时候就是需要更新key,这里提供几个国外的key文件更新源:
rpm --import dag.wieers/rpm/packages/
rpm --import quattor.web.lal.in2p3.fr/packages/os/sl520-x86_64/base/RPM-GPG-KEYs/RPM-GPG-KEY-CentOS-5
介绍swig:
SWIG是一个软件开发工具,连接用C编写的程序和C++的一个高层次的多种编程语言。SWIG主要是与如Perl,Python和Tcl/Tk的,脚本语言和Ruby共同使用,但所支持的语言列
表中还包括如Java,C#和OCaml的非脚本语言。另外一些解释和编译的计划实现的支持。SWIG是最常见的用于创建高层次的解释或编译的编程环境,用户界面,并以此为测试和原型开发工具C / C + +软件。SWIG还可以导出的XML和Lisp的S -表达式形式的解析树。
五、下载安装最新的aoetools
Java代码
1.wget -c sourceforge/projects/aoetools/files/aoetools/32//download 
2.tar -zxvf   3.cd aoetools-32  4.make 
5.make install 
六、为aoetools添加udev规则
Java代码
1.cat > /etc/udev/rules.d/60-aoe.rules << AOE_RULES_EOF 
2.SUBSYSTEM=="aoe", KERNEL=="discover",    NAME="etherd/%k", GROUP="disk", MODE="0220"  3.SUBSYSTEM=="aoe", KERNEL=="err",    NAME="etherd/%k", GROUP="disk", MODE="0440"  4.SUBSYSTEM=="aoe", KERNEL=="interfaces",    NAME="etherd/%k", GROUP="disk", MODE="0220"  5.SUBSYSTEM=="aoe", KERNEL=="revalidate",    NAME="etherd/%k", GROUP="disk", MODE="0220"  6.# aoe block devices 
7.KERNEL=="etherd*",      NAME="%k", GROUP="disk"  8.AOE_RULES_EOF 
七、加载内核模块
Java代码
1.modprobe aoe 
2.modprobe nbd 
八、修正qemu-img
国外网站源码
openstack使用的是最新版本的qemu-img,有可能使用不同的命令行选项。为了避免这种情况,我们不得不重新编译整个qemu-kvm二进制包,
1.添加如下修改到文件
Java代码
1.mv /usr/bin/qemu-img /usr/bin/qemu-img.bin 
2.cat > /usr/bin/qemu-img <<EOF 
3. 
4.ARGS="\$*"  5. 
6.CHANGED_ARGS=`echo \$* | sed "s/-o cluster_size=2M,backing_file=/-b /g"`  7. 
8./usr/bin/qemu-img.bin  \$CHANGED_ARGS 
9.EOF 
现在,使用 easy_install-2.6安装python模块,
Java代码
1.easy_install-2.6 twisted sqlalchemy mox greenlet carrot python-daemon eventlet tornado \ 
2.  IPy routes lxml MySQL-python sphinx webob netaddr paste pastedeploy sqlalchemy-migrate \ 
3.  glance Cheetah python-novaclient 
4.easy_install-2.6 python-daemon==1.5.5  5.easy_install-2.6 lockfile==0.8  6.easy_install-2.6 boto==1.9b  7.easy_install-2.6 python-gflags==1.4  确认所有的包都正确安装,有可能由于某些原因一些包并没有安装成功。如同 python2.6-libxml2模块,注意--with-python 和 --prefix flags
--with-python明确我们再次编译,使用python2.6
Java代码
1.wget -c "ftp:///libxml2/libxml2-2.7." 
2.tar -zxvf libxml2-2.7.  3.cd libxml2-2.7.3  4../configure --with-python=/usr/bin/python26 --prefix=/usr 
5.make all 
6.make install 
7.cd python 
8.python2.6 setup.py install  9.cd .. 
我们将要使用M2Crypto,但是首先需要修改 opensslconf.h
Java代码
1.sed -i  's_opensslconf-\(.*\)_/usr/include/openssl/opensslconf-\1_'  /usr/include/openssl/op
ensslconf.h 
2.easy_install-2.6 M2Crypto==0.20.2  按照下面安装
Java代码
1.wget /gnu/coreutils/coreutils-8. 
2.tar -zxvf coreutils-8.  3.cd coreutils-8.9  4../configure 
5.make 
6.sudo cp src/truncate /usr/bin/ 
九.安装nova(openstack)
下载nova-2011.
/projects/compute/latest-release/ 
Java代码
1.tar -zxvf nova-2011.