Ubuntu12.04.2 OpenStack Grizzly 安装(Bridge)

来源:互联网 发布:儿童k歌软件 编辑:程序博客网 时间:2024/06/05 16:15

http://www.chenshake.com/ubuntu12-04-2-installed-openstack-grizzly-bridge-mode/


2013年4月4日,已经正式发布了Grizzly版本,目前Ubuntu 12.04的Grizzly的deb包,也基本准备好了,这次Ubuntu的动作真的是很快。以前Folsom版本的时候,由于Quantum的复杂和很多问题,导致网络上有不少问题。Grizzly版本的Quantum,已经做了很大的改进。关于Quantum介绍,可以查看官方wiki

Qauntum 需要通过插件来实现网络管理,有各种的商业插件,目前开源的插件就2个,linux Bridge和Openvswith,这篇文档是针对Bridge,Bridge不支持GRE模式,只支持VLAN和Local两种模式,Local只能用于测试使用。如果是多节点,VLAN模式就需要交换机支持,对端口设置Trunk。

quantum

 

参考英文原文:https://github.com/mseknibilel/OpenStack-Grizzly-Install-Guide

Quantum linux-Bridge 插件介绍:https://wiki.openstack.org/wiki/Quantum-Linux-Bridge-Plugin

我会对原文进行一些调整

  • 我的网络环境eth0连接公网,eth1是内网
  • 组件需要的数据库,我统一创建
  • 通过设置环境变量的办法,使得文章适应不同的场景(例如不同的IP和密码)

文档修改历史

2013年4月10凌晨:Grizzly正式版本的Ubuntu 12.04的包刚刚发布,使用最新的包,已经基本完成安装过程,目前只剩下Dashboard的使用。由于quantum的网络设置比较复杂,需要设置好网络,才能进一步测试。

2013年4月17日:修正了文档几个错误,nova.conf 里quantum的账号设置错误,还有就是quantum没设置 /etc/quantum/dhcp_agent.ini:不过目前还是没法创建虚拟机,非常郁闷。目前看到的情况是:Dashboard里还无法完全管理网络,尤其是bridge模式。

组件和网络拓扑图

grizzly


Contents [hide]

  • 1 准备环境
    • 1.1 操作系统
    • 1.2 源
    • 1.3 Hostname
    • 1.4 网络
    • 1.5 IP转发
    • 1.6 NTP服务
    • 1.7 环境变量
    • 1.8 RabbitMQ和相关软件
  • 2 数据库
  • 3 Keystone
  • 4 Glance
  • 5 Quantum
  • 6 KVM
  • 7 Nova
  • 8 Cinder
  • 9 Horizon

准备环境

操作系统

安装Ubuntu 12.04.2, 最小化安装就可以。目前内核已经升级到3.5,这样应该会减少安装过程的麻烦。

默认Ubuntu 12.04的源是Essex版本,我们需要增加Grizzly的源。不过需要你手工添加。源的官方说明

apt-get updateapt-get install ubuntu-cloud-keyring

添加Grizzly源

cat <<EOF >>/etc/apt/sources.listdeb  http://ubuntu-cloud.archive.canonical.com/ubuntu precise-proposed/grizzly maindeb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/grizzly mainEOF

运行下面命令进行更新

apt-get update && apt-get -y dist-upgrade

 

Hostname

Hostname设置,其实不是必须的,不过养成一个习惯,也方便自己.

root@node08:~# cat /etc/hostnamenode08root@node08:~# cat /etc/hosts127.0.0.1       localhost127.0.1.1       node08.chenshake.com    node08# The following lines are desirable for IPv6 capable hosts::1     ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allroutersroot@node08:~# hostnamenode08root@node08:~# hostname -fnode08.chenshake.com

网络

# cat /etc/network/interfaces # This file describes network interfaces avaiulable on your system# and how to activate them. For more information, see interfaces(5).# Modified by convert_static.sh.auto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress 10.1.199.8hwaddress ether 00:e0:81:d8:42:f6  netmask 255.255.255.0network 10.1.199.0gateway 10.1.199.1dns-search chenshake.comdns-nameservers 10.1.199.5auto eth1iface eth1 inet staticaddress 10.10.10.8netmask 255.255.255.0

