Jul 202012
 

多节点的安装,其实也就是增加一个计算节点。

控制节点+计算节点的安装

为了实现网络的高可用,每个计算节点,都会安装nova-network。并且每个计算节点都需要安装nova-api。

参考资料

一:准备

1:设置网络 /etc/network/interface

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.1.199.18
hwaddress ether 00:25:90:67:ce:0c
netmask 255.255.255.0
network 10.1.199.0
gateway 10.1.199.1
dns-search chenshake.com
dns-nameservers 8.8.8.8

auto eth1
iface eth1 inet manual
up ifconfig eth1 up

安装bridge和iscsi相关,虚拟机使用nova-volume服务

apt-get -y install open-iscsi open-iscsi-utils bridge-utils

重启网络服务

/etc/init.d/networking restart

2:设置环境变量

cat >/root/novarc <<EOF
export CONTROLLER_IP=10.1.199.17
export MASTER="$(/sbin/ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -f2 -d ":")"
EOF

你需要根据你的情况,调整控制节点的IP。调整完后,运行下面命令,设置自己的变量

source novarc
echo "source novarc">>.bashrc

2:设置NTP

apt-get -y install ntp

编辑 /etc/ntp.conf, 指向控制节点的ntp服务器

# Use Ubuntu's ntp server as a fallback.
#server ntp.ubuntu.com
server 10.1.199.17

或者运行下面命令

sed -i -e " s/server ntp.ubuntu.com/server $CONTROLLER_IP/g" /etc/ntp.conf

二:安装Openstack

1:安装软件

计算节点,至少是需要安装nova-api,nova-network,nova-compute,还需要安装keystone client,

apt-get install -y nova-api  nova-common nova-compute \
nova-compute-kvm  nova-network  \
python-nova python-novaclient \
python-keystone python-keystoneclient 

 

2: 编辑 /etc/nova/api-paste.ini , 修改末尾3行

#admin_tenant_name = %SERVICE_TENANT_NAME%
#admin_user = %SERVICE_USER%
#admin_password = %SERVICE_PASSWORD%
admin_tenant_name = service
admin_user = nova
admin_password = password

或者运行下面命令,直接复制控制节点的文件过来就可以。

scp root@$CONTROLLER_IP:/etc/nova/api-paste.ini /etc/nova/

3:编辑/etc/nova/nova.conf 文件,

这个文件和控制节点区别不大,就是vnc的地方,需要调整一下。

scp root@$CONTROLLER_IP:/etc/nova/nova.conf /etc/nova/nova.conf

修改vnc设置

###### NOVNC CONSOLE
novnc_enabled=true
novncproxy_base_url= http://10.1.199.17:6080/vnc_auto.html
vncserver_proxyclient_address=10.1.199.18
vncserver_listen=10.1.199.18

或者直接使用下面命令实现修改,其实就是用eth0的IP替换。

sed -i 's/^vncserver_proxyclient_address.*$/vncserver_proxyclient_address='"$(/sbin/ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -f2 -d ":")"'/g' /etc/nova/nova.conf
sed -i 's/^vncserver_listen.*$/vncserver_listen='"$(/sbin/ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -f2 -d ":")"'/g' /etc/nova/nova.conf

4:设置目录权限

chown -R nova:nova /etc/nova

5:重启服务

service libvirt-bin restart
service nova-network restart
service nova-compute restart
service nova-api restart

创建一个脚本,这样比较方便。restart.sh

#!/bin/bash
for a in libvirt-bin nova-network  nova-compute \
nova-api ; do service "$a" stop; done
for a in libvirt-bin nova-network  nova-compute \
nova-api ; do service "$a" start; done
root@node18:~# chmod +x restart.sh 

root@node18:~# ./restart.sh 
libvirt-bin stop/waiting
nova-network stop/waiting
nova-compute stop/waiting
nova-api stop/waiting
libvirt-bin start/running, process 4642
nova-network start/running, process 4662
nova-compute start/running, process 4673
nova-api start/running, process 4688

这时候大功告成。

