iscsiadm:未找到门户

iscsiadm:未找到门户

我收到一条错误消息,提示“Trace nova Stderr:'iscsiadm:No portal found.\n'。Trace nova 命令:sudo nova-rootwrap iscsiadm -m node -T iqn.2010-10.org.openstack:volume-0000003 -p :3260 --rescan

如果需要更多信息,请告诉我。提前致谢。

更新:

有两台服务器
1. 控制节点(主机名:cc)
2. 计算节点(主机名:nc)

操作系统:Ubuntu 12.04(无头)
Openstack 风格:埃塞克斯

直到上周,我们的设置都运行良好。但是,当我们想要安装 Ubuntu 桌面以摆脱 Headless 并获得一些漂亮的屏幕时,我们必须输入命令(在 cc host 中)

#sudo apt-get install ubuntu-desktop

然后,我们所有的问题就开始了。我注意到,它正在删除 Apache、Openstack – 仪表板和 nova 卷,也没有任何事先通知或确认。它甚至没有更新这些东西。

因此我们所有的虚拟机实例都崩溃了。

然后,当我运行 #sudo nova-manage service list 时,它会向我显示 nova-volume 和 nova-compute 的 XXX。我们重新安装了 nova-volume,将状态从 XXX 更改为 :-)。

然后,我们尝试了我们知道的所有方法,例如重新安装 apahce2、重新安装 openstack-dashboard、apt-get update、apt-get upgrade、从 mysql 中删除可疑记录、删除 lvm。

经过上述步骤,我们终于可以启动并运行我们的 openstack 仪表板了。现在,我们关心的是 nova-compute 服务,它在服务列表中显示 XXX。

尝试 1:当我们将 nova.conf 文件更改为 start_guests_on_host_boot=false 和 resume_guests_state_on_host_boot=false 并重新启动 cc 主机时,重新启动后所有服务均显示 :-)。现在,当我检查仪表板时,它显示所有虚拟机的状态为“已关闭”,并且旋转器正在旋转。

尝试2:当我们将 nova.conf 文件更改为 start_guests_on_host_boot=true 和 resume_guests_state_on_host_boot=true 并重新启动 cc 主机时,重新启动后它会显示 nova-compute 服务的 XXX。当我们检查 /var/log/nova/nova-compute.log 文件时,它显示了类似以下错误

iscsiadm: No portal found. \n'. Trace nova Command: sudo nova-rootwrap iscsiadm -m node -T iqn.2010-10.org.openstack: volume-0000003 -p: 3260 --rescan

修复上述问题:
1.将nova conf中的两个flags改为true。
2.执行#apt-get remove --purge iscsitarget
3.重启cc主机。
4.执行#/etc/init.d/open-iscsi restart。
5.执行#sudo /etc/init.d/networking restart
6.执行#sudo service ntp restart
7.执行#sudo service tgt restart
8.执行#sudo nova-manage db sync
9.重启cc主机的nova-volume、nova-compute、nova-cert、nova-network、nova-scheduler、nova-consoleauth。

修复结果: 当我们运行以下命令时,我们能够获得(之前没有获得过)卷列表
#iscsiadm -m discovery -t sendtargets -p :3260
CC_HOST_IP:3260, 1 iqn.2010-10.org.openstack: volume-00000007
CC_HOST_IP:3260, 1 iqn.2010-10.org.openstack: volume-00000005
CC_HOST_IP:3260, 1 iqn.2010-10.org.openstack: volume-00000014
CC_HOST_IP:3260, 1 iqn.2010-10.org.openstack: volume-00000003
CC_HOST_IP:3260, 1 iqn.2010-10.org.openstack: volume-0000000f
CC_HOST_IP:3260, 1 iqn.2010-10.org.openstack: volume-00000013
CC_HOST_IP:3260, 1 iqn.2010-10.org.openstack: volume-00000004
CC_HOST_IP:3260, 1 iqn.2010-10.org.openstack: volume-00000008

但所有虚拟机仍处于关闭状态,旋转器连续旋转了整整一天。我们注意到,我们能够 ping 一些虚拟机,并且还可以使用 MSTSC 连接到它们。

现在,我们在计算日志中没有看到 Portal not found 错误。但我们注意到错误信息如下。

libvirtError: Unable to allow access for disk path /dev/disk/by-path/ip-:3260-iscsi-iqn.2010-10.org.openstack:volume-00000017-lun-1: No such file or directory

供您参考,作为我研发的一部分,我已删除(lvremove volume-17)与此相关的 lvm。

当前状态:在 cc 主机上,获取以下错误