重启网络

/etc/init.d/networking restart

IP转发

sed -i -r 's/^\s*#(net\.ipv4\.ip_forward=1.*)/\1/' /etc/sysctl.confecho 1 > /proc/sys/net/ipv4/ip_forward

检查修改结果

# sysctl -pnet.ipv4.ip_forward = 1

查看当前机器路由

root@node08:~# routeKernel IP routing tableDestination     Gateway         Genmask         Flags Metric Ref    Use Ifacedefault         10.1.199.1      0.0.0.0         UG    100    0        0 eth010.1.199.0      *               255.255.255.0   U     0      0        0 eth010.10.10.0      *               255.255.255.0   U     0      0        0 eth1

NTP服务

apt-get install -y ntp

环境变量

环境变量主要是为了使得文档更加灵活,参数可以设置

cat >/root/novarc <<EOFexport OS_TENANT_NAME=adminexport OS_USERNAME=adminexport OS_PASSWORD=passwordexport MYSQL_PASS=passwordexport SERVICE_PASSWORD=passwordexport RABBIT_PASSWORD=passwordexport OS_AUTH_URL="http://localhost:5000/v2.0/"export SERVICE_ENDPOINT="http://localhost:35357/v2.0"export SERVICE_TOKEN=ADMINexport PUBLIC_IP="$(/sbin/ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -f2 -d ":")"export LOCAL_IP="$(/sbin/ifconfig eth1 | awk '/inet addr/ {print $2}' | cut -f2 -d ":")"EOF

你可以根据你的需要调整上面password字段.它会自动获得你网卡的IP地址, 你可以根据你的情况调整。

查看novarc

cat /root/novarc export OS_TENANT_NAME=adminexport OS_USERNAME=adminexport OS_PASSWORD=passwordexport MYSQL_PASS=passwordexport SERVICE_PASSWORD=passwordexport RABBIT_PASSWORD=passwordexport OS_AUTH_URL="http://localhost:5000/v2.0/"export SERVICE_ENDPOINT="http://localhost:35357/v2.0"export SERVICE_TOKEN=ADMINexport PUBLIC_IP="10.1.199.8"export LOCAL_IP="10.10.10.8"

让环境变量生效

source novarcecho "source novarc">>.bashrc

RabbitMQ和相关软件

apt-get -y install rabbitmq-server vlan bridge-utils curl

数据库

Openstack的组件都需要用到mysql

数据库用户密码mysqlrootpasswordkeystonekeystonepasswordnovanovapasswordglanceglancepasswordcindercinderpasswordquantumquantumpassword

 

设置自动安装,无需输入密码

cat <<MYSQL_PRESEED | debconf-set-selectionsmysql-server-5.5 mysql-server/root_password password $MYSQL_PASSmysql-server-5.5 mysql-server/root_password_again password $MYSQL_PASSmysql-server-5.5 mysql-server/start_on_boot boolean trueMYSQL_PRESEED

安装mysql

apt-get -y install mysql-server python-mysqldb

允许远程访问mysql

sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf

重启服务

service mysql restart

创建数据库

mysql -uroot -p$MYSQL_PASS <<EOFCREATE DATABASE nova;GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '$MYSQL_PASS';CREATE DATABASE glance;GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '$MYSQL_PASS';CREATE DATABASE keystone;GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'IDENTIFIED BY '$MYSQL_PASS';CREATE DATABASE cinder;GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'IDENTIFIED BY '$MYSQL_PASS';CREATE DATABASE quantum;GRANT ALL PRIVILEGES ON quantum.* TO 'quantum'@'%'IDENTIFIED BY '$MYSQL_PASS';FLUSH PRIVILEGES;EOF

Keystone

安装

apt-get install -y keystone

查看keystone运行状态

service keystone status

编辑 /etc/keystone/keystone.conf

需要注意的是admin_token 默认是ADMIN

