OpenStack安裝與配置各種問題彙總

1,

如何解決CRITICAL glance [-] AttributeError: 'NoneType' object has no attribute 'drivername'

今天在配置OpenStack的Glance時,前邊進行的都很順利,當作到這一步時sudo glance-manage db_sync時出現瞭如下錯誤
這裏寫圖片描述
根據錯誤提示,想到可能是配置問題,於是就查找了配置文檔,發現需要在/etc/glance/glance-registry.conf和/etc/glance/glance-api.conf中加入下面一句話

sql_connection = mysql://glance:GLANCE_DBPASS@controller/glance

格式如下:sql_connection = mysql://USER:PASSWORD@HOST/DBNAME

然後重新執行命令,卻又出現如下的錯誤
這裏寫圖片描述
是因爲MySQL-python沒有安裝,執行pip install MySQL-python進行安裝
再次執行命令,出現如下情況:
這裏寫圖片描述
是數據庫中的一個表沒有設置行UTF-8的格式,按照下面的方式進行設置
這裏寫圖片描述
再次執行命令,終於成功了!!!


1 各組件同步數據庫時候報錯:

這個時候報錯大體上都是數據庫拒絕訪問或者找不到數據庫,排錯方法如下:

1. 檢查數據庫裏是否建立了相應數據庫

2. 檢查數據庫的權限是否存在問題,ubuntu 12.04 MySQL需要給本機一個權限,

添加grant all on keystone.* to ‘keystone’@'controller’ identified by ‘ruijie’;給本機一個權限

3. 檢查配置文件中mysql的地址、用戶名、密碼是否填寫正確

2 Details: [Errno 111] Connection refused

這類錯誤很明顯是keystone和相應模塊的連接問題,檢查keystone的日誌,如果沒有相應服務的報錯記錄,猜測應該是其他部件的授權地址出錯,有相應記錄,一般是授權出錯,檢查各部件配置文件中的授權token是否正確,檢查keystone的數據是否正確,用戶、服務、endpoint是否存在。如果之前的辦法還是不行,重啓服務,或者直接aptget remove —purge相應組件,重新安裝。

3 依賴包錯誤

例子:ImportError: No module named keystone.middleware.auth_token

由於Swift原來是獨立的項目,所以Swift安裝後需要keystone的相應模塊,如果沒有就會報這個錯誤,解決方法也很簡單:apt-get install Python-keystone python-keystoneclient

手動安裝,常常會出現這種錯誤,但是往往以google就能解決

4本身bug錯誤

ValueError: invalid literal for int() with base 10: 'true'

在啓動swift代理節點的時候,很鬱悶的是,我明明沒改幾個地方,爲什麼值會錯誤,這個錯誤只要將配置文件中改爲delay_auth_decision = 1就可以了,大衆化的bug你一問度娘,答案就出來了,如果自己沒有做致命修改,基本可以懷疑是openstack的問題

5實例錯誤

最爲普遍,也最頭大,原因五花八門,表現爲服務在nova-manage service list中都正常,但是啓動實例時出錯,這時需特別注意dashboard啓動實例時出錯的位置,networking?還是spaning?還是scheduler?不同階段查看不同地方的日誌,最常見的有以下幾個:

1. 網絡配置錯誤導致分配不了IP地址,如果IP地址未分配那麼可能就是這個錯誤

解決;覈對標準配置文件,檢查網絡配置錯誤

2. rabbitmq或者其他什麼組件沒有運行

查看日誌即可發現,這個的原因又很多樣,這些組件正常情況下,是不會停掉的,一般是錯誤修改配置後纔會,回憶自己出錯之前做的修改,還原回來即可修復

6 殭屍實例的產生

殭屍實例一般是非法的關閉nova或者底層虛擬機,又或者在實例錯誤時刪除不了的錯誤,注意用virsh list檢查底層虛擬機是否還在運行,有的話停掉,然後直接進入數據庫刪除。

