Below you will find pages that utilize the taxonomy term “Xen”
nova 配置 XCP Dom0时可能遇到的问题
-
安装Dom0插件时在XCP的Dom0中找不到 /etc/xen.d/plugins 目录。这是因为 XCP 的插件是放在 /usr/lib/xcp/plugins 下的。来源在这里的“Key differences from XenServer and XCP ISO”一节。
-
插件安装完毕后,nova-compute 无法启动,traceback中有找不到 /usr/etc/xenhost.conf 的提示。解决方法是在 Dom0 的插件中修改 xenhost 文件,将第46行改为:
config_file_path = “/etc/xcp/xenhost.conf”
来源在这里。
-
nova-compute 依然无法启动,报错信息如下
sudo nova-compute
2014-03-01 14:11:20.348 5959 INFO nova.openstack.common.periodic_task [-] Skipping periodic task _periodic_update_dns because its interval is negative
2014-03-01 14:11:20.368 5959 INFO nova.virt.driver [-] Loading compute driver ‘xenapi.XenAPIDriver’
2014-03-01 14:11:20.525 5959 INFO nova.openstack.common.rpc.common [req-90c2354c-49ad-43d4-be9e-47d93e08c480 None None] Connected to AMQP server on 10.2.0.51:5672
2014-03-01 14:11:20.531 5959 INFO nova.openstack.common.rpc.common [req-90c2354c-49ad-43d4-be9e-47d93e08c480 None None] Connected to AMQP server on 10.2.0.51:5672
2014-03-01 14:11:20.545 5959 AUDIT nova.service [-] Starting compute node (version 2013.2.1)
Traceback (most recent call last):
File “/usr/lib/python2.7/dist-packages/eventlet/hubs/poll.py”, line 97, in wait
readers.get(fileno, noop).cb(fileno)
File “/usr/lib/python2.7/dist-packages/eventlet/greenthread.py”, line 194, in main
result = function(*args, **kwargs)
File “/usr/lib/python2.7/dist-packages/nova/openstack/common/service.py”, line 65, in run_service
service.start()
File “/usr/lib/python2.7/dist-packages/nova/service.py”, line 164, in start
self.manager.pre_start_hook()
File “/usr/lib/python2.7/dist-packages/nova/compute/manager.py”, line 796, in pre_start_hook
self.update_available_resource(nova.context.get_admin_context())
File “/usr/lib/python2.7/dist-packages/nova/compute/manager.py”, line 4871, in update_available_resource
nodenames = set(self.driver.get_available_nodes())
File “/usr/lib/python2.7/dist-packages/nova/virt/driver.py”, line 956, in get_available_nodes
stats = self.get_host_stats(refresh=refresh)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 596, in get_host_stats
return self.host_state.get_host_stats(refresh=refresh)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 154, in host_state
self._host_state = host.HostState(self._session)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/host.py”, line 153, in __init__
self.update_status()
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/host.py”, line 170, in update_status
sr_ref = vm_utils.scan_default_sr(self._session)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1662, in scan_default_sr
_scan_sr(session, sr_ref)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1656, in _scan_sr
do_scan(sr_ref)
File “/usr/lib/python2.7/dist-packages/nova/openstack/common/lockutils.py”, line 246, in inner
return f(*args, **kwargs)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1655, in do_scan
attempt += 1
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1646, in do_scan
return session.call_xenapi(‘SR.scan’, sr_ref)
File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 779, in call_xenapi
return session.xenapi_request(method, args)
File “/usr/lib/python2.7/dist-packages/XenAPI.py”, line 139, in xenapi_request
result = _parse_result(getattr(self, methodname)(*full_params))
File “/usr/lib/python2.7/dist-packages/XenAPI.py”, line 209, in _parse_result
raise Failure(result[‘ErrorDescription’])
Failure: [‘HANDLE_INVALID’, ‘SR’, ‘OpaqueRef:NULL’]
Removing descriptor: 5
2014-03-01 14:11:21.410 5959 ERROR nova.openstack.common.threadgroup [-] [‘HANDLE_INVALID’, ‘SR’, ‘OpaqueRef:NULL’]
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup Traceback (most recent call last):
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/openstack/common/threadgroup.py”, line 117, in wait
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup x.wait()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/openstack/common/threadgroup.py”, line 49, in wait
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return self.thread.wait()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/eventlet/greenthread.py”, line 168, in wait
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return self._exit_event.wait()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/eventlet/event.py”, line 116, in wait
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return hubs.get_hub().switch()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py”, line 187, in switch
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return self.greenlet.switch()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/eventlet/greenthread.py”, line 194, in main
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup result = function(*args, **kwargs)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/openstack/common/service.py”, line 65, in run_service
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup service.start()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/service.py”, line 164, in start
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup self.manager.pre_start_hook()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/compute/manager.py”, line 796, in pre_start_hook
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup self.update_available_resource(nova.context.get_admin_context())
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/compute/manager.py”, line 4871, in update_available_resource
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup nodenames = set(self.driver.get_available_nodes())
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/driver.py”, line 956, in get_available_nodes
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup stats = self.get_host_stats(refresh=refresh)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 596, in get_host_stats
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return self.host_state.get_host_stats(refresh=refresh)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 154, in host_state
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup self._host_state = host.HostState(self._session)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/host.py”, line 153, in __init__
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup self.update_status()
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/host.py”, line 170, in update_status
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup sr_ref = vm_utils.scan_default_sr(self._session)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1662, in scan_default_sr
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup _scan_sr(session, sr_ref)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1656, in _scan_sr
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup do_scan(sr_ref)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/openstack/common/lockutils.py”, line 246, in inner
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return f(*args, **kwargs)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1655, in do_scan
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup attempt += 1
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py”, line 1646, in do_scan
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return session.call_xenapi(‘SR.scan’, sr_ref)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/nova/virt/xenapi/driver.py”, line 779, in call_xenapi
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup return session.xenapi_request(method, args)
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/XenAPI.py”, line 139, in xenapi_request
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup result = _parse_result(getattr(self, methodname)(*full_params))
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup File “/usr/lib/python2.7/dist-packages/XenAPI.py”, line 209, in _parse_result
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup raise Failure(result[‘ErrorDescription’])
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup Failure: [‘HANDLE_INVALID’, ‘SR’, ‘OpaqueRef:NULL’]
2014-03-01 14:11:21.410 5959 TRACE nova.openstack.common.threadgroup
XCP 建立本地 SR 的方法
Debian/Ubuntu 下安装的 xcp-xapi 没有lvm选项,不能建立LVM类型的SR。
建立ext类型的SR命令如下
<br></br>xe sr-create content-type=user device-config:device=/dev/<logic group="" volume="">/<logic volume=""> host-uuid=01b393cd-a93d-14db-f3ef-b9e490736187 name-label="Local Storage" shared=false type=ext<br></br></logic></logic>
可以使用逻辑卷或硬盘设备如 /dev/sdb
XCP 建立新版本系统 template 的方法
参考自这里
-
执行
<br></br>xe template-list | grep -B1 name-label | awk -F: '{print $2}'<br></br>获得所有现存系统的模板
-
执行
<br></br>xe vm-clone uuid=<uuid> new-name-label="<name>"<br></br></name></uuid>复制模板
注意,模板复制完成后,在建立VM时和系统默认模板的建立向导是有区别的。系统默认的模板在建立VM时会询问安装文件的地址,而这个模板不会。我们需要执行
<br></br>xe vm-param-set uuid=<vm uuid=""> other-config:install-repository=http://us.archive.ubuntu.com/ubuntu/<br></br></vm>
手动设置。否则VM会无法引导。
Debian在安装完 xcp-xapi 后的常规配置
-
在安装完重启后,Debian会丢失网络连接。此时正确的配置方法不是修改 /etc/network/interfaces ,而是保持 /etc/network/interfaces 中“只有” lo 。然后通过 xe pif-reconfigure-ip 来进行配置。
-
如果 XenCenter 无法连接到服务器,且在服务器上执行 netstat -an 看到80端口只在 127.0.0.1 监听,那么需要修改 /etc/xcp/inventory 中的 MANAGEMENT_INTERFACE=’xenbr0′ 为正确的网桥。
-
允许非root用户登入。首先需要增加该用户到 xapi 组
<br></br>usermod <username> -a -G xapi<br></br></username>然后修改 /etc/pam.d/xapi ,取消注释第五行
# Uncomment this line to allow users of group xapi to authenticate
auth sufficient pam_succeed_if.so user ingroup xapi并注释掉第二行(参考自这里)
#@include common-auth