[sql]# The SQLAlchemy connection string used to connect to the database#connection = sqlite:////var/lib/keystone/keystone.dbconnection = mysql://keystone:password@10.10.10.8:3306/keystone[signing]#token_format = PKItoken_format = UUID

 

重启服务和初始化数据库

service keystone restartkeystone-manage db_sync

使用脚本导入初始化数据

keystone.sh  和 endpoint.sh,脚本运行过程中,会出现 WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored). 提示,忽略就可以。

wget http://www.chenshake.com/wp-content/uploads/2013/04/keystone.sh_.txtmv keystone.sh_.txt keystone.shbash keystone.sh

导入endpoint

wget http://www.chenshake.com/wp-content/uploads/2013/04/endpoint.sh_.txtmv endpoint.sh_.txt endpoint.shbash endpoint.sh

验证keystone

keystone user-listkeystone role-listkeystone tenant-listkeystone endpoint-listservice keystone status

Troubleshooting Keystone

1. 查看 5000 和 35357 端口是否在监听
2. 查看 /var/log/keystone/keystone.log 报错信息
3. keystone.sh 脚本执行错误解决:(检查脚本内容变量设置)

如果你运行上面脚本出现问题,你可以删除数据库再导入数据,运行脚本出错,基本都是环境变量设置有误导致

mysql -uroot -pmysql> drop database keystone;mysql> create database keystone; mysql> quit;

记得需要同步一下数据库

keystone-manage db_sync

Glance

安装

apt-get -y install glance

配置

编辑 /etc/glance/glance-api.conf

#sql_connection = sqlite:////var/lib/glance/glance.sqlitesql_connection = mysql://glance:password@10.10.10.8/glance[keystone_authtoken]auth_host = 127.0.0.1auth_port = 35357auth_protocol = http#admin_tenant_name = %SERVICE_TENANT_NAME%#admin_user = %SERVICE_USER%#admin_password = %SERVICE_PASSWORD%admin_tenant_name = serviceadmin_user = glanceadmin_password = password[paste_deploy]config_file = /etc/glance/glance-api-paste.iniflavor = keystone

重启服务

service glance-api restart

编辑 /etc/glance/glance-registry.conf

#sql_connection = sqlite:////var/lib/glance/glance.sqlitesql_connection = mysql://glance:password@10.10.10.8/glance[keystone_authtoken]auth_host = 127.0.0.1auth_port = 35357auth_protocol = http#admin_tenant_name = %SERVICE_TENANT_NAME%#admin_user = %SERVICE_USER%#admin_password = %SERVICE_PASSWORD%admin_tenant_name = serviceadmin_user = glanceadmin_password = password[paste_deploy]config_file = /etc/glance/glance-registry-paste.iniflavor = keystone

重启服务

service glance-registry restart

同步数据库

glance-manage version_control 0glance-manage db_sync

验证Glance

glance image-list

 

下面应该没任何输出,就表示正确。因为目前还没有上传image。

下载Image

我们下载CirrOS的image作为测试使用,只有10M。如果是ubuntu官方的image,220M,并且ubuntu官方的image,都是需要使用密钥登陆。

CirrOS

下载image

wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img

上传image

glance image-create --name=cirros-0.3.0-x86_64 --public  --container-format=bare \--disk-format=qcow2 < /root/cirros-0.3.0-x86_64-disk.img

Cirros,是可以使用用户名和密码登陆,也可以使用密钥登陆

user:cirros
password:cubswin:)

Ubuntu官方image

下载image

wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img

上传image

glance image-create --name="Ubuntu 12.04 cloudimg amd64" --public --container-format=ovf \--disk-format=qcow2 < /root/ubuntu-12.04-server-cloudimg-amd64-disk1.img

 

user:ubuntu

只能使用密钥登陆。

Quantum

安装

apt-get install -y quantum-server quantum-plugin-linuxbridge quantum-plugin-linuxbridge-agent \dnsmasq quantum-dhcp-agent quantum-l3-agent

编辑 /etc/quantum/quantum.conf