# mysql -u root -p

Enter password:

mysql> use nova;

mysql> SET FOREIGN_KEY_CHECKS=0;

Query OK, 0 rows affected (0.00 sec)

mysql> delete from instances where id = '29';

Query OK, 1 row affected (0.04 sec)

mysql> delete from instances where id = '30';

Query OK, 1 row affected (0.04 sec)

mysql> SET FOREIGN_KEY_CHECKS=1;

Query OK, 0 rows affected (0.00 sec)

 

 

 

8月3日

root@openstack-controller:~# keystone user-list
Expecting authentication method via
  either a service token, --token or env[SERVICE_TOKEN],
  or credentials, --os_username or env[OS_USERNAME].
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_AUTH_URL=http://localhost:5000/v2.0/


root@openstack-controller:~# glance index
Failed to show index. Got error:
There was an error connecting to a server
Details: [Errno 111] Connection refused

初步判定爲keystone的問題檢查keystone的日誌爲空。。。
刪除service和endpoint重試

就是glance與keystone的連接問題
應該先裝好keystone後裝glance
這裏刪除glance重新配aptget remove --purge
同時注意刪除數據庫


Starting proxy-server...(/etc/swift/proxy-server.conf)
Traceback (most recent call last):
  File "/usr/bin/swift-proxy-server", line 22, in <module>
    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

swift-proxy節點也需要安裝keystone,會使用到keystone裏提供的swift\_auth和auth\_token的功 能, 在swift的代碼中並沒有提供,所以, apt-get install python-keystone python-keystoneclient

root@swift-proxy:/etc/swift# 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 <module>
    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 272, in loadobj
    return context.create()
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
    return self.object_type.invoke(self)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 207, in invoke
    app = filter(app)
  File "/usr/lib/python2.7/dist-packages/keystone/middleware/auth_token.py", line 524, in auth_filter
    return AuthProtocol(app, conf)
  File "/usr/lib/python2.7/dist-packages/keystone/middleware/auth_token.py", line 123, in __init__
    self.delay_auth_decision = int(conf.get('delay_auth_decision', 0))
ValueError: invalid literal for int() with base 10: 'true'
此爲bug
改:
delay_auth_decision = 1

root@swift-proxy:/var/log# swift -V 2 -Ahttp://172.18.32.7:5000/v2.0 -U admin:admin -K admin stat
[Errno 111] ECONNREFUSED

研究-U admin:admin選項的含義:實際上是keystone的tenant:user 這裏寫service:swift
另外注意proxy的配置文件
以及keystone是否有這個用戶和tenant

重啓swift時:
Unable to locate config for object-expirer
有待於查找原因


