多节点时,网络控制器与计算节点分别在不同主机,普通部署方式下(不是multi_host),只有nova-network控制网络,而它仅仅在控制节点运行。因此,所有计算节点的实例都需要通过控制节点来与外网通信。
可以通过multi_host等高可用性部署方式改变这个单点故障问题。
计算节点的nova.conf并不是与控制节点完全一样,主要是
--vncserver_proxyclient_address=
--vncserver_listen=
应该是计算节点的ip。
2.2、OpenStack执行 virsh -c qemu:///system list,一直挂起在那里(hang),怎么解决
killall -9 dmidecode
dmidecode是一个管理工具,在虚拟机装OpenStack中需要用到,用在libvirt中,但在有的机器中会出现hang up的情况,这时候需要kill掉它。
2.3、OpenStack中虚拟化技术在哪里配置
主要两个文件:nova.conf nova-compute.conf。
其中的虚拟技术应该一致,比如都为kvm,或者都为qemu。
2.4、OpenStack中虚拟机中nova-compute经常启动失败,virsh list显示空白,怎么解决
1. 在vmware workstation上的虚拟机需要修改 *.vmx文件
vcpu.hotadd = "TRUE"
变更为
vcpu.hotadd = "FALSE"
重新启动机器,如果执行命令:
virsh
进入控制台就没有问题了。
2. 修改nova配置文件/etc/nova/nova.conf
#--libvirt_type=kvm
更改为qemu
--libvirt_type=qemu
3. 修改/etc/nova/nova-compute.conf
--libvirt_type=qemu
4. 重新启动nova-compute,如果libvirt报错
/var/log/libvirt/libvirtd.log
Cannot find 'pm-is-supported' in path: No such file or directory
报错后需要安装
apt-get install pm-utils
2.5、noVNC不能连接到实例,提示“Connection Refuesd”,什么原因
可能是控制节点在收到vnc请求的时候,无法解析计算节点的主机名,从而无法和计算节点上的实例建立连接。
另外可能是,当前浏览器不支持或者不能访问,将计算节点的ip和主机名的对应关系加入到控制节点的/etc/hosts文件中。
三、存储、卷问题-volume、lvm
3.1、OpenStack中创建volume一直在creating,什么原因
主要因为nova-volume没有正常启动,可以
nova-manage service list
看看后面的状态,不是笑脸:-)而是xx。如果没有启动,请看下一条。
3.2、OpenStack中nova-volume服务不能启动,什么原因
主要因为没有nova-volumes卷组,或者iscsitarget服务没有启动(或者没有安装)。
1、vgdisplay
没有nova-volumes卷组,可以创建卷组和磁盘
$ dd if=/dev/zero of=/opt/nova-volumes.img bs=1M seek=100000 count=0
$ losetup -f /opt/nova-volumes.img
$ losetup -a
$ vgcreate nova-volumes /dev/loop0
记着启动nova-volume然后创建volume,否则下面仍然不能创建
$ service nova-volume restart
$ nova volume-create --display_name "volume1" 10
2、service iscsitarget status
1)没有安装iscsitarget,可以apt安装;
然后执行以下命令安装和设置为可以启动
apt-get install -y iscsitarget iscsitarget-dkms lvm2
sed -i -e 's/false/true/' /etc/default/iscsitarget
service iscsitarget start
service nova-volume start
2)状态为stop,可以start
service iscsitarget start
3)如果既没有nova-volumes卷组,也没有安装iscsitarget,切忌保证这两者都存在,然后重启nova-volume,再创建volume
有人安装iscsitarget并启动后就create,结果nova-volume并没有启动,所以问题依然存在;
有人创建nova-volumes,也没有重启nova-volume,也不能正常工作。
3.3、OpenStack中创建volume一直在creating,怎么停掉(stop)
主要因为nova-volume没有正常启动,可以
nova-manage service list
看看后面的状态,不是笑脸:-)而是xx。如果没有启动,请看下一条。
3.4、OpenStack中nova-volume执行出现问题,检查什么地方
主要因为nova-volume没有正常启动或者计算节点没有能找到target,可以检查以下这些问题。
nova-volume是否正常;控制点,详见问题3.2
iscsitarget是否开启;服务端
open-iscsi是否安装和开启;客户端
客户端(计算节点)iscsiadm discovery看看能不能找到存储服务;
分析nova-volume.log。
3.5、OpenStack中nova-volume管理target
控制节点查看target
tgtadm --lld iscsi --op show --mode target
建立target
sudo tgtadm --op new --lld=iscsi --mode=target --tid=1 --targetname=iqn.2010-10.org.openstack:volume-00000001