一、项目(OneStack)地址:不希望同行们把过多精力花在OpenStack的安装部署上(以后应该会改进),而是对其机制原理、工程实践、性能调优、应用服务等深入研究探讨。所以提供这个一键部署的工具,帮助大家快速建立环境实验生产实践。项目结构如下:oneStack.sh(一键部署all-in-one的OneStack,简单安装的主要文件);setup_base.sh(安装基本系统);setup_test.sh(添加镜像和实例);addComputeNode.sh(增加计算节点);delStack.sh(只卸载nova、glance、keystone等);delAll.sh(卸载所有安装的组件和工具);resetStack.sh(清空数据库,镜像、网络和实例等,重新上传镜像、创建实例);addClient.sh(添加客户端,nova管理等);HAStack目录(OneStack的高可用性,希望更多人可以提出自己的解决方案)。二、部署(OneStack)步骤简单部署OneStack:wget完整部署OneStack:Justcheckoutandrunit!1.SetupafreshUbuntuPrecise(12.04)SeverOS.2.checkoutsvncheckout!cdonestack-read-only/&&./oneStack.sh(如何简单配置参数见留言说明,或者见,或者见脚本注释)(多节点的部署类似,只需要在计算节点设置并执行addComputeNode.sh)三、项目(OneStack)说明:在Ubuntu12.04(precise)上安装部署OpentackEssex只需要一个文件即可完成全部功能组件的部署:里面含有详细的注释说明,看完整个脚本相当于看完了安装文档;svn整个项目只是多一些辅助工具,包括重置、重新安装、卸载等;也欢迎同道人补充和完善更多的功能,适用于更多的操作系统和应用场景。四、项目(OneStack)来源:类似项目有DevStack,但是DevStack是使用screen安装OpenStack,重启服务器会出现一些问题,没有提供重启、重置等有用功能;由于组件独立分散,安装过程过于繁琐,可以抽象成通用的项目供大家方便使用;官方提供了一个比较完善的入门文档,但是,这一步一步下来得做很多无用功,容易漏错而引起很多莫名和头疼的问题;本项目不像devstack只是提供实验环境,而是可以实际部署使用,可以自己修改配置,按需增加组件和功能,实现一键部署,可扩展使用。五、项目(OneStack)描述:一键完整部署OpenStack,可以自定义配置、方便地扩展功能组件,无交互地自动部署;安装过程不需要等待配置:功能齐全,附带了卸载、重置、添加计算节点等工具可以卸载主要的opentack组件,包括nova、glance、keystone等;可以重置数据库和配置,重新安装openstack组件;可以根据需要自行更改脚本,方便部署自己的云计算平台。经过多次测试,完整在VMware虚拟机上部署OpenStack测试环境:VMwareESXi5.0虚拟DellR210服务器,其中一个虚拟机上部署Opentack,启动多个实例,正常运行;远程访问和web管理正常;重启、重置、重新安装都正常。系统要求:双网卡,64位机器,支持VT技术脚本运行过程会做如下工作:配置网络相关;安装和配置数据库;安装和部署身份管理组件keystone;安装和部署镜像管理组件glance;安装和部署控制与计算组件nova;安装和部署web管理组件dashboard;上传和添加ubuntu12.04镜像;设置项目安全规则和密钥;启动实例,并正常运行。附录1:为了方便大家查阅、讨论、交流、review和完善,在此贴出主要代码。#!/usr/bin/envbash#**oneStack.sh**isatooltodeploycompleteandrealOpenStackcloudcomputingservice.#Thisscriptinstallsandconfiguresvariouscombinationsof*Glance*,#*Horizon*,*Keystone*,*Nova*,*Mysql*andothers.#Hily.Hoo@gmail.com(Kayven)#Learnmoreandgetthemostrecentversionat请使用root执行本脚本!##Ubuntu12.04(Precise)部署OpenStackEssex(或者ubuntu11.10版本)##一:准备系统##1:下载ubuntu12.04.服务器版本##:安装OS##最小化安装,只需要安装sshserver就可以。##装完系统后更新源里的包,更新系统。确保你装的是最新版本的包。##3:设置root权限##为了简单,全部都是用root来运行。if[`whoami`!=root];thensudopasswdexecsu-c'sh./oneStack.sh'fi##4:设置参数和环境配置,直到两行#号结束##这个配置以后就不需要更改了,比如看到192.168.139.50等ip,不用更改,脚本会自动替换这些初始值。##可以变动的是,第500行的image的下载;或者去掉第七步开始的部分(上传镜像,创建实例)######################################################################################################################################################如果原来安装过OpenStack,请先执行./delStack.sh##1)配置参数##数据库相关MYSQL_PASSWD=${MYSQL_PASSWD:-cloud1234}NOVA_DB_USERNAME=${NOVA_DB_USERNAME:-novadbadmin}NOVA_DB_PASSWD=${NOVA_DB_PASSWD:-cloud1234}GLANCE_DB_USERNAME=${GLANCE_DB_USERNAME:-glancedbadmin}GLANCE_DB_PASSWD=${GLANCE_DB_PASSWD:-cloud1234}##注意:单网卡的去掉interfaces的eth1,并把nova.conf里面eth1改完eth0即可!##自行检查下面network/interfaces的两个网卡设置##本机器外网ip(包括局域网的内网ip,相对于OpenStack内网而言的)OUT_IP=192.168.139.50OUT_IP_PRE=192.168.139##nova-network内网ipIN_IP=10.0.0.1IN_IP_PRE=10.0.0##flat的起始ipFLAT_IP=10.0.0.40##浮动ip的起始值FLOAT_IP=192.168.139.225##选择虚拟技术,裸机使用kvm,虚拟机里面使用qemuVIRT_TYPE=qemu##token,登录dashboard密码(用户名admin)ADMIN_TOKEN=admin############################################################################2)检查系统是否ubuntu12.04,据反映11.10也可以正常安装,可以去掉这一段检查#Determinewhatsystemwearerunningon.Thisprovides``os_VENDOR``...#DetermineOSVendor,ReleaseandUpdate#if[[-x`whichlsb_release2/dev/null`]];thenos_VENDOR=$(lsb_release-i-s)os_RELEASE=$(lsb_release-r-s)os_UPDATE=os_CODENAME=$(lsb_release-c-s)#fiif[Ubuntu=$os_VENDOR];thenDISTRO=$os_CODENAMEelseechoTheosdidn'tseemstobeUbuntu.exit1fiecho$DISTROif[precise!=${DISTRO}-aoneiric!=${DISTRO}];thenechoWARNING:thisscripthasbeentestedononeiricorpreciseexit1fi##############################################################################3)以下系统配置,语言中文支持、国内APT源、网络设置(两个网卡),可以自行配置,注释掉这些步骤。##locale##############################################################################4:设置网络SOURCE_FILE=${SOURCE_FILE:-/etc/apt/sources.list}cp$SOURCE_FILE$SOURCE_FILE.bakcatAPT$SOURCE_FILEdeb://debian.ustc.edu.cn/ubuntu/precise-backportsrestricteduniversemultiversedeb://debian.ustc.edu.cn/ubuntu/precise-securitymainrestricteduniversemultiversedeb://debian.ustc.edu.cn/ubuntu/precisemainrestricteduniversemultiversedeb-src://debian.ustc.edu.cn/ubuntu/precise-proposedmainrestrictedun