可以运行 nova-manage service list 查看结果

service list

  69 Responses to “Ubuntu 12.04 Openstack Essex 安装(多节点)”

  1. 问一个简单的问题,我安装成功后,如何测试我安装成功,或者说在Dashboard如何使用和查看我安装的计算节点。

    • 看来要加上这个:
      nova-manage service list
      可以看到新增加的计算节点。

      • 查看了一下 确实多了一个nova-compute ,我们添加了计算节点,然后在创建虚拟机,如何设置在新的nova-comput下创建,是手动的还是nova内部分配的?,或者说新的计算节点是如何为我们服务的?刚研究openstack 确实是问题比较多。。

        • 还有 我只显示了,nova-computer 没有显示nova-network,我的计算节点是在另一天电脑里的虚拟机里创建的,并且也采用了但网卡设置的,是否与这样的设置有关系?

          • 我已经解决 nova-network不显示的问题,在于虚拟机中flat_network_bridge应该设置为virbr0根据实际的虚拟机i设置。还是想问如何体现新加的计算节点提供的能力,不论是在Dashboard还是用命令

          • 您好,我的也是只显示了nova-compute,没有显示nova-network,想知道您是怎么解决的?

          • nova-network 需要安装。

          • 我是在物理机上安装的openstack。另外因为CPU不支持,我使用的是qemu,不是kvm。

          • 我为什么nova-compute没有显示???我用的是xen,在xen的PVdomU里安装的计算节点。你有没有办法解决

        • 修改controller上的nova.conf文件,修改这两行:
          vncserver_proxyclient_address=X.X.X.X
          vncserver_listen=X.X.X.X
          其中X.X.X.X为想要建立虚拟机的ip地址,然后重启nova的各项服务。再建立虚拟机时虎仔Dashboard界面上看到新建立的虚拟机位于compute节点上。

      • 你说用nova-manage service list查看,是指在controller节点吗。我安装完controller也试过这个命令,可以看到nova-compute,安装完计算节点再运行这个命令,并没有什么变化啊

        • 我印象中,应该都是可以看到的。

          • 多谢,是我自己的问题,现在可以看到了。另外想问下关于网络的问题,我在公司局域网安装了一台controller,一台compute,eth0是192.168.19.*,这个fixed_range我设为192.168.22.*。但我除了能从controller 用ssh访问instance,其它都不行。网络设置真不是太清楚。请指教

  2. root@openstack:~# nova-manage service list
    2012-07-24 11:39:17 DEBUG nova.utils [req-b95022e3-0d6a-44ae-99a8-e610b9f674d4 None None] backend from (pid=17336) __get_backend /usr/lib/python2.7/dist-packages/nova/utils.py:658
    Binary Host Zone Status State Updated_At
    nova-consoleauth openstack nova enabled 🙂 2012-07-24 03:39:07
    nova-cert openstack nova enabled 🙂 2012-07-24 03:39:12
    nova-scheduler openstack nova enabled 🙂 2012-07-24 03:39:14
    nova-volume openstack nova enabled 🙂 2012-07-24 03:39:11
    nova-compute openstack nova enabled 🙂 2012-07-24 03:39:14
    nova-network openstack nova enabled 🙂 2012-07-24 03:39:14
    nova-compute openstack2 nova enabled 🙂 2012-07-24 03:39:11
    nova-network openstack2 nova enabled 🙂 2012-07-24 03:39:08
    nova-network openstack3 nova enabled 🙂 2012-07-24 03:39:15
    nova-compute openstack3 nova enabled 🙂 2012-07-24 03:39:08

  3. 我的镜像直接以file的形式存放的,没有用swift放,那请问glance上传镜像的单个镜像大小在哪里配置?在/etc/glance/glance-api.conf里面的swift_store_large_object_size=20480没有作用啊

    • 我也没用swift,上传image,我没试过太大的。改天测试一下。现在真不知道哪里修改。

      • 好的,谢谢,默认大小才5G,我一个server2008超了。还有上传的Windows镜像无法访问,而ubnutu的都可以访问

  4. root@node18:~# nova-manage service list
    Binary Host Zone Status State Updated_At
    nova-consoleauth node17 nova enabled 🙂 2012-08-28 03:24:43
    nova-cert node17 nova enabled 🙂 2012-08-28 03:24:43
    nova-scheduler node17 nova enabled 🙂 2012-08-28 03:24:43
    nova-compute node17 nova enabled XXX 2012-08-28 03:13:45
    nova-volume node17 nova enabled 🙂 2012-08-28 03:24:43
    nova-network node17 nova enabled 🙂 2012-08-28 03:24:45
    nova-compute node18 nova enabled 🙂 2012-08-28 03:24:43
    nova-network node18 nova enabled 🙂 2012-08-28 03:24:35

    请问陈老师,我装完双机后,我在node17和node18上查看状态,node17的nova-compute 的状态变成三个XXX了,不知道怎么回事?

    • 说明计算服务没有启动。你重启机器,看看能不能解决这个问题。

      • 重启机器后还是同样的问题,我查看nova-compute.log日志,显示以下两行内容
        2012-08-28 14:11:17 INFO nova.virt.libvirt.connection [req-9588a019-85ac-4463-ba97-60955ca1183b None None] [instance: 5a241cef-2703-41f1-bc7a-716f8ecb5239] Instance shutdown successfully.
        2012-08-28 14:11:19 CRITICAL nova [-] Unable to allow access for disk path /dev/disk/by-path/ip-192.168.52.110:3260-iscsi-iqn.2010-10.org.openstack:volume-00000001-lun-1: No such file or directory
        我想是不是由于我创建的一个50G的volumes有关呢?我在做测试的时候,创建了一个50G的volume,同时将这个volume连接到ID号为5a241cef-2703-41f1-bc7a-716f8ecb5239的实例上。
        现在我在dashboard页面上,无法删除这个volume和与之相连的实例,不知怎么回事?实例一直处理deleting状态。

  5. 你好,请问您有基于xen的openstack的使用经验吗?

  6. 你好,我一开始是基于kvm搭建openstack的,起的虚拟机都可以获得fixed ip,后来我把虚拟软件换成了xen,起的虚拟机获得不了fixed ip,但是可以显示的看到虚拟机被分配了ip,只是系统里没有,也ping不通,您知道为什么吗?

  7. 陈老师你好,按照您的步骤我已经成功添加了计算节点,但是出现了一个状况,就是再建立cirros虚拟机的时候总是失败,而去掉这个计算节点时,就可以成功创建???

    • 你在dashboard里,看看创建虚拟机为啥失败,你的计算节点,是物理服务器吗?看看是否支持VT。

      • 陈老师,又来麻烦您了, 经过您的指点,已经可以添加计算节点了,但是上传镜像创建实例后就成僵尸了,DashBoard里Status栏一直是Build,Task栏一直是Spawning,求指点

        • 如果你是在虚拟机里测试,出现这种问题就很正常。解决的办法,你可以看上面的评论。我没在虚拟机里测试过。

          • 不是在虚拟机了,是在物理机里,不知道您遇到过这样的情况没

          • 我查了日志,有这样一句话:“Instance found in database but not known by hypervisor. Setting power state to NOSTATE”,不知道该如何解决。

  8. 陈老师,openstack安装的现在,控制节点的nova-compute是XXX号,计算节点的是笑脸。这可能是什么问题导致的。前提是:nova-compute已经安装了,并且服务处于启动状态。
    root@openstackM1:/etc/nova# nova-manage service list
    Binary Host Zone Status State Updated_At
    nova-consoleauth openstackM1 nova enabled 2012-10-08 08:42:09
    nova-cert openstackM1 nova enabled 2012-10-08 08:42:07
    nova-compute openstackM1 nova enabled XXX None
    nova-scheduler openstackM1 nova enabled 2012-10-08 08:42:09
    nova-volume openstackM1 nova enabled 2012-10-08 08:42:07
    nova-network openstackM1 nova enabled 2012-10-08 08:42:07
    nova-compute ubuntulocalhost nova enabled 2012-10-08 08:42:06
    nova-network ubuntulocalhost nova enabled 2012-10-08 08:42:07

  9. 陈老师,openstack安装的现在,控制节点的nova-compute是XXX号,计算节点的是笑脸。这可能是什么问题导致的。前提是:nova-compute已经安装了,并且服务处于启动状态。
    root@openstackM1:/etc/nova# nova-manage service list
    Binary Host Zone Status State Updated_At
    nova-consoleauth openstackM1 nova enabled 2012-10-08 08:42:09
    nova-cert openstackM1 nova enabled 2012-10-08 08:42:07
    nova-compute openstackM1 nova enabled XXX None
    nova-scheduler openstackM1 nova enabled 2012-10-08 08:42:09
    nova-volume openstackM1 nova enabled 2012-10-08 08:42:07
    nova-network openstackM1 nova enabled 2012-10-08 08:42:07
    nova-compute ubuntulocalhost nova enabled 2012-10-08 08:42:06
    nova-network ubuntulocalhost nova enabled 2012-10-08 08:42:07

    我想请教一下,怎么排查nova服务启动失败的原因?每次重启服务,都会产生大量日志,而且日志内容相当多,不知道哪些是有用信息。

    • 如果你完全安装文档来做,还是出现这种情况。一般都是因为你的机器不支持VT。

  10. 陈老师你好:
      我现在是计算节点和网络节点单独安装的,控制节点数据库+认证节点+glance+dashboard是安装一块的,swift和proxy-server安装一起的,现在swift起不起来不知道怎么回事,可不可以给定位下问题,
    root@node13:~# swift-init proxy start
    Starting proxy-server…(/etc/swift/proxy-server.conf)
    Traceback (most recent call last):
    File “/usr/bin/swift-proxy-server”, line 22, in
    run_wsgi(conf_file, ‘proxy-server’, default_port=8080, **options)
    File “/usr/lib/python2.7/dist-packages/swift/common/wsgi.py”, line 122, in run_wsgi
    loadapp(‘config:%s’ % conf_file, global_conf={‘log_name’: log_name})
    File “/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py”, line 247, in loadapp
    return loadobj(APP, uri, name=name, **kw)
    File “/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py”, line 271, in loadobj
    global_conf=global_conf)
    File “/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py”, line 296, in loadcontext
    global_conf=global_conf)
    File “/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py”, line 320, in _loadconfig
    return loader.get_context(object_type, name, global_conf)
    File “/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py”, line 450, in get_context
    global_additions=global_additions)
    File “/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py”, line 562, in _pipeline_app_context
    for name in pipeline[:-1]]
    File “/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py”, line 458, in get_context
    section)
    File “/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py”, line 517, in _context_from_explicit
    value = import_string(found_expr)
    File “/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py”, line 22, in import_string
    return pkg_resources.EntryPoint.parse(“x=” + s).load(False)
    File “/usr/lib/python2.7/dist-packages/pkg_resources.py”, line 1989, in load
    entry = __import__(self.module_name, globals(),globals(), [‘__name__’])
    ImportError: No module named keystone.middleware.auth_token

    • 分开安装,你就先需要处理keystone的endpoint。自己看看就明白。keystone保存的endpoint,就是服务的访问地址。

  11. 你好,您这样安装之后,计算节点之间肯定是通过交换机连接吧,您有没有测试过不同计算节点上的虚拟实例之间是否可以ping通?

  12. 陈老师,我有一个网络问题,困扰许久,盼望您解答。我只在控制节点安装了nova-network, 计算节点没有装nova-network。我发现这样只能从控制节点ping通instances,而计算节点不能ping通。但是发现计算节点是有br100 这个网桥的,只是ip地址设置的和eth1一样。请问怎样从计算节点也能ping通instance。(其实我主要是还有一台nginx主机,想这台主机能直接ping通instance)

    • 网络的问题,比较复杂。我建议你还是照着我的文档,做一遍。调试通过,再去慢慢理解Openstack的网络。这个文档已经是饱经考验。

      • 问题已经解决了,可以在想需要连接到instances子网的node或其他机器上手动添加br100网桥,即可解决,放在这里说一下给有相同问题的朋友。

        • 我也在尝试添加计算节点
          如果计算节点不安装nova-network,且只有一个网卡eth0。那么应该建立一个bridge关联eth0,且这个bridge的IP是虚拟网段IP。
          这个理解对么?
          openstack的资料还是太少,官方文档写的也很不清楚。

          • 先说下我的网络设置吧~
            服务器双网卡 eth0 接公司交换机(可连接外网) 网段10.2.116.XXX
            eth1 接系统内部交换机 连通各计算和控制节点 网段192.168.3.XXX
            br100 桥接(eth1) 用于虚拟机的网段 192.168.4.XXX

            br100是有nova-network服务创建的

            我上面所说的方法是如何让计算节点,也就是eth1网段能访问到br100虚拟机网段。

            你所说的添加计算节点不需要再次安装nova-network服务,因为该服务已经在控制节点安装过了一次。但是如果你是单网卡的机器,确实是需要建立网桥的,此节点网桥的配置应该和控制节点相同,用来桥接公司网络和计算节点之间的内部网络,所以网段IP应该是计算节点的IP,就如上面所说的192.168.3.XXX的网络。

          • 我的控制节点和你的类似,双网卡,eth0接入公网,eth1连接各计算节点。
            我看了一些资料,都说控制节点的eth1不需要设IP,nova-network会将其设为虚拟网段的网关(例如192.168.4.1)。这样的话,控制节点eth1的IP就是192.168.4.1,那如何能配置计算和控制节点网段192.168.3.XXX呢?这个地方我还是没搞明白。
            谢谢

    • 网络配置确实挺复杂的,看来为了定制所需的openstack网络,我有必要恶补一下网络知识

  13. 陈老师您好,我将一台机器部署为控制节点,安装了所有nova的服务,在另一台机器上安装了计算节点,整个流程基本上是按照您的文档做的。现在在两台机器上用nova-manage list,可以看到两个compute服务都是正常的,但是在创建实例的时候,如果实例被分配到控制节点上,就可以正常创建并ssh上,如果被分配到计算节点上,就会出现错误。查看nova-compute的log,错误是Timed out waiting for RPC response: timed out,查阅了很多资料都没有解决。请问您遇到过这样的问题吗,麻烦您帮忙分析一下。

    • 这个问题很常见。你可以看看创建在计算节点的虚拟机的log,在dashboard里可以看到,vnc旁边。不能登录是因为密钥没有注入到虚拟机。计算节点,不只是需要安装nova network,nova compute,还需要nova api。网络采用mutil host。你确认完全按照我的文档来做,应该就不会有这个问题。

      • 不是不能登录,是在networking那里就卡住了,连FIX_IP都取不到。
        api‘network都安装了,不过没有启用mutil-host,是这个的问题吗?我重新配置一下,谢谢。

  14. 您好,
    多节点情况下,控制节点在ubuntu安装,计算节点添加正常
    Binary Host Zone Status State Updated_At
    nova-scheduler nova-controller nova enabled 🙂 2012-11-16 06:17:20
    nova-consoleauth nova-controller nova enabled 🙂 2012-11-16 06:17:20
    nova-network nova-controller nova enabled 🙂 2012-11-16 06:17:17
    nova-compute openstack-compute.ubisoft.org nova enabled 🙂 2012-11-16 06:17:22
    nova-network openstack-compute.ubisoft.org nova enabled 🙂 2012-11-16 06:17:17
    但是创建实例的时候,报错 直接error;查看计算节点compute.log:显示下面信息:
    2012-11-16 13:45:36 TRACE nova.rpc.amqp RemoteError: Remote error: ProcessExecutionError Unexpected error while running command.
    2012-11-16 13:45:36 TRACE nova.rpc.amqp Command: sudo nova-rootwrap ip addr show dev em1 scope global
    2012-11-16 13:45:36 TRACE nova.rpc.amqp Exit code: 255
    2012-11-16 13:45:36 TRACE nova.rpc.amqp Stdout: ”
    2012-11-16 13:45:36 TRACE nova.rpc.amqp Stderr: ‘Device “em1” does not exist.\n’

  15. 老师,您好!我也是按照上面的单独安装了一个计算节点,最后执行nova-manage service list ,没有看到我自己的nova-compute。请问这是什么原因呢?

  16. 陈老师,我在计算节点上执行 nova-manage service list时,显示
    Command failed, please check log for more info
    2012-11-29 22:17:13 CRITICAL nova [req-6abbe784-6bee-47cb-9356-e082e25b4b0f None None] (OperationalError) (1045, “Access denied for user ‘nova’@’compute.local’ (using password: NO)”) None None
    环境变量之类的都设置了,也都是按您的方法配置的,只不过我用的是xen,但nova.conf相关的东西已经改了。计算节点和控制节点之间能ping通。
    这是怎么回事

    • 我也有类似的问题
      root@ubuntu1:/home# nova-manage service list
      Command failed, please check log for more info
      2012-12-06 15:39:59 CRITICAL nova [req-5b780706-19da-4a55-a3b1-680641d9aac5 NoneYES)”) None None
      不过我是在更改控制节点ip后出现的,尽管nova.conf里面相应的ip也改过来了,还是会报这个错误,mysql单独给新的ip授权也没用,密码也没改过,不知为何

  17. 陈老师,
    我有个多节点安装问题请教您。
    我在安装Essex 版openstack 多节点时遇到不同计算节点的VM之间网络不通问题!
    具体情况是这样的,之前我是把所有的组件都安装在一台机器上的后来不够用了我想扩展一台,可是按官方文档(os-compute-starterguide-trunk.pdf)多节点安装手册安装后,确实也能分配到另外的节点上创建虚拟机,就是不同的计算节点上的虚拟机之网络怎么都不通,不过同一台计算节点上的虚拟机是通的。比如:
    在 host1 (150.236.48.135 控制节点) 上有 192.168.4.45,192.168.4.36 在 host2 (150.236.48.205)上有192.168.4.65,192.168.4.66.
    192.168.4.45 ping 192.168.4.36 通;
    192.168.4.45 ping 192.168.4.65 不通。

    不过子要都附上public ip 就通了,比如 192.168.4.45 (150.236.48.56) ping 192.168.4.6 (15.236.48.97) 通,不过我的public ip个数实在有限,只能用private ip才够用啊!

    这里是我的配置:

    OS:ubuntu 12.04

    openstack 版本: Essex

    host1 :

    网络情况
    vi /etc/network/interfaces

    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet manual
    up ifconfig eth0 up

    auto eth1
    iface eth1 inet static
    address 150.236.48.135
    netmask 255.255.255.0
    network 150.236.48.0
    broadcast 150.236.48.255
    gateway 150.236.48.1
    dns-nameservers 150.236.48.1

    nova 配置
    vi /etc/nova/nova.conf

    –dhcpbridge_flagfile=/etc/nova/nova.conf
    –dhcpbridge=/usr/bin/nova-dhcpbridge
    –logdir=/var/log/nova
    –state_path=/var/lib/nova
    –lock_path=/run/lock/nova
    –allow_admin_api=true
    –use_deprecated_auth=false
    –auth_strategy=keystone
    –scheduler_driver=nova.scheduler.simple.SimpleScheduler
    –s3_host=150.236.48.135
    –ec2_host=150.236.48.135
    –rabbit_host=150.236.48.135
    –cc_host=150.236.48.135
    –nova_url=http://150.236.48.135:8774/v1.1/
    –routing_source_ip=150.236.48.135
    –glance_api_servers=150.236.48.135:9292
    –image_service=nova.image.glance.GlanceImageService
    –iscsi_ip_prefix=192.168.4
    –sql_connection=mysql://novadbadmin:novasecret@150.236.48.135/nova
    –ec2_url=http://150.236.48.135:8773/services/Cloud
    –keystone_ec2_url=http://150.236.48.135:5000/v2.0/ec2tokens
    –api_paste_config=/etc/nova/api-paste.ini
    –libvirt_type=kvm
    –libvirt_use_virtio_for_bridges=true
    –start_guests_on_host_boot=true
    –resume_guests_state_on_host_boot=true

    # vnc specific configuration
    –novnc_enabled=true
    –novncproxy_base_url=http://150.236.48.135:6080/vnc_auto.html
    –vncserver_proxyclient_address=150.236.48.135
    –vncserver_listen=150.236.48.135

    # network specific settings
    –network_manager=nova.network.manager.FlatDHCPManager
    –public_interface=eth1
    –flat_interface=eth0
    –flat_network_bridge=br100
    –fixed_range=192.168.4.1/27
    –floating_range=150.236.48.135/27
    –network_size=32
    –flat_network_dhcp_start=192.168.4.33
    –flat_injected=False
    –force_dhcp_release
    –iscsi_helper=tgtadm
    –connection_type=libvirt
    –root_helper=sudo nova-rootwrap
    –verbose

    host2 ()
    网络配置
    vi /etc/network/interfaces
    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet static
    address 150.236.48.205
    netmask 255.255.255.0
    network 150.236.48.0
    broadcast 150.236.48.255
    gateway 150.236.48.1
    dns-nameservers 150.236.48.1
    auto eth1
    iface eth1 inet manual
    up ifconfig eth1 up

    nova 配置
    vi /etc/nova/nova.conf

    –dhcpbridge_flagfile=/etc/nova/nova.conf
    –dhcpbridge=/usr/bin/nova-dhcpbridge
    –logdir=/var/log/nova
    –state_path=/var/lib/nova
    –lock_path=/run/lock/nova
    –allow_admin_api=true
    –use_deprecated_auth=false
    –auth_strategy=keystone
    –scheduler_driver=nova.scheduler.simple.SimpleScheduler
    –s3_host=150.236.48.135
    –ec2_host=150.236.48.135
    –rabbit_host=150.236.48.135
    –cc_host=150.236.48.135
    –nova_url=http://150.236.48.135:8774/v1.1/
    –routing_source_ip=150.236.48.135
    –glance_api_servers=150.236.48.135:9292
    –image_service=nova.image.glance.GlanceImageService
    –iscsi_ip_prefix=192.168.4
    –sql_connection=mysql://novadbadmin:novasecret@150.236.48.135/nova
    –ec2_url=http://150.236.48.135:8773/services/Cloud
    –keystone_ec2_url=http://150.236.48.135:5000/v2.0/ec2tokens
    –api_paste_config=/etc/nova/api-paste.ini
    –libvirt_type=kvm
    –libvirt_use_virtio_for_bridges=true
    –start_guests_on_host_boot=true
    –resume_guests_state_on_host_boot=true

    # vnc specific configuration
    –novnc_enabled=true
    –novncproxy_base_url=http://150.236.48.135:6080/vnc_auto.html
    –vncserver_proxyclient_address=150.236.48.205
    –vncserver_listen=150.236.48.205

    # network specific settings
    –network_manager=nova.network.manager.FlatDHCPManager
    –public_interface=eth0
    –flat_interface=eth1
    –flat_network_bridge=br100
    –fixed_range=192.168.4.1/27
    –floating_range=150.236.48.135/27
    –network_size=32
    –flat_network_dhcp_start=192.168.4.33
    –flat_injected=False
    –force_dhcp_release
    –iscsi_helper=tgtadm
    –connection_type=libvirt
    –root_helper=sudo nova-rootwrap
    –verbose

    另外两个host 的bridgn 都是自动创建的。

    折腾了很久还是没有解决?不晓得是什么原因,不过一直没有搞懂openstack多节点的网络是什么个原理,小弟水平实在有限望指教!谢谢!

    • 这个是经常遇到的问题。你需要确保你nova.conf 使用了mutilhost参数,另外创建网络的时候也是需要加入mutilhost参数。每个计算节点,还必须按照nova api。我的文档里全部都有,你好好看看。

      • 是两个节点上都要设置mutilhost参数吗?需要重启所有服务还是nova-network?我上面运行有live系统.动作有点大哦:)
        另外,我还想请教一下,那另外一个网卡之间(做bridge的)是不是不需要相互连通也能实现私有网络互通?

  18. 陈老师您好,我想请教您一个问题。为什么openstack需要保持各组件时间同步,或者说为什么要安装ntp?昨天在某家公司面试第一问就是这个….到现在也没想出来。

  19. 陈专家,你好。
    控制节点和计算节点都正常了
    但是新建的两个测试实例都是在控制节点上
    想请教的是怎么在计算节点新建实例
    在新建实例的时候我们有选择权占用哪个节点的资源吗

    • 这个是需要修改调度,默认调度是先用完一个节点的资源,再用第二个,这是从运营角度出发考虑的调度。如果你希望指定创建,就需要修改代码。这其实是观念需要改变。如果你10个节点,你会关心vm在那台机器上,如果你1k节点,你就不会关注这个。

      • 在网上没查到相关的信息,老师可以告诉我具体在哪里可以修改调度吗,或者发一些有参考性的url给我,麻烦了,谢谢

  20. 陈老师,openstack仪表盘里面的vcpu和物理机的cpu有什么区别 他们之间怎么换算的 谢谢

    • 你验证一下,默认是1:16.假设物理是2个cpu,6个core,因为超线程,就相当于24个cpu,1:16,就相当于 24*16 个vcpu。这是一个默认设置,你可以修改。

      • 分别在控制节点和计算节点验证了 vcpu的个数为:

        控制节点
        [root@controller ~]# cat /proc/cpuinfo |grep “processor”|wc -l
        16
        2013-05-30 10:38:51 30945 AUDIT nova.compute.resource_tracker [-] Free ram (MB): 31580
        2013-05-30 10:38:51 30945 AUDIT nova.compute.resource_tracker [-] Free disk (GB): 216
        2013-05-30 10:38:51 30945 AUDIT nova.compute.resource_tracker [-] Free VCPUS: 16

        计算节点
        [root@computer1 ~]# cat /proc/cpuinfo |grep “processor”|wc -l
        4
        2013-05-30 10:35:24 21234 AUDIT nova.compute.resource_tracker [-] Free ram (MB): 3381
        2013-05-30 10:35:24 21234 AUDIT nova.compute.resource_tracker [-] Free disk (GB): 96
        2013-05-30 10:35:24 21234 AUDIT nova.compute.resource_tracker [-] Free VCPUS: 4

        结论为:vcpu个数为逻辑cpu的个数 这些都是推测 想听听陈老师怎么看待 期待陈老师的解答 谢谢

        • 你去dashboard里创建虚拟机来测试。看看你能创建多少个虚拟机,提示cpu不足。

  21. 陈老师,你好,我在安装多节点模式时出现了问题。一个控制节点,一个计算节点。计算节点是支持VT的,安装完成后,用nova-manage service list可以看到控制节点和计算节点的服务都启起来了,但是在用Dashboard创建虚拟机的时候,状态总是停留在Spawning中,一直处于build中,这到底是哪里出现问题了,请陈老师指点下!

  22. 陈老师:
    您好!
    我已经安装您的文档将openstack在两台服务器中安装完成了,一台是controller+compute,另一台只有compute,现在我想知道如何在指定的HOST上建立 虚拟机,比如我想在只有compute的那台服务器上建立虚拟机,盖如何操作?
    另外,openstack这一平台搭建好以后,有什么可用的现成的测试用例吗?网上搜了一下,也没有搜到。或者是有没有和openstack结合使用的开发模式吗?就像Hadoop和MapReduce一样,有固定的测试集可供参考,那openstack有没有这样的测试集可以用呢?我主要是想知道建立了那么多虚拟机改如何使用?麻烦陈老师了,谢谢!

 Leave a Reply

(required)

(required)