openstack建立執行個體失敗,bug(1)解決辦法

來源:互聯網
上載者:User

先說出我找見錯誤是在哪裡,雖然是很小的失誤,但還是得注意
1,一次不小心把控制節點的主機名稱給修改了,然後就導致keystone工作不正常,訊息機制出現錯誤。把控制節點的主機名稱改回來到原來的主機名稱就可以了。
2,建立執行個體出現錯誤:

查看nova-compute.log 看到的是:

Starting instan
ce…
2017-05-16 15:10:55.461 3677 WARNING nova.compute.resource_tracker [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Host field should not be set on the instance unt
il resources have been claimed.
2017-05-16 15:10:55.461 3677 WARNING nova.compute.resource_tracker [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Node field should not be set on the instance unt
il resources have been claimed.
2017-05-16 15:10:55.464 3677 AUDIT nova.compute.claims [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Attempting claim: memory 512 MB, disk 1 GB
2017-05-16 15:10:55.464 3677 AUDIT nova.compute.claims [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Total memory: 9891 MB, used: 8192.00 MB
2017-05-16 15:10:55.465 3677 AUDIT nova.compute.claims [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] memory limit not specified, defaulting to unlimited
2017-05-16 15:10:55.465 3677 AUDIT nova.compute.claims [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Total disk: 196 GB, used: 93.00 GB
2017-05-16 15:10:55.466 3677 AUDIT nova.compute.claims [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] disk limit not specified, defaulting to unlimited
2017-05-16 15:10:55.482 3677 AUDIT nova.compute.claims [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Claim successful
2017-05-16 15:10:55.818 3677 INFO nova.scheduler.client.report [-] Compute_service record updated for (‘sles11sp3x64-hsm1-vm3’, ‘sles11sp3x64-hsm1-vm3.istl.chd.edu.cn’)
2017-05-16 15:10:55.871 3677 INFO nova.network.neutronv2.api [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Unable to reset device ID for port None
2017-05-16 15:10:56.350 3677 INFO nova.scheduler.client.report [-] Compute_service record updated for (‘sles11sp3x64-hsm1-vm3’, ‘sles11sp3x64-hsm1-vm3.istl.chd.edu.cn’)
2017-05-16 15:10:56.657 3677 INFO nova.virt.libvirt.driver [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Creating image
2017-05-16 15:10:56.752 3677 INFO nova.virt.disk.vfs.api [-] Unable to import guestfsfalling back to VFSLocalFS
2017-05-16 15:10:56.754 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:10:56.754 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:10:56.943 3677 INFO nova.scheduler.client.report [-] Compute_service record updated for (‘sles11sp3x64-hsm1-vm3’, ‘sles11sp3x64-hsm1-vm3.istl.chd.edu.cn’)
2017-05-16 15:10:58.755 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:10:58.756 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:00.758 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:00.759 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:02.762 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:02.763 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:04.766 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:04.767 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:06.769 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:06.770 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:08.771 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:08.772 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:10.774 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:10.775 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:10.775 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:12.778 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:12.779 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:14.781 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:14.782 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:16.784 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:16.785 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:18.786 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:18.788 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:20.790 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:20.791 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:22.793 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:22.794 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:24.795 3677 ERROR nova.virt.disk.mount.nbd [-] nbd module not loaded
2017-05-16 15:11:24.796 3677 INFO nova.virt.disk.mount.api [-] Device allocation failed. Will retry in 2 seconds.
2017-05-16 15:11:26.797 3677 WARNING nova.virt.disk.mount.api [-] Device allocation failed after repeated retries.
2017-05-16 15:11:26.798 3677 INFO nova.virt.libvirt.driver [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Using config drive
2017-05-16 15:11:26.892 3677 INFO nova.virt.libvirt.driver [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Creating config drive at /var/lib/nova/instances/9cd465f
8-76ec-40c2-8222-04796818f552/disk.config
2017-05-16 15:11:26.987 3677 ERROR nova.compute.manager [-] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Instance failed to spawn
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Traceback (most recent call last):
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] File “/usr/lib64/python2.6/site-packages/nova/compute/manager
.py”, line 2317, in _build_resources
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] yield resources
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] File “/usr/lib64/python2.6/site-packages/nova/compute/manager
.py”, line 2187, in _build_and_run_instance
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] block_device_info=block_device_info)
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] File “/usr/lib64/python2.6/site-packages/nova/virt/libvirt/driver.py”, line 2682, in spawn
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] write_to_disk=True)
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] File “/usr/lib64/python2.6/site-packages/nova/virt/libvirt/dr
iver.py”, line 4212, in _get_guest_xml
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] context)
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] File “/usr/lib64/python2.6/site-packages/nova/virt/libvirt/dr
iver.py”, line 3990, in _get_guest_config
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] flavor, CONF.libvirt.virt_type)
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] File “/usr/lib64/python2.6/site-packages/nova/virt/libvirt/vif.py”, line 358, in get_config
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] _(“Unexpected vif_type=%s”) % vif_type)
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552] NovaException: Unexpected vif_type=binding_failed
2017-05-16 15:11:26.987 3677 TRACE nova.compute.manager [instance: 9cd465f8-76ec-40c2-8222-04796818f552]
2017-05-16 15:11:26.989 3677 AUDIT nova.compute.manager [req-50e1bc3a-ebb8-4ec5-979d-c3db0f0e2fe0 None] [instance: 9cd465f8-76ec-40c2-8222-04796818f552] Terminating ins
Tance