root@openstack-controller:~# nova list
+--------------------------------------+-------+--------+----------+
|                  ID                  |  Name | Status | Networks |
+--------------------------------------+-------+--------+----------+
| e399f8f0-5d3e-4248-bcab-60ec52a3415c | test1 | ERROR  |          |
+--------------------------------------+-------+--------+----------+
nova-network   log
2012-08-06 14:03:25 INFO nova.rpc.common [-] Connected to AMQP server on 172.18.32.7:5672
2012-08-07 18:43:05 INFO nova.rpc.common [req-73ad3278-3416-4ed6-a22b-6ef6051a4a26 6ed9496e07724c969e1e470e9ea4621e f4c42d279f124477a487c57f2a96d2df] Connected to AMQP server on 172.18.32.7:5672
2012-08-07 18:44:02 INFO nova.rpc.common [req-01699302-b01e-4b01-81b7-8414400ef471 None None] Connected to AMQP server on 172.18.32.7:5672
2012-08-07 18:44:25 ERROR nova.rpc.common [-] Timed out waiting for RPC response: timed out
2012-08-07 18:44:25 TRACE nova.rpc.common Traceback (most recent call last):
2012-08-07 18:44:25 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 490, in ensure
2012-08-07 18:44:25 TRACE nova.rpc.common     return method(*args, **kwargs)
2012-08-07 18:44:25 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 567, in _consume
2012-08-07 18:44:25 TRACE nova.rpc.common     return self.connection.drain_events(timeout=timeout)
2012-08-07 18:44:25 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 175, in drain_events
2012-08-07 18:44:25 TRACE nova.rpc.common     return self.transport.drain_events(self.connection, **kwargs)
2012-08-07 18:44:25 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 238, in drain_events
2012-08-07 18:44:25 TRACE nova.rpc.common     return connection.drain_events(**kwargs)
2012-08-07 18:44:25 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 57, in drain_events
2012-08-07 18:44:25 TRACE nova.rpc.common     return self.wait_multi(self.channels.values(), timeout=timeout)
2012-08-07 18:44:25 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 63, in wait_multi
2012-08-07 18:44:25 TRACE nova.rpc.common     chanmap.keys(), allowed_methods, timeout=timeout)
2012-08-07 18:44:25 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 120, in _wait_multiple
2012-08-07 18:44:25 TRACE nova.rpc.common     channel, method_sig, args, content = read_timeout(timeout)
2012-08-07 18:44:25 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 94, in read_timeout
2012-08-07 18:44:25 TRACE nova.rpc.common     return self.method_reader.read_method()
2012-08-07 18:44:25 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/method_framing.py", line 221, in read_method
2012-08-07 18:44:25 TRACE nova.rpc.common     raise m
2012-08-07 18:44:25 TRACE nova.rpc.common timeout: timed out
2012-08-07 18:44:25 TRACE nova.rpc.common


nova-sch
2012-08-06 14:03:21 TRACE nova.rpc.common IOError: Socket closed
2012-08-06 14:03:21 TRACE nova.rpc.common
2012-08-06 14:03:21 INFO nova.rpc.common [-] Reconnecting to AMQP server on 172.18.32.7:5672
2012-08-06 14:03:21 ERROR nova.rpc.common [-] AMQP server on 172.18.32.7:5672 is unreachable: [Errno 111] ECONNREFUSED. Trying again in 1 seconds.
2012-08-06 14:03:21 TRACE nova.rpc.common Traceback (most recent call last):
2012-08-06 14:03:21 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 446, in reconnect
2012-08-06 14:03:21 TRACE nova.rpc.common     self._connect()
2012-08-06 14:03:21 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 423, in _connect
2012-08-06 14:03:21 TRACE nova.rpc.common     self.connection.connect()
2012-08-06 14:03:21 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 154, in connect
2012-08-06 14:03:21 TRACE nova.rpc.common     return self.connection
2012-08-06 14:03:21 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 560, in connection
2012-08-06 14:03:21 TRACE nova.rpc.common     self._connection = self._establish_connection()
2012-08-06 14:03:21 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 521, in _establish_connection
2012-08-06 14:03:21 TRACE nova.rpc.common     conn = self.transport.establish_connection()
2012-08-06 14:03:21 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 255, in establish_connection
2012-08-06 14:03:21 TRACE nova.rpc.common     connect_timeout=conninfo.connect_timeout)
2012-08-06 14:03:21 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 52, in __init__
2012-08-06 14:03:21 TRACE nova.rpc.common     super(Connection, self).__init__(*args, **kwargs)
2012-08-06 14:03:21 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/connection.py", line 129, in __init__
2012-08-06 14:03:21 TRACE nova.rpc.common     self.transport = create_transport(host, connect_timeout, ssl)
2012-08-06 14:03:21 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/transport.py", line 281, in create_transport
2012-08-06 14:03:21 TRACE nova.rpc.common     return TCPTransport(host, connect_timeout)
2012-08-06 14:03:21 TRACE nova.rpc.common   File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/transport.py", line 85, in __init__
2012-08-06 14:03:21 TRACE nova.rpc.common     raise socket.error, msg
2012-08-06 14:03:21 TRACE nova.rpc.common error: [Errno 111] ECONNREFUSED
2012-08-06 14:03:21 TRACE nova.rpc.common
2012-08-06 14:03:24 AUDIT nova.service [-] Starting scheduler node (version 2012.1-LOCALBRANCH:LOCALREVISION)
2012-08-06 14:03:25 INFO nova.rpc.common [req-883fdae1-bf4e-4707-b60e-d768f4ddf0f2 None None] Connected to AMQP server on 172.18.32.7:5672
2012-08-07 18:43:23 INFO nova.rpc.common [req-72804b2a-3d1d-4d38-977d-6e70e491559f 6ed9496e07724c969e1e470e9ea4621e f4c42d279f124477a487c57f2a96d2df] Connected to AMQP server on 172.18.32.7:5672
~
rabbitmq崩潰了重啓所有服務
恢復