#core_plugin = quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2core_plugin = quantum.plugins.linuxbridge.lb_quantum_plugin.LinuxBridgePluginV2[keystone_authtoken]auth_host = 127.0.0.1auth_port = 35357auth_protocol = http#admin_tenant_name = %SERVICE_TENANT_NAME%#admin_user = %SERVICE_USER%#admin_password = %SERVICE_PASSWORD%admin_tenant_name = serviceadmin_user = quantumadmin_password = passwordsigning_dir = /var/lib/quantum/keystone-signing

配置bridge插件 /etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini

# Default: tenant_network_type = local# Example: tenant_network_type = vlantenant_network_type = vlan# Default: network_vlan_ranges =# Example: network_vlan_ranges = physnet1:1000:2999network_vlan_ranges = physnet1:1000:2999#sql_connection = sqlite:////var/lib/quantum/linuxbridge.sqlitesql_connection = mysql://quantum:password@10.10.10.8/quantum# Default: physical_interface_mappings =# Example: physical_interface_mappings = physnet1:eth1physical_interface_mappings = physnet1:eth0

编辑 /etc/quantum/l3_agent.ini:

#interface_driver = quantum.agent.linux.interface.OVSInterfaceDriverinterface_driver = quantum.agent.linux.interface.BridgeInterfaceDriver# use_namespaces = Trueuse_namespaces = False

编辑 /etc/quantum/dhcp_agent.ini

interface_driver = quantum.agent.linux.interface.BridgeInterfaceDriveruse_namespaces = False

重启quantum所有服务

cd /etc/init.d/; for i in $( ls quantum-* ); do sudo service $i restart; doneservice dnsmasq restart

验证Quantum

quantum help

 

看到所有quantum相关的命令,目前quantum没有任何数据

quantum net-list

KVM

安装

apt-get install -y kvm libvirt-bin pm-utils

编辑 /etc/libvirt/qemu.conf ,添加下面内容

cgroup_device_acl = [    "/dev/null", "/dev/full", "/dev/zero",    "/dev/random", "/dev/urandom",    "/dev/ptmx", "/dev/kvm", "/dev/kqemu",    "/dev/rtc", "/dev/hpet","/dev/net/tun",]

或者运行命令:这个地方用命令修改有点复杂,还没找到太好的办法。

cat <<EOF>>/etc/libvirt/qemu.confcgroup_device_acl = [    "/dev/null", "/dev/full", "/dev/zero",    "/dev/random", "/dev/urandom",    "/dev/ptmx", "/dev/kvm", "/dev/kqemu",    "/dev/rtc", "/dev/hpet","/dev/net/tun",]EOF

删除默认 virtual bridge

virsh net-destroy defaultvirsh net-undefine default

允许迁移

编辑 /etc/libvirt/libvirtd.conf,

#auth_tcp = "sasl"auth_tcp = "none"

或者运行下面命令

sed -i '/#listen_tcp/s/#listen_tcp/listen_tcp/; /#auth_tcp/s/#auth_tcp/auth_tcp/; /auth_tcp/s/sasl/none/'  /etc/libvirt/libvirtd.conf

编辑 /etc/init/libvirt-bin.conf

env libvirtd_opts="-d -l"

或者使用命令

sed -i '/env libvirtd_opts/s/-d/-d -l/' /etc/init/libvirt-bin.conf

编辑 /etc/default/libvirt-bin

libvirtd_opts="-d -l"

或者使用命令

sed -i '/libvirtd_opts/s/-d/-d -l/' /etc/default/libvirt-bin

重启服务

service libvirt-bin restart

Nova

安装

apt-get install -y nova-api nova-cert novnc nova-consoleauth nova-scheduler \nova-novncproxy nova-doc nova-conductor nova-compute-kvm

编辑 /etc/nova/api-paste.ini