首先我們要做的是:
1、檢查openstack的各個組件是否正常工作
查看nova組件:

命令:nova service-list

查看neutron組件是否正常工作:
命令:neutron agent-list



感覺是這個neutron-openvswitch-agent出問題了

neutron-openvswitch-agent只是Neutron的一個網路外掛程式,那麼什麼是openvswitch,這裡我們需要瞭解下:

OpenvSwitch,簡稱OVS是一個虛擬交換軟體,主要用於虛擬機器VM環境,作為一個虛擬交換器,支援Xen/XenServer, KVM, and VirtualBox多種虛擬化技術。

在這種某一台機器的虛擬化的環境中,一個虛擬交換器(vswitch)主要有兩個作用:傳遞虛擬機器VM之間的流量,以及實現VM和外界網路的通訊。

在openstack中目前用的比較多的L2層agent應該就是openvswitch agent了。本文大致分析了一下openvswithc agent做了哪些事。

看一下openvswitch agent的啟動:
1.neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:main()
2. plugin = OVSNeutronAgent(**agent_config)
3. self.setup_rpc()
4. self.plugin_rpc = OVSPluginApi(topics.PLUGIN)
5. self.state_rpc = agent_rpc.PluginReportStateAPI(topics.PLUGIN)
6. self.connection = agent_rpc.create_consumers(…)
7. heartbeat = loopingcall.FixedIntervalLoopingCall(self._report_state)
8. self.setup_integration_br()
9. self.setup_physical_bridges(bridge_mappings)
10. self.sg_agent = OVSSecurityGroupAgent(…)
11. plugin.daemon_loop()
12. self.rpc_loop()
13. port_info = self.update_ports(ports)
14. sync = self.process_network_ports(port_info)
複製代碼

啟動時做了以下工作:
1. 設定plugin_rpc,這是用來與neutron-server通訊的。
2. 設定state_rpc,用於agent狀態資訊上報。
3. 設定connection,用於接收neutron-server的訊息。
4. 啟動狀態周期上報。
5. 設定br-int。
6. 設定bridge_mapping對應的橋接器。
7. 初始化sg_agent,用於處理security group。
8. 周期檢測br-int上的連接埠變化,調用process_network_ports處理添加/刪除連接埠。
首先boot虛機時,nova-compute發訊息給neutron-server請求建立port。之後,在driver裡面在br-int上建立port後,neutron-openvswitch-port迴圈檢測br-int會發現新增連接埠,對其設定合適的openflow規則以及localvlan,最後將port狀態設定為ACTIVE。

所以我們要做的是把vm3 上的neutron-openvswitch-agent 給變成正常,
命令:/sbin/service openstack-neutron-openvswitch-agent restart

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.