2012-08-08 10:43:37 ERROR nova.rpc.amqp [req-b4675e0f-c682-4621-8530-fdc4ea316295 6ed9496e07724c969e1e470e9ea4621e f4c42d279f124477a487c57f2a96d2df] Exception during message handling
2012-08-08 10:43:37 TRACE nova.rpc.amqp Traceback (most recent call last):
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 253, in _process_data
2012-08-08 10:43:37 TRACE nova.rpc.amqp     rval = node_func(context=ctxt, **node_args)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 114, in wrapped
2012-08-08 10:43:37 TRACE nova.rpc.amqp     return f(*args, **kw)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 183, in decorated_function
2012-08-08 10:43:37 TRACE nova.rpc.amqp     sys.exc_info())
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2012-08-08 10:43:37 TRACE nova.rpc.amqp     self.gen.next()
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 177, in decorated_function
2012-08-08 10:43:37 TRACE nova.rpc.amqp     return function(self, context, instance_uuid, *args, **kwargs)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 657, in run_instance
2012-08-08 10:43:37 TRACE nova.rpc.amqp     do_run_instance()
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/utils.py", line 945, in inner
2012-08-08 10:43:37 TRACE nova.rpc.amqp     retval = f(*args, **kwargs)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 656, in do_run_instance
2012-08-08 10:43:37 TRACE nova.rpc.amqp     self._run_instance(context, instance_uuid, **kwargs)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 457, in _run_instance
2012-08-08 10:43:37 TRACE nova.rpc.amqp     self._set_instance_error_state(context, instance_uuid)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2012-08-08 10:43:37 TRACE nova.rpc.amqp     self.gen.next()
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 430, in _run_instance
2012-08-08 10:43:37 TRACE nova.rpc.amqp     requested_networks)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 565, in _allocate_network
2012-08-08 10:43:37 TRACE nova.rpc.amqp     requested_networks=requested_networks)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/network/api.py", line 170, in allocate_for_instance
2012-08-08 10:43:37 TRACE nova.rpc.amqp     'args': args})
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/rpc/__init__.py", line 68, in call
2012-08-08 10:43:37 TRACE nova.rpc.amqp     return _get_impl().call(context, topic, msg, timeout)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 674, in call
2012-08-08 10:43:37 TRACE nova.rpc.amqp     return rpc_amqp.call(context, topic, msg, timeout, Connection.pool)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 343, in call
2012-08-08 10:43:37 TRACE nova.rpc.amqp     rv = list(rv)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 304, in __iter__
2012-08-08 10:43:37 TRACE nova.rpc.amqp     self.done()
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2012-08-08 10:43:37 TRACE nova.rpc.amqp     self.gen.next()
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 301, in __iter__
2012-08-08 10:43:37 TRACE nova.rpc.amqp     self._iterator.next()
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 572, in iterconsume
2012-08-08 10:43:37 TRACE nova.rpc.amqp     yield self.ensure(_error_callback, _consume)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 503, in ensure
2012-08-08 10:43:37 TRACE nova.rpc.amqp     error_callback(e)
2012-08-08 10:43:37 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py", line 553, in _error_callback
2012-08-08 10:43:37 TRACE nova.rpc.amqp     raise rpc_common.Timeout()
2012-08-08 10:43:37 TRACE nova.rpc.amqp Timeout: Timeout while waiting on RPC response.
2012-08-08 10:43:37 TRACE nova.rpc.amqp

