Tag Archives: 安装

虽然这个 OpenStack “自动”安装脚本已经写了有一段时间了,但一直也只是躺在 Github 上,没放出来,这几天总结下自己的客座生活,顺便把这个脚本拿出来吧 :-)

先说说这个简陋地轮子的用处:由于经常要测试,不时要往一些新机器装 OpenStack 或者将一些机器重装,我们既不想用 Devstack 装 Git 上的最新版,也不想用 PackStack 安装——感觉不能完全 controll :-)。因为之前跟着官方的文档(真心很长)装,感觉大部分过程都知道,所以就 follow 官方的安装文档写了下面的安装脚本,很简陋,只是用来避免照官方文档手打之苦:-) 。

需要说明的是,这个安装脚本补了一些我们按官方过程走时踩的坑,还做了一些假设,跑脚本前最后先看下,比如我们默认使用 GRE 配置网络,还默认了 mysql 的安装密码,还要求用户配好 hosts。当然可以自己改。

最出坑的地方当然是网络,首先 OpenStack 是可以安装在从只有一个网卡的一台虚拟机上到上千台机器的集群的,脚本默认网络节点有两个网卡,你也可以只用一个,但是 OVS 的网桥可千万不能省:-) 首先,请保证需要开得端口都开着,比如 MySQL 的
3306,HTTP 的80,NTP 的123(如果你像我只前一样在局域网自己搭建 NTP)等等。然后,Neutron 官方文档在 sudo 上有 bug,虽然我提交过了,但是貌似老版的文档并没有更新,就是这句:openstack-config --set /etc/neutron/neutron.conf agent \
root_helper sudo "neutron-rootwrap /etc/neutron/rootwrap.conf"
,一定要加引号,不然 neutron server 启不起来的,还有 neutron 的 sudo 工作也常会出些问题,需要我们干预下,在 sudoer 文件里加一行“neutron ALL=(ALL) NOPASSWD: ALL”,还有默认的“Defaults !visiblepw”也需要改成“Defaults visiblepw”。此外,建立 GRE 通道千万不要在 local ip 上用别名,必须用真实的 ip,不然也不会工作的。再就是 Horizon,为了能用多种域名/IP访问 Horizon,需要设置好 ALLOW-HOSTS,还有为了让 admin 正确登录,需要设置 OPENSTACK_KEYSTONE_DEFAULT_ROLE。最后,SELinux 经常阻止我们正常登录,不想调试像快速解决可以直接关掉它。

还有个深坑啊,就是官方文档居然没有说明我们在用 OVS 改了网后需要设置 network-scripts!怎么设置可以参考我的脚本。然后网络最好开开 namespace,方便些。还有,要用 OVSHybridIptablesFirewallDriver 来实现安全组的话,一定要在 nova 设置写好“libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver”,这点官方文档也没有说!

最后,安装基于 OpenStack Havana (2013.2.2),代码由 Redhat 打包,祝大家安装时能少遇坑,早享受! Read More →