libvirtError: Unable to allow access for disk path /dev/disk/by-path/ip-:3260-iscsi-iqn.2010-10.org.openstack:volume-00000017-lun-1: No such file or directory

在 nc 主机上,出现以下错误

libvirtError: Unable to allow access for disk path /dev/disk/by-path/ip-:3260-iscsi-iqn.2010-10.org.openstack:volume-00000020-lun-1: No such file or directory

输入:
1. 我们这里没有 cinder。只有 nova-volume、nova-compute、nova-cert、nova-network、nova-scheduler、nova-consoleauth。2.
服务的当前状态是

Binary Host Zone Status State Updated_At nova-network cc nova enabled :-) 2016-05-19 13:48:48
nova-compute cc nova enabled XXX 2016-05-19 11:37:23
nova-scheduler cc nova enabled :-) 2016-05-19 13:48:51
nova-volume cc nova enabled :-) 2016-05-19 13:48:48
nova-consoleauth cc nova enabled :-) 2016-05-19 13:48:50
nova-cert cc nova enabled :-) 2016-05-19 13:48:49
nova-compute nc nova enabled XXX 2016-05-19 11:37:13
nova-volume nc nova enabled :-) 2016-05-19 13:48:44

  1. 是的,tgt 正在运行。 root@cc:/dev/disk/by-path# sudo service tgt status tgt start/running, process 2583

  2. 配置文件如下。
    cc 主机上的 nova.conf: --dhcpbridge_flagfile=/etc/nova/nova.conf --my_ip= --dhcpbridge=/usr/bin/nova-dhcpbridge --logdir=/var/log/nova --debug = true --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 --max_cores=106 --s3_host= --ec2_host= --rabbit_host= --cc_host= --nova_url=http://:8774/v1.1/ --routing_source_ip= --glance_api_servers=:9292 --image_service=nova.image.glance.GlanceImageService --iscsi_ip_prefix=192.168.4 --sql_connection=mysql://nova:nova@/nova --ec2_url=http://:8773/services/Cloud --keystone_ec2_url=http://: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 --novnc_enabled=true --novncproxy_base_url=http://:6080/vnc_auto.html --vncserver_proxyclient_address= --vncserver_listen= --vncserver_listen=0.0.0.0 --network_manager=nova.network.manager.FlatDHCPManager --public_interface=eth0 --flat_interface=eth1 --flat_network_bridge=br100 --fixed_range=192.xxx.y.1/27 --floating_range=/27 --network_size=32 --flat_network_dhcp_start=192.xxx.y.33 --flat_injected=False --force_dhcp_release=True --iscsi_helper=tgtadm --connection_type=libvirt --root_helper=sudo nova-rootwrap --verbose

nc 主机上的 nova.conf:
--dhcpbridge_flagfile=/etc/nova/nova.conf --my_ip= --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 --max_cores=106 --s3_host= --ec2_host= --rabbit_host= --cc_host= --nova_url=http://:8774/v1.1/ --routing_source_ip= --glance_api_servers=:9292 --image_service=nova.image.glance.GlanceImageService --iscsi_ip_prefix=192.xxx.y --sql_connection=mysql://nova:cyient#3@/nova --ec2_url=http://:8773/services/Cloud --keystone_ec2_url=http://: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 --novnc_enabled=true --novncproxy_base_url=http://:6080/vnc_auto.html --vncserver_proxyclient_address= --vncserver_listen=0.0.0.0 --network_manager=nova.network.manager.FlatDHCPManager --public_interface=eth0 --flat_interface=eth1 --flat_network_bridge=br100 --fixed_range=192.xxx.y.1/27 --floating_range=/27 --network_size=32 --flat_network_dhcp_start=192.xxx.y.33 --flat_injected=false --force_dhcp_release=true --iscsi_helper=tgtadm --connection_type=libvirt --root_helper=sudo nova-rootwrap --verbose

更新:通过下面解释的步骤修复了上述两个错误

  1. 在 cc host 中,我制作了标志start_guests_on_host_boot=falseresume_guests_state_on_host_boot
  2. 重新启动 cc 和 nc 主机。
  3. 重启后,所有 nova 服务均显示出来:-)
  4. 从 mysql db 中删除已删除状态为 1 的记录。
  5. 将每个虚拟机的状态更改为mysql: update instances set vm_state='active', task_state = NULL, power_state = 1 where uuid = INSTANCE_UUID
  6. 使用命令重新启动每个虚拟机#nova reboot --hard INSTANCE_UUID
  7. 这解决了我的问题并使我的所有虚拟机正常运行。
  8. 将上述两个布尔标志恢复为 true 并重新启动 cc 主机。
  9. 重启后,所有 nova 服务:-)和所有虚拟机均已启动并运行。

相关内容