網絡問題
雙網卡配置
2012-08-08 15:17:13 TRACE nova.rpc.amqp Traceback (most recent call last):
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 253, in _process_data
2012-08-08 15:17:13 TRACE nova.rpc.amqp     rval = node_func(context=ctxt, **node_args)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 114, in wrapped
2012-08-08 15:17:13 TRACE nova.rpc.amqp     return f(*args, **kw)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 183, in decorated_function
2012-08-08 15:17:13 TRACE nova.rpc.amqp     sys.exc_info())
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2012-08-08 15:17:13 TRACE nova.rpc.amqp     self.gen.next()
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 177, in decorated_function
2012-08-08 15:17:13 TRACE nova.rpc.amqp     return function(self, context, instance_uuid, *args, **kwargs)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 657, in run_instance
2012-08-08 15:17:13 TRACE nova.rpc.amqp     do_run_instance()
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/utils.py", line 945, in inner
2012-08-08 15:17:13 TRACE nova.rpc.amqp     retval = f(*args, **kwargs)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 656, in do_run_instance
2012-08-08 15:17:13 TRACE nova.rpc.amqp     self._run_instance(context, instance_uuid, **kwargs)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 457, in _run_instance
2012-08-08 15:17:13 TRACE nova.rpc.amqp     self._set_instance_error_state(context, instance_uuid)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2012-08-08 15:17:13 TRACE nova.rpc.amqp     self.gen.next()
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 438, in _run_instance
2012-08-08 15:17:13 TRACE nova.rpc.amqp     self._deallocate_network(context, instance)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2012-08-08 15:17:13 TRACE nova.rpc.amqp     self.gen.next()
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 435, in _run_instance
2012-08-08 15:17:13 TRACE nova.rpc.amqp     injected_files, admin_password)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 598, in _spawn
2012-08-08 15:17:13 TRACE nova.rpc.amqp     self._legacy_nw_info(network_info), block_device_info)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 114, in wrapped
2012-08-08 15:17:13 TRACE nova.rpc.amqp     return f(*args, **kw)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line 919, in spawn
2012-08-08 15:17:13 TRACE nova.rpc.amqp     block_device_info=block_device_info)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line 1539, in to_xml
2012-08-08 15:17:13 TRACE nova.rpc.amqp     rescue, block_device_info)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line 1422, in _prepare_xml_info
2012-08-08 15:17:13 TRACE nova.rpc.amqp     nics.append(self.vif_driver.plug(instance, network, mapping))
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/vif.py", line 99, in plug
2012-08-08 15:17:13 TRACE nova.rpc.amqp     return self._get_configurations(network, mapping)
2012-08-08 15:17:13 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/vif.py", line 69, in _get_configurations
2012-08-08 15:17:13 TRACE nova.rpc.amqp     'ip_address': mapping['ips'][0]['ip'],
2012-08-08 15:17:13 TRACE nova.rpc.amqp IndexError: list index out of range

依賴包未安裝
依照沙克網站重新安裝
可以
但是爲多network的節點結構