[filter:authtoken]paste.filter_factory = keystoneclient.middleware.auth_token:filter_factoryauth_host = 127.0.0.1auth_port = 35357auth_protocol = http#admin_tenant_name = %SERVICE_TENANT_NAME%#admin_user = %SERVICE_USER%#admin_password = %SERVICE_PASSWORD%admin_tenant_name = serviceadmin_user = novaadmin_password = passwordsigning_dir = /tmp/keystone-signing-nova# Workaround for https://bugs.launchpad.net/nova/+bug/1154809auth_version = v2.0

创建 /etc/nova/nova.conf

cat >/etc/nova/nova.conf <<EOF[DEFAULT]logdir=/var/log/novastate_path=/var/lib/novalock_path=/run/lock/novaverbose=Trueapi_paste_config=/etc/nova/api-paste.inicompute_scheduler_driver=nova.scheduler.simple.SimpleSchedulerrabbit_host=$LOCAL_IPnova_url=http://$LOCAL_IP:8774/v1.1/sql_connection=mysql://nova:$MYSQL_PASS@$LOCAL_IP/novaroot_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf# Authuse_deprecated_auth=falseauth_strategy=keystone# Imaging serviceglance_api_servers=$LOCAL_IP:9292image_service=nova.image.glance.GlanceImageService# Vnc configurationnovnc_enabled=truenovncproxy_base_url=http://$PUBLIC_IP:6080/vnc_auto.htmlnovncproxy_port=6080vncserver_proxyclient_address=$LOCAL_IPvncserver_listen=0.0.0.0# Network settingsnetwork_api_class=nova.network.quantumv2.api.APIquantum_url=http://$LOCAL_IP:9696quantum_auth_strategy=keystonequantum_admin_tenant_name=servicequantum_admin_username=quantumquantum_admin_password=$SERVICE_PASSWORDquantum_admin_auth_url=http://$LOCAL_IP:35357/v2.0libvirt_vif_driver=nova.virt.libvirt.vif.QuantumLinuxBridgeVIFDriverlinuxnet_interface_driver=nova.network.linux_net.LinuxBridgeInterfaceDriverfirewall_driver=nova.virt.libvirt.firewall.IptablesFirewallDriver# Compute #compute_driver=libvirt.LibvirtDriver# Cinder #volume_api_class=nova.volume.cinder.APIosapi_volume_listen_port=5900EOF

编辑 /etc/nova/nova-compute.conf:

[DEFAULT]libvirt_type=kvmcompute_driver=libvirt.LibvirtDriverlibvirt_vif_type=ethernetlibvirt_vif_driver=nova.virt.libvirt.vif.QuantumLinuxBridgeVIFDriver

同步数据库

nova-manage db sync

重启nova相关服务

cd /etc/init.d/; for i in $( ls nova-* ); do sudo service $i restart; done

查看nova 服务

nova-manage service list

Cinder

安装

apt-get install -y cinder-api cinder-scheduler cinder-volume \iscsitarget open-iscsi iscsitarget-dkms

配置iscsi服务

sed -i 's/false/true/g' /etc/default/iscsitarget

 

重启服务

service iscsitarget startservice open-iscsi start

编辑 /etc/cinder/api-paste.ini

[filter:authtoken]paste.filter_factory = keystoneclient.middleware.auth_token:filter_factoryservice_protocol = httpservice_host = 127.0.0.1service_port = 5000auth_host = 127.0.0.1auth_port = 35357auth_protocol = http#admin_tenant_name = %SERVICE_TENANT_NAME%#admin_user = %SERVICE_USER%#admin_password = %SERVICE_PASSWORD%admin_tenant_name = serviceadmin_user = cinderadmin_password = password

编辑 /etc/cinder/cinder.conf

[DEFAULT]rootwrap_config=/etc/cinder/rootwrap.confsql_connection = mysql://cinder:password@10.10.10.8/cinderapi_paste_config = /etc/cinder/api-paste.iniiscsi_helper=ietadmvolume_name_template = volume-%svolume_group = cinder-volumesverbose = Trueauth_strategy = keystone#osapi_volume_listen_port=5900

同步数据库

cinder-manage db sync

 

创建一个cinder volume的卷

如果使用文件模拟的方式,其实性能很差,基本是不可用。所以建议采用单独分区来测试

