在VirtualBox的虚拟机里面按照这个文档把openstack装了一把。
准备工作:
- 创建虚拟机server1和server2,Ubuntu 64位
- 两块网卡,eth0 NAT,eth1 Internal Network
- server1分配两块硬盘,第二块专作nova的volume(需要特别指出,openstack的文档对这里没作任何说明,我是做到那步的时候才发现,sda6是神马东西!当然也可以单独分个区,我是没办法了才挂上一块新的硬盘,得亏是虚拟机)
- 安装OS,没有特别的
然后就是安装文档一步步下去。大部分地方都完全没有问题,有几点需要说一下。
- 网络配置
- VirtualBox虚拟出来的网关是10.0.2.2,不是10.0.2.1。
- VirutalBox NAT模式下,两个虚拟机之间实际上是不通的,所以在server2上配置ntp以及nova的时候一定要使用192.168.3.1来连接server1。这一点实际上官方文档写得并不好,已经有了内部网络,为什么还要使用外部的呢?无论是从security还是从逻辑上都说不通。
server1:
The loopback network interface
auto lo
iface lo inet loopback
The primary network interface
auto eth0
iface eth0 inet static
address 10.0.2.14
netmask 255.255.255.0
broadcast 10.0.2.255
gateway 10.0.2.2
auto eth1
iface eth1 inet static
address 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
server2
The loopback network interface
auto lo
iface lo inet loopback
The primary network interface
auto eth0
iface eth0 inet static
address 10.0.2.15
netmask 255.255.255.0
broadcast 10.0.2.255
gateway 10.0.2.2
auto eth1
iface eth1 inet static
address 192.168.3.2
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
- 数据库
为了不跟Oracle扯到一起,没有用MySQL,安装文档上的步骤PostgreSQL完全没有问题。
- ntp一定要配置正确,server2需要跟server1同步
ntp我不是很懂,配好之后怎么都不同步,把ntpd停掉之后手工跑了一把ntpdate 192.168.3.1,才搞定。应该是我哪里配置的不对。
- 重启service
诡异得很,sudo restart nova-xxx或者sudo service nova-xxx restart经常不工作,用最土的方法解决:sudo /etc/init.d/nova-xxx restart
- server2上面需要安装PostgreSQL的python module
sudo apt-get install python-psycopg2
否则nova-compute起不来
- 试图安装Horizon,未果
Ubuntu上有openstack-dashboard这个包,装好之后按照这里配置,还是没起来,应该是python的virtual env没有弄,不懂。
反正Horizon还在猛烈开发中,不怎么稳定,功能也有限,暂时不搞了吧。
- 貌似server2根本不是必须的
估计就是为了nova-compute自己的分布,对于管理少量的虚拟机来说,一台机器应该足够了。