遷移錯誤:
2012-08-09 09:13:28 ERROR nova.scheduler.driver [req-0ed136e0-7694-4320-9f95-7a129bfa459a 6ed9496e07724c969e1e470e9ea4621e f4c42d279f124477a487c57f2a96d2df] Cannot confirm tmpfile at /var/lib/nova/instances is on same shared storage between worker1 and worker2.
2012-08-09 09:13:28 WARNING nova.scheduler.manager [req-0ed136e0-7694-4320-9f95-7a129bfa459a 6ed9496e07724c969e1e470e9ea4621e f4c42d279f124477a487c57f2a96d2df] Failed to schedule_live_migration: File tmpqUEm34 could not be found.
2012-08-09 09:13:28 ERROR nova.rpc.amqp [req-0ed136e0-7694-4320-9f95-7a129bfa459a 6ed9496e07724c969e1e470e9ea4621e f4c42d279f124477a487c57f2a96d2df] Exception during message handling
2012-08-09 09:13:28 TRACE nova.rpc.amqp Traceback (most recent call last):
2012-08-09 09:13:28 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 253, in _process_data
2012-08-09 09:13:28 TRACE nova.rpc.amqp     rval = node_func(context=ctxt, **node_args)
2012-08-09 09:13:28 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/scheduler/manager.py", line 97, in _schedule
2012-08-09 09:13:28 TRACE nova.rpc.amqp     context, ex, *args, **kwargs)
2012-08-09 09:13:28 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
2012-08-09 09:13:28 TRACE nova.rpc.amqp     self.gen.next()
2012-08-09 09:13:28 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/scheduler/manager.py", line 92, in _schedule
2012-08-09 09:13:28 TRACE nova.rpc.amqp     return driver_method(*args, **kwargs)
2012-08-09 09:13:28 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/scheduler/driver.py", line 222, in schedule_live_migration
2012-08-09 09:13:28 TRACE nova.rpc.amqp     disk_over_commit)
2012-08-09 09:13:28 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/scheduler/driver.py", line 322, in _live_migration_common_check
2012-08-09 09:13:28 TRACE nova.rpc.amqp     self.mounted_on_same_shared_storage(context, instance_ref, dest)
2012-08-09 09:13:28 TRACE nova.rpc.amqp   File "/usr/lib/python2.7/dist-packages/nova/scheduler/driver.py", line 521, in mounted_on_same_shared_storage
2012-08-09 09:13:28 TRACE nova.rpc.amqp     raise exception.FileNotFound(file_path=filename)
2012-08-09 09:13:28 TRACE nova.rpc.amqp FileNotFound: File tmpqUEm34 could not be found.
2012-08-09 09:13:28 TRACE nova.rpc.amqp
2012-08-09 09:13:28 ERROR nova.rpc.amqp [req-0ed136e0-7694-4320-9f95-7a129bfa459a 6ed9496e07724c969e1e470e9ea4621e f4c42d279f124477a487c57f2a96d2df] Returning exception File tmpqUEm34 could not be found. to caller
2012-08-09 09:13:28 ERROR nova.rpc.amqp [req-0ed136e0-7694-4320-9f95-7a129bfa459a 6ed9496e07724c969e1e470e9ea4621e f4c42d279f124477a487c57f2a96d2df] ['Traceback (most recent call last):\n', '  File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 253, in _process_data\n    rval = node_func(context=ctxt, **node_args)\n', '  File "/usr/lib/python2.7/dist-packages/nova/scheduler/manager.py", line 97, in _schedule\n    context, ex, *args, **kwargs)\n', '  File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__\n    self.gen.next()\n', '  File "/usr/lib/python2.7/dist-packages/nova/scheduler/manager.py", line 92, in _schedule\n    return driver_method(*args, **kwargs)\n', '  File "/usr/lib/python2.7/dist-packages/nova/scheduler/driver.py", line 222, in schedule_live_migration\n    disk_over_commit)\n', '  File "/usr/lib/python2.7/dist-packages/nova/scheduler/driver.py", line 322, in _live_migration_common_check\n    self.mounted_on_same_shared_storage(context, instance_ref, dest)\n', '  File "/usr/lib/python2.7/dist-packages/nova/scheduler/driver.py", line 521, in mounted_on_same_shared_storage\n    raise exception.FileNotFound(file_path=filename)\n', 'FileNotFound: File tmpqUEm34 could not be found.\n']