我的硬盘专门一个分区给volume使用

umount /dev/sda7pvcreate /dev/sda7vgcreate cinder-volumes /dev/sda7

去掉开机挂载

sed -i '/nova-volume/s/^/#/' /etc/fstab

重启服务

cd /etc/init.d/; for i in $( ls cinder-* ); do sudo service $i restart; done

查看cinder服务状态

cd /etc/init.d/; for i in $( ls cinder-* ); do sudo service $i status; done

Horizon

安装

apt-get install -y openstack-dashboard memcached

默认的ubuntu的theme一直都有问题,需要删掉。

dpkg --purge openstack-dashboard-ubuntu-theme

 

重启相关服务

service apache2 restart; service memcached restart

 

这个时候你就可以直接使用 http://10.1.199.8/horizon 访问

user:admin  pass:password

如何使用Dashboard,后续补上。

0
 Posted by 陈沙克 at 10:13 PM Tagged with: openstack, ubuntu

 43 Responses to “Ubuntu12.04.2 OpenStack Grizzly 安装(Bridge)”

  1. 陈老师,怎么G版本安装到了Glance就没有了,
    还有上次问您的问题:安装E版本的时候执行mii-tool命令后网卡出现SIOCGMIIREG on eth0 failed: Input/output error
    SIOCGMIIREG on eth0 failed: Input/output error
    eth0: negotiated 100baseTx-FD flow-control, link ok
    eth1: negotiated 100baseTx-FD, link ok
    安装过程基本上没有问题,但是在创建实例的时候无法创建,试了好几次,都是同样的问题,麻烦陈老师指导一下,多谢了!

    Reply
    • 没写完了,正在调试中。

      Reply
      • 沙克,请联系我,请教个事情,打你原来北京电话不通了。

        Reply
  2. 陈老师,我在virtualbox虚拟机中按照您的流程安装G版本时,执行keystone.sh脚本时遇到了下列问题:
    root@ubuntu:~/grizzly# ./keystone.sh
    Traceback (most recent call last):
    File “/usr/bin/keystone”, line 9, in
    load_entry_point(‘python-keystoneclient==0.2.3′, ‘console_scripts’, ‘keystone’)()
    File “/usr/lib/python2.7/dist-packages/keystoneclient/shell.py”, line 498, in main
    print >> sys.stderr, e
    UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 5199-5222: ordinal not in range(128)

    能否给些建议?
    不胜感激

    Reply
    • 这个错误真没见过。

      Reply
    • 你应该是在windows下操作的吧?这个错误应该是你在修改参数时 输入法为中文状态导致的

      Reply
  3. 陈老师好!一直关注你的空间。
    我们实验室几个一直在研究openstack
    E版出来之后已经可以成功部署
    F版的我们花了很多时间来部署quantum,但是一直不成功
    现在G版的出来了,你安装成功了吗?有什么心得?感谢分享

    Reply
  4. 陈老师,您有没有做过windows虚拟机镜像,并上传openstack运行成功的案列,能否教教我们?在网上搜的一些文章,照着做都不行。先谢谢了!!

    Reply
  5. 期待 更进一步的 更新 由于之前一直用的E版本 没接触 Quantum

    Reply
  6. 陈老师您好,您有没有做过windows虚拟机镜像,并上传openstack运行成功的案列,能否教教我们?在网上搜的一些文章,照着做都不行。先谢谢了!!

    Reply
  7. 陳老師您好,我是台灣大學的研究生,最近正在做有關於Openstack的論文,我依照您的腳本創建到glance部分都沒問題,唯獨在輸入指令glance image-list出現了以下錯誤:Unable to communicate with identity service: {“error”: {“message”: “The request you have made requires authentication.”, “code”: 401, “title”: “Not Authorized”}}. (HTTP 401)看起來是關於權限問題,但礙於不想更動keystone腳本的關係,想請問陳老師要如何解決這個問題?謝謝

    Reply
    • 坦白说,我刚开始配置Grizzly的时候,按照以前配置glance的方式装glance也遇到这个错误,当时反复看log,也没看到什么错误。现在文档配置glance,应该是没有错误,你完全照做应该是可以了。目前openstack根据错误定位问题还是没有办法的。先确认你的环境变量没问题,还有就是完全参考我的文档来修改那两个配置文件。

      Reply
      • 先感謝陳老師的回覆,我本身有去/var/log/keystone/keystone.log看過log發現只有 WARNING [keystone.common.wsgi] Authorization failed. The request you have made requires authentication. from 127.0.0.1這個錯誤,因為前面的配置完全是照老師的文件所做,所以不知道這樣應該改哪個部分?謝謝。

        Reply
        • 那你就把3个文件发到我的邮箱里:novarc, /etc/glance/glance-api.conf /etc/glance/glance-registry.conf 。我的邮箱 shake.chen@gmail.com

          Reply
          • 陳老師,郵件已經寄出,麻煩您了。

  8. 老师,先汇报下,我已经78kg了,呵呵“你要坚持啊
    昨天按着本文成功的安装了G版本,中间没出现任何问题
    但是在dashboard里创建实例时候,立即提示error,我查看service list 都是笑脸
    我想问题应该是出现新的功能的使用上,比如我发现网络是需要自创的
    那么我想问下原来的fixed ip以及floating ip该如何设置,是不是因为这个原因导致实例创建失败
    感觉距离成功就差一点点了,G版看起来果然强大,连拓扑图都能给列出来了,而且还提供了路由的选项,那是不是意味着未来实例之间可以跨网段传输数据?不知到陈老师从10号到今天有没有什么新的进展
    期待您的回复““
    THX

    Reply
    • 比较郁闷,我遇到的问题和你一样,还没找到原因。这几天就是更正了一下文档几个小错误。

      Reply
      • 我刚才参照mskeni大师的文档最后一部分创建了网络,不过还是不行,发现创建的任何网络的shared status都处于FALSE,admin status倒是active,是不是这部分原因的影响?我在youku上看到一个外国兄弟测试的视频,他的状态是YES,也很顺利的创建了实例。是不是我们eth1和eth0之间的配置出现了问题 陈老师?

        Reply
        • 我也在郁闷这个问题。和网卡eth0 eth1有关的设置就是在quantum的地方。
          # Default: physical_interface_mappings =
          # Example: physical_interface_mappings = physnet1:eth1
          physical_interface_mappings = physnet1:eth0

          看来我要考虑一下你的建议。

          Reply
          • Longgeek老师那篇文章用的是GRE模式,采用了Openswitch,不知道对我们这个方案有没有参考价值,他里面也提到了很详细的关于网络部分的创建方法,应该像是成功了

          • 对,他采用ovs,是没问题,我和他聊过。改天我验证一次。

        • 可能已经找到错误,nova.conf 里quantum密码设置错误。我马上重装开始测试。

          Reply
          • 好的,老师,如果有新进展请贴出来,我这边也马上去验证,需要重新安装系统部署对么?

          • 还是不错,我只能等晚上照老外的文档再做一次。

          • 没错,我下午也试了一下,那处密码的确有问题 默认成了service_pass,而我们自己修改的是password,也许不光是这一个地方涉及到了,我晚间也去排查下···ovs和bridge的区别很大么,主要体现在哪一块?

          • 上面有图说明。bridge,只支持vlan。ovs,可以跑GRE。vlan有所谓的数量限制。

  9. quantum_admin_password=service_pass
    这个错误 可害苦 我 了 要不是看了 quantum 的日志 估计我都快要放弃了

    Reply
    • 这位兄弟,你修正以后,在dashboard里创建network时候的shared状态是false还是yes?

      Reply
      • 还是false,郁闷。

        Reply
        • 老师,要不咱试试OVS?你有联系M大师反馈这个问题么?

          Reply
          • 我会尝试ovs。我毕竟还不是完全按照他的文档来操作,有点改动。我再试一下,如果不行,肯定会提交ticket。

      • 是True 不过之前我一直没有设置这个shared
        目前我这边的问题是 所创建的实例 没法路由到 外网 ,同一个route下的实例相互之间可以ping 但是内外都不同

        PortsCreate Port Delete Ports
        Name Fixed IPs Device Attached Status Admin State 动作

        (5e6dac3a)
        10.10.0.1
        network:router_interface DOWN UP Edit Port More

        很郁闷的是 这些都是DOWN

        quantum相应日志错误为:
        2013-04-18 10:08:35 WARNING [quantum.scheduler.l3_agent_scheduler] L3 agent 87908cd1-737f-49f3-80b9-8a70ae19ca08 is not active
        2013-04-18 10:08:35 WARNING [quantum.scheduler.l3_agent_scheduler] No routers compatible with L3 agent configuration on host lost5

        2013-04-18 09:18:55 ERROR [quantum.plugins.linuxbridge.agent.linuxbridge_quantum_agent] Failed reporting state!

        2013-04-18 09:18:54 ERROR [quantum.agent.l3_agent] Failed reporting state!

        Reply
      • Networks
        NetworksCreate Network 删除 Networks
        项目 Network Name Subnets Associated Shared Status Admin State 动作
        admin
        External-net
        ext-subnet 49.123.83.1/30
        True ACTIVE UP Edit Network More
        admin
        admin-net
        admin-subnet 10.10.0.0/24
        True ACTIVE UP Edit Network More

        Reply
        • 这位兄弟,你使用的是bridge还是ovs模式?可否加下QQ 27495056 保持沟通

          Reply
          • bridge 和 OVS都尝试了

        • 如果是True状态应该使用的是ovs模式,如果是bridge模式应该是现实一个yes或者false,有点小区别“`

          Reply
  10. 陈老师您好,G版本安装对硬件方面是不是有什么要求,按照您的文档步骤安装为什么安装不成功,目前只有E版本的安装是没有任何问题的,还有就是E版本安装之后很不稳定,创建实例之后如果出现问题解决之后再创建实例就会出错,请问老师有什么办法可以保证E版的稳定性,谢谢了!

    Reply
    • 如果你跑nova netowork,应该是没问题。所谓不稳定,应该是新功能不完善。

      Reply
      • G版已经不用使用Nova network了。dashboard 会依赖quantum的。我在Centos 6.4 上源码安装的G版,目前就网络有问题,虚拟机直接可以Ping通,虚拟机和物理机之前的路由有问题,Ping不通,加QQ沟通:57459267

        Reply
        • 好,等下联系你。

          Reply
  11. 陈老师,我的服务器是单网卡,G版有没有要求E版中的双网卡啊?

    Reply
  12. 陈老师,问题处理的如何了?我周末尝试了两个方案,分别遇到了一些问题 这里跟您说明一下
    一个是jedipunkz这位日本兄弟的grizzly 脚本,我想你在github应该也看到了,我在执行过程中前面都很顺利,但是当脚本运行到ovs安装部分,貌似是在通过ovs给br-ex 添加eth0 端口这条命令之后,eth0便失去连接性,网卡依然连接正常,但就是无法连通外网,导致接下来脚本无法继续下载其他资源,运行失败,这个问题jedipunkz在readme.md里面有提到一点,但是他说的好像不是很明确,希望您有时间验证下···他的f版本脚本写的很好,你翻译之后我们使用都很ok,完美,我在github也给他留言了,希望能得到帮助。

    另外一个问题,我又尝试了m大师的第二个方案,就是single node ovs模式,依旧碰到了我们之前的问题,vm创建立即error,网络部分拓扑搭建的顺序和方法应该没有什么问题,就是搭建之后,几个端口都显示down的状态,所以我个人觉得问题就应该出在ovs这块,我对比了下longgeek,jedipunkz以及mskeni的方案,前两者都有在ovs 添加eth0 端口到 br-ex,而mskeni的方案中就没有这个部分,既然longgeek和jedipunkz他们自己都已经验证成功,我们是不是也应该把注意放在这个部分? 我的QQ是 27495056,希望和您长期保持交流

    Reply
    • 好,已经添加,大家一起看看啥问题。