libvirtError: internal error Process exited while reading console log output: chardev: opening backend "file" failed: Permission denied
nfs共享的文件夾權限不夠
明明已經777了

nfs4配置與其他機器不同
計算節點的/etc/fstab <nfs-hostname>:/ /var/lib/nova/instances nfs4 defaults 0 0
nfs服務器的修改/etc/exports 內容如下:/var/lib/nova/instances *(rw,sync,no_root_squash,no_subtree_check,fsid=0)


3,遷移前配置修改每臺節點libvirt修改/etc/libvirt/libvirtd.conf 文件如下:改前 : #listen_tls = 0改後: listen_tls = 0改前 : #listen_tcp = 1改後: listen_tcp = 1添加: auth_tcp = “none” 修改 /etc/init/libvirt-bin.conf改前 : exec /usr/sbin/libvirtd $libvirtd_opts改後 : exec /usr/sbin/libvirtd -d -l修改 /etc/default/libvirt-bin改前 :libvirtd_opts=” -d”改後 :libvirtd_opts=” -d -l”修改/etc/libvirtd/qemu.conf去掉下面三行註釋#vnc_listen = “0.0.0.0″ 此行可可不修改user = “root”group = “root"sudo /etc/init.d/libvirt-bin restart

nova-compute.log:
2012-08-09 13:13:03 ERROR nova.manager [-] Error during ComputeManager.update_available_resource: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
2012-08-09 13:13:03 TRACE nova.manager Traceback (most recent call last):
2012-08-09 13:13:03 TRACE nova.manager   File "/usr/lib/python2.7/dist-packages/nova/manager.py", line 155, in periodic_tasks
2012-08-09 13:13:03 TRACE nova.manager     task(self, context)
2012-08-09 13:13:03 TRACE nova.manager   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2409, in update_available_resource
2012-08-09 13:13:03 TRACE nova.manager     self.driver.update_available_resource(context, self.host)
2012-08-09 13:13:03 TRACE nova.manager   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line 1936, in update_available_resource
2012-08-09 13:13:03 TRACE nova.manager     'vcpus_used': self.get_vcpu_used(),
2012-08-09 13:13:03 TRACE nova.manager   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line 1742, in get_vcpu_used
2012-08-09 13:13:03 TRACE nova.manager     for dom_id in self._conn.listDomainsID():
2012-08-09 13:13:03 TRACE nova.manager   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line 298, in _get_connection
2012-08-09 13:13:03 TRACE nova.manager     self.read_only)
2012-08-09 13:13:03 TRACE nova.manager   File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py", line 341, in _connect
2012-08-09 13:13:03 TRACE nova.manager     return libvirt.openAuth(uri, auth, 0)
2012-08-09 13:13:03 TRACE nova.manager   File "/usr/lib/python2.7/dist-packages/libvirt.py", line 102, in openAuth
2012-08-09 13:13:03 TRACE nova.manager     if ret is None:raise libvirtError('virConnectOpenAuth() failed')
2012-08-09 13:13:03 TRACE nova.manager libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
2012-08-09 13:13:03 TRACE nova.manager

libvirt.log:
2012-08-09 08:29:38.318+0000: 346: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:38.318+0000: 346: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:39.271+0000: 469: info : libvirt version: 0.9.8
2012-08-09 08:29:39.271+0000: 469: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:39.271+0000: 469: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:40.064+0000: 591: info : libvirt version: 0.9.8
2012-08-09 08:29:40.064+0000: 591: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:40.064+0000: 591: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:40.745+0000: 706: info : libvirt version: 0.9.8
2012-08-09 08:29:40.745+0000: 706: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:40.745+0000: 706: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:41.395+0000: 820: info : libvirt version: 0.9.8
2012-08-09 08:29:41.395+0000: 820: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:41.395+0000: 820: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:42.092+0000: 942: info : libvirt version: 0.9.8
2012-08-09 08:29:42.092+0000: 942: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:42.092+0000: 942: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:42.745+0000: 1058: info : libvirt version: 0.9.8
2012-08-09 08:29:42.745+0000: 1058: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:42.745+0000: 1058: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:43.968+0000: 1058: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:43.969+0000: 1058: warning : lxcCapsInit:77 : Failed to get host power management capabilities
2012-08-09 08:29:43.969+0000: 1058: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:43.969+0000: 1058: warning : umlCapsInit:87 : Failed to get host power management capabilities
2012-08-09 08:29:44.068+0000: 1048: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:44.068+0000: 1048: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:45.018+0000: 1045: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:45.018+0000: 1045: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:50.838+0000: 1211: info : libvirt version: 0.9.8
2012-08-09 08:29:50.838+0000: 1211: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:50.838+0000: 1211: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:52.072+0000: 1211: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:52.073+0000: 1211: warning : lxcCapsInit:77 : Failed to get host power management capabilities
2012-08-09 08:29:52.073+0000: 1211: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:52.073+0000: 1211: warning : umlCapsInit:87 : Failed to get host power management capabilities
2012-08-09 08:29:52.150+0000: 1201: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:52.150+0000: 1201: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:53.193+0000: 1197: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:29:53.193+0000: 1197: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:29:54.057+0000: 1196: error : virNetSocketReadWire:996 : End of file while reading data: Input/output error
2012-08-09 08:40:46.124+0000: 1581: info : libvirt version: 0.9.8
2012-08-09 08:40:46.124+0000: 1581: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:40:46.124+0000: 1581: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:40:47.364+0000: 1581: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:40:47.365+0000: 1581: warning : lxcCapsInit:77 : Failed to get host power management capabilities
2012-08-09 08:40:47.365+0000: 1581: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:40:47.365+0000: 1581: warning : umlCapsInit:87 : Failed to get host power management capabilities
2012-08-09 08:40:47.460+0000: 1571: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:40:47.460+0000: 1571: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:40:48.312+0000: 1570: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-09 08:40:48.312+0000: 1570: warning : qemuCapsInit:856 : Failed to get host power management capabilities
2012-08-09 08:40:49.094+0000: 1567: error : virNetSocketReadWire:996 : End of file while reading data: Input/output error

重裝,跳過此錯誤
worker1 存儲節點故障,擱置

2012-08-12 23:36:37.652+0000: 24256: error : virExecWithHook:328 : Cannot find 'pm-is-supported' in path: No such file or directory
2012-08-12 23:36:37.652+0000: 24256: warning : qemuCapsInit:856 : Failed to get host power management capabilities
此錯誤爲缺少電源管理的包,可忽略
sudo apt-get -y install pm-utils

遷移worker1到worker2:沒報錯,但是虛擬機還在worker1
libvirt.log:
error : virNetClientProgramDispatchError:174 : Unable to read from monitor: Connection reset by peer
nova.conf中vnc監聽改爲全網0.0.0.0,不明白爲什麼和vnc有關

 

 

目前尚未解決的詭異問題:

1.重啓All-In-One帶實例的控制節點,控制節點上的nova-compute沒啓動起來,檢查日誌說是連接RabbitMQ超時

其他計算節點的功能完好,手動重啓控制節點的nova-compute又重啓成功

刪除實例,重啓系統成功

關閉計算節點,重啓成功

 

2.分配FloatingIP後,關聯虛擬機,開始時ping得通,ssh也可以用,部署HTTP後

過一陣子,ssh不通,ping不了,遠程不了,只能通過dashboard連接但是,訪問外部網絡失敗

可是!!!居然部署的HTTP服務依然正常提供服務。

持續更新中......

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章