亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

OpenStack安裝部署Liberty Neutron

2024-09-01 13:49:03
字體:
來源:轉載
供稿:網友

最近在兩臺物理機環境中部署了OpenStack的Liberty版本,各個模塊都遇到或多或少的問題,但尤以Neutron的問題最讓人頭疼。盡管OpenStack一直致力于簡化Neutron的部署,但對于非網絡技術人員來說依然存在著很大的挑戰,根本原因還是由于網絡自身的復雜性所導致的,因此想要成功部署Neutron還是需要網絡基礎的,但這并不意味著沒有網絡基礎就不能成功部署Neutron并使其工作。本文將總結Neutron的安裝部署步驟,并對遇到的問題進行詳細的描述,旨在提供解決問題的思路或者給與一定的啟示。

根據官方部署文檔的說法,Neutron允許創建由其它OpenStack服務管理的接口設備,并將這樣的設備附加到網絡,可以實現各種插件或代理以適應不同的網絡設備和軟件,為OpenStack架構提供足夠的靈活性。Neutron主要包括以下組件:

  • Neutron-server:接收并轉發API請求到合適的Neutron插件,如linuxbridge-agent。
  • Neutron插件和代理:連接port,創建網絡或子網,提供IP地址。根據云計算環境使用的廠商或者技術,這些插件和代理會有所區別。Neutron為思科的虛擬和物理交換機、NEC的OpenFlow產品、Open vSwitch(OVS)、Linux bridging和VMware的NSX產品提供了插件或代理。
  • 消息隊列:Neutron使用消息隊列在Neutron-server和各種代理之間路由消息,也存儲特定插件的狀態。主要的消息隊列有RabbitMQ、Qpid和ZeroMQ。

Neutron將網絡、子網和路由器抽象為對象,每個抽象對象都具有與其對應的物理概念或設備的功能,網絡包含子網,路由器在不同的子網和網絡之間路由消息。每個路由器有一個連接到網絡的網關(Gateway)和許多連接子網的虛擬網卡,連接到相同路由器的子網可以互相訪問。這和實際物理環境中路由器的功能是一致的。

無論以何種方式部署Neutron,在創建網絡時至少需要創建一個external網絡。與其它網絡不同的是,external網絡不僅僅是虛擬定義網絡,它代表了物理的,OpenStack安裝之外的外部網絡的視圖。External網絡上的IP地址可以被外部物理網絡訪問,由于external網絡僅僅表示外部網絡的視圖,因此在該網絡總DHCP是禁用的。除了external網絡,還要有一個或多個internal網絡,VMs直接連接到這些軟件定義網絡。相同internal網絡上的VMs可以互相訪問,或連接到相同路由器上不同子網中的VMs也可以互相訪問,比如主機A位于子網N1,主機B位于子網N2,N1和N2連接到相同的路由器,那么A和B之間是網絡可達的。外部網絡訪問VMs或VMs訪問外部網絡的功能有路由器完成,路由器的網關連接external網絡,internal網絡連接路由器的接口,與實際的物理網絡結構相似??梢詾閕nternal網絡中的ports分配external網絡中的IP地址,port指的是連接到子網的連接。通過將external網絡中的IP與VMs的ports關聯可以實現外部網絡對VMs的訪問。Neutron也支持安全組。安全組使管理員可以在組內定義防火墻規則,VM可以屬于多個安全組,Neutron根據安全組的規則或策略阻塞或允許ports,或VMs允許的通信類型。

 本次將Neutron部署在兩臺物理機controller和compute上,其中controller做為控制節點(網絡節點),compute為計算節點,controller節點已經安裝配置了MySQL、RabbitMQ和keystone。首先需要在mysql數據庫中創建neutron對應的數據庫:

 MariaDB [(none)]> create database neutron; Query OK, 1 row affected (0.04 sec) MariaDB [(none)]> grant all privileges on neutron.* to 'neutron'@'localhost' identified by 'neutron'; Query OK, 0 rows affected (0.24 sec) MariaDB [(none)]> grant all privileges on neutron.* to 'neutron'@'%' identified by 'neutron';      Query OK, 0 rows affected (0.00 sec) 

其次在keystone中創建neutron對應的用戶、service和endpoint:

[opst@controller ~]$ source admin-openrc.sh [root@controller opst]# openstack user create --domain default --password neutron neutron +-----------+----------------------------------+ | Field   | Value             | +-----------+----------------------------------+ | domain_id | default           | | enabled  | True             | | id    | 24a20abcf4324cfca09484959244aaf7 | | name   | neutron           | +-----------+------------------------------------+   [root@controller opst]# openstack role add --project service --user neutron admin [root@controller opst]# openstack service create --name neutron --description 'The Networking Service' network [root@controller opst]# openstack endpoint create --region RegionOne neutron public http://controller:9696 +--------------+----------------------------------+ | Field    | Value             | +--------------+----------------------------------+ | enabled   | True             | | id      | a7aae0431e2948ce8070ddf0a14bbdf8 | | interface  | public             | | region    | RegionOne          | | region_id  | RegionOne         | | service_id  | ec4391191490440787799e973b54c816 | | service_name | neutron           | | service_type | network           | | url     | http://controller:9696     | +--------------+------------------------------------+ [root@controller opst]# openstack endpoint create --region RegionOne neutron internal http://controller:9696 +--------------+----------------------------------+ | Field    | Value             | +--------------+----------------------------------+ | enabled   | True             | | id      | 8599ab44484b4c3dbc12f8c945490cef | | interface  | internal            | | region    | RegionOne          | | region_id  | RegionOne         | | service_id  | ec4391191490440787799e973b54c816 | | service_name | neutron           | | service_type | network           | | url     | http://controller:9696     | +--------------+-----------------------------------+ [root@controller opst]# openstack endpoint create --region RegionOne neutron admin http://controller:9696   +--------------+----------------------------------+ | Field    | Value             | +--------------+----------------------------------+ | enabled   | True             | | id      | 66ef114548e84911873e83949ef76307 | | interface  | admin            | | region    | RegionOne          | | region_id  | RegionOne         | | service_id  | ec4391191490440787799e973b54c816 | | service_name | neutron           | | service_type | network           | | url     | http://controller:9696     | +--------------+-------------------------------------+ 

完成上述基礎服務的配置管理后,要決定Neutron部署架構,可以采用的架構有兩種,Provider網絡和Self-service網絡。Provider網絡可能是最簡單的Neutron架構,僅支持為VM分配public(Provider)網絡,沒有自服務網絡,路由器或者浮動IP,只有admin或者其他特權用戶可以管理Provider網絡。Self-service網絡支持layer-3服務,允許VMs分配private網絡,demo用戶或其他非特權用戶可以自行管理網絡,比如連接self-service網絡和provider網絡的路由器。另外,浮動IP可以使外部網絡,比如Internet,訪問VMs。Self-service網絡也支持VMs分配public(Provider)網絡。

本次部署采用Self-service網絡。在控制節點controller部署self-service網絡相關安裝包,根據操作系統是否已經安裝了ebtables或ipset,最后兩個安裝包可做相應取舍。

[root@controller opst]# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge python-neutronclient ebtables ipset 

編輯/etc/neutron/neutron.conf:

[DEFAULT] verbose = True core_plugin = ml2 service_plugins = router allow_overlapping_ips = True rpc_backend=rabbit auth_strategy = keystone   notify_nova_on_port_status_changes = True notify_nova_on_port_data_changes = True nova_url = http://controller:8774/v2   [database] connection = mysql://neutron:neutron@controller/neutron   [oslo_messaging_rabbit] rabbit_host = controller rabbit_userid = openstack rabbit_password = opst   [keystone_authtoken] auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = neutron password = neutron   [nova] auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default region_name = RegionOne project_name = service username = nova password = nova   [oslo_concurrency] lock_path = /var/lib/tmp/neutron 

編輯/etc/neutron/plugins/ml2/ml2_conf.ini:

[ml2] type_drivers = flat,vlan,vxlan tenant_network_types = vxlan mechanism_drivers = linuxbridge,l2population extension_drivers = port_security   [ml2_type_flat] flat_networks = public   [ml2_type_vxlan] vni_ranges = 1:1000   [securitygroup] enable_ipset = True 

編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini:

[linux_bridge] physical_interface_mappings = public:eno1   [vxlan] enable_vxlan = True local_ip = 192.168.81.66 l2_population = True   [agent] prevent_arp_spoofing = True   [securitygroup] enable_security_group = True firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDrive 

 編輯/etc/neutron/l3_agent.ini:

[DEFAULT] interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver external_network_bridge = verbose = True 

編輯/etc/neutron/dhcp_agent.ini:

[DEFAULT] interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq enable_isolated_metadata = True verbose = True dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf 

創建/etc/neutron/dnsmasq-neutron.conf,并添加如下內容,啟動DHCP的MTU選項(26),并將大小設置為1450字節。

dhcp-option-force=26,1450 

編輯/etc/neutron/metadata_agent.ini:

[DEFAULT]   auth_uri = http://controller:5000 auth_url = http://controller:35357 auth_region = RegionOne auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = neutron password = neutron   nova_metadata_ip = controller metadata_proxy_shared_secret = Test(與nova.conf中[neutron]metadata_proxy_shared_secret的值相同) verbose = True 

編輯/etc/nova/nova.conf:

[neutron]   url = http://controller:9696 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default region_name = RegionOne project_name = service username = neutron password = neutron   service_metadata_proxy = True metadata_proxy_shared_secret = METADATA_SECRET 

Neutron的初始化腳本需要鏈接文件/etc/neutron/plugin.ini指向/etc/neutron/plugins/ml2/ml2_conf.ini:

 [root@controller opst]# ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini 

推送數據到MySQL數據庫中:

[root@controller opst]#su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron 

 重啟nova-api:

 [root@controller opst]# systemctl restart openstack-nova-api.service 

 配置Neutron服務隨系統啟動(無論是Provider網絡還是Self-service網絡):

[root@controller opst]# systemctl enable neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service 

 啟動Neutron服務(無論是Provider網絡還是Self-service網絡):

[root@controller opst]# systemctl start neutron-server.service neutron-linuxbridge-agent.service neutron-dhcp-agent.service neutron-metadata-agent.service  

 如果是Self-service網絡,則還需要啟動neutron-l3-agent.service服務:

[root@controller opst]# systemctl enable neutron-l3-agent.service [root@controller opst]# systemctl start neutron-l3-agent.service 

在計算節點compute部署self-service網絡相關安裝包,根據操作系統是否已經安裝了ebtables或ipset,最后兩個安裝包可做相應取舍:

[root@controller opst]# systemctl enable neutron-l3-agent.service [root@controller opst]# systemctl start neutron-l3-agent.service 

編輯/etc/neutron/plugins/ml2/linuxbridge_agent.in:

[linux_bridge] physical_interface_mappings = public:eno1   [vxlan] enable_vxlan = True local_ip = 192.168.81.65(compute IP地址) l2_population = True   [agent] prevent_arp_spoofing = True   [securitygroup] enable_security_group = True firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDrive 

編輯/etc/nova/nova.conf:

[neutron]   url = http://controller:9696 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default region_name = RegionOne project_name = service username = neutron password = neutron 

重啟nova:

[neutron]   url = http://controller:9696 auth_url = http://controller:35357 auth_plugin = password project_domain_id = default user_domain_id = default region_name = RegionOne project_name = service username = neutron password = neutron 

啟動neutron:

[root@compute opst]# systemctl enable neutron-linuxbridge-agent.service [root@compute opst]# systemctl start neutron-linuxbridge-agent.service 

 在控制節點驗證Neutron的安裝:

[opst@controller ~]$ neutron ext-list +-----------------------+-----------------------------------------------+ | alias         | name                  | +-----------------------+-----------------------------------------------+ | dns-integration    | DNS Integration            | | ext-gw-mode      | Neutron L3 Configurable external gateway mode | | binding        | Port Binding              | | agent         | agent                  | | subnet_allocation   | Subnet Allocation           | | l3_agent_scheduler  | L3 Agent Scheduler          | | external-net     | Neutron external network       | | flavors        | Neutron Service Flavors        | | net-mtu        | Network MTU             | | quotas        | Quota management support      | | l3-ha         | HA Router extension          | | provider       | Provider Network            | | multi-provider    | Multi Provider Network         | | extraroute      | Neutron Extra Route           | | router        | Neutron L3 Router            | | extra_dhcp_opt    | Neutron Extra DHCP opts       | | security-group    | security-group              | | dhcp_agent_scheduler | DHCP Agent Scheduler        | | rbac-policies    | RBAC Policies              | | port-security     | Port Security               | | allowed-address-pairs | Allowed Address Pairs         | | dvr          | Distributed Virtual Router        | +-----------------------+--------------------------------------------------+ 

 繼續在控制節點執行下面的命令:

[opst@controller ~]$ neutron agent-list +--------------------------------------+--------------------+------------+-------+----------------+---------------------------+ | id                  | agent_type     | host    | alive | admin_state_up | binary          | +--------------------------------------+--------------------+------------+-------+----------------+---------------------------+ | 111e36b2-a1d6-4c86-90c3-e4e4725fa560 | L3 agent      | controller | :-)  | True      | neutron-l3-agent     | | 7aaa5eca-0436-423f-af2f-fbae0ebc6fa1 | Linux bridge agent | compute  | :-)  | True      | neutron-linuxbridge-agent | | 7e394c14-ce7e-45e0-9ac6-3f9250c04984 | Linux bridge agent | controller | :-)  | True      | neutron-linuxbridge-agent | | a6ec9a47-e8f1-4948-9d9b-b172fd6757d6 | Metadata agent   | controller | :-)  | True      | neutron-metadata-agent  | | f99f491b-79e1-4d5d-8c3f-9ecdcf11452c | DHCP agent     | controller | :-)  | True      | neutron-dhcp-agent    | +--------------------------------------+--------------------+------------+-------+----------------+---------------------------+ 

這條命令的輸出一是看相關服務是否已經全部部署成功,二是是否正常運行,可通過觀察第四列的值來確定,:-) 為運行正常,xxxx則存在問題。在驗證Neutron部署成功后,將創建虛擬網絡。根據所選擇的網絡架構(Provider或者Self-service),需要執行不同的命令創建不同的網絡。由于部署的是Self-service網絡,因此既需要創建Public provider網絡也需要創建private project網絡,public網絡用于通過layer-2連接實際的物理網絡,private網絡使用layer-3和NAT連接物理網絡,并包含為VMs分配IP的DHCP,VMs能夠訪問Internet,如果想要外部網絡訪問VMs,則需要浮動IP地址與VM關聯。

 即使成功完成了上述步驟,并且解決了可能出現的問題,比如配置問題,在創建虛擬網絡時依然存在著巨大的風險。盡管openstack致力于簡化創建網絡的工作,但對于新手來說依然困難重重,尤其是部署的環境和官方文檔所推薦的環境不一致時。根據官方文檔的說明,當部署Self-service網絡時,在創建private網絡之前必須先創建public網絡,但在實際創建虛擬網絡的過程中,發現即使先創建private網絡再創建public網絡,也并未影響網絡創建成功與否,但為了與官方保持一致還是按照先創建public網絡再創建private網絡的順序進行操作。

 執行下面的命令創建public網絡,其中--provider:physical_networkpublic中的public與flat_networks = public中保持一致:

[opst@controller ~]$ neutron net-create public --shared --router:external --provider:physical_network public --provider:network_type flat Created a new network: +---------------------------+--------------------------------------+ | Field           | Value              | +---------------------------+--------------------------------------+ | admin_state_up      | True             | | id            | a4b483a8-8331-4fd4-bfec-431e4df8b7ff | | mtu            | 0                | | name           | public             | | port_security_enabled  | True              | | provider:network_type   | flat              | | provider:physical_network | public             | | provider:segmentation_id |                | | router:external     | True               | | shared          | True               | | status          | ACTIVE             | | subnets          |                  | | tenant_id         | a242aca931bb49e08a49e5e942c8129d | +---------------------------+----------------------------------------+ 

接下來創建子網,這條命令的執行結果將直接影響是否可以連通外部網絡,在經過無數次失敗的嘗試后終于使Neutron可以連通外網。錯誤的原因在于錯誤的設置了192.168.81.0/24及start和end的值,上述值必須為實際的物理網絡地址或范圍,比如我的物理機僅有一塊網卡,通過DHCP分配的IP地址為192.168.81.xxx,因此PUBLIC_NETWORK_CIDR就必須為192.168.81.0/24,而start和end則為未使用的192.168.81.xxx地址。

[opst@controller ~]$ neutron subnet-create public 192.168.81.0/24 --name public --allocation-pool start=192.168.81.100,end=192.168.81.200 --dns-nameserver 192.168.85.253 --gateway 192.168.81.254 Created a new subnet: +-------------------+------------------------------------------------------+ | Field       | Value                     | +-------------------+------------------------------------------------------+ | allocation_pools | {"start": "192.168.81.100", "end": "192.168.81.200"} | | cidr       | 192.168.81.0/24                | | dns_nameservers  | 192.168.85.253               | | enable_dhcp    | True                      | | gateway_ip    | 192.168.81.254                | | host_routes    |                          | | id        | da0ff1d1-35e5-4adb-90d6-9c45bc7864c8    | | ip_version    | 4                         | | ipv6_address_mode |                        | | ipv6_ra_mode   |                         | | name       | public                      | | network_id    | a4b483a8-8331-4fd4-bfec-431e4df8b7ff   | | subnetpool_id   |                         | | tenant_id     | a242aca931bb49e08a49e5e942c8129d    | +-------------------+----------------------------------------------------------+ 

創建完public網絡后,接下來創建private網絡。Private網絡用于為VMs分配IP地址,使其之間可以互聯訪問。

[root@controller opst]# neutron net-create private Created a new network: +-----------------------+--------------------------------------+ | Field         | Value              | +-----------------------+--------------------------------------+ | admin_state_up    | True              | | id          | 23ec30de-c5dc-49b2-923c-3b7b83e1d9d1 | | mtu          | 0                | | name         | private             | | port_security_enabled | True              | | router:external    | False              | | shared        | False              | | status        | ACTIVE            | | subnets        |                 | | tenant_id       | 25b21a1cd9aa474e95a8cfd8e175714c   | +-----------------------+---------------------------------------+ 

在private網絡上創建子網的命令如下,其中172.16.1.0/24為子網的CIDR,推薦值為10.0.0.0/8,172.16.0.0/12和192.168.0.0/16。

[root@controller opst]# neutron subnet-create private 172.16.1.0/24 --name private --dns-nameserver 192.168.85.253 --gateway 172.16.1.1 Created a new subnet: +-------------------+------------------------------------------------+ | Field       | Value                   | +-------------------+------------------------------------------------+ | allocation_pools | {"start": "172.16.1.2", "end": "172.16.1.254"} | | cidr       | 172.16.1.0/24              | | dns_nameservers | 192.168.85.253            | | enable_dhcp   | True                   | | gateway_ip    | 172.16.1.1               | | host_routes    |                      | | id        | dd9ee06a-fd00-41f5-93ba-82f3c0c1e052 | | ip_version    | 4                     | | ipv6_address_mode |                    | | ipv6_ra_mode   |                     | | name       | private                 | | network_id    | 23ec30de-c5dc-49b2-923c-3b7b83e1d9d1 | | subnetpool_id   |                     | | tenant_id     | 25b21a1cd9aa474e95a8cfd8e175714c | +-------------------+-------------------------------------------------+ 

創建完網絡后,需要創建路由器以使private網絡和public網絡互連。創建路由器的命令及輸出如下:

[opst@controller ~]$ neutron router-create router Created a new router: +-----------------------+--------------------------------------+ | Field        | Value              | +-----------------------+---------------------------------------+ | admin_state_up    | True             | | external_gateway_info |                | | id          | 27512806-cac3-47f8-acff-b7bd847e2866 | | name         | router             | | routes        |                 | | status        | ACTIVE            | | tenant_id       | 25b21a1cd9aa474e95a8cfd8e175714c | +-----------------------+--------------------------------------+ 

創建路由器后,需要為路由器添加內部網絡的網卡,其中的private為內部網絡子網的名稱或ID:

[opst@controller ~]$ neutron router-interface-add router private Added interface f8979659-e714-4298-90cb-57d2b156166c to router router 

最后為路由器添加網關,其中public為external網絡的名稱或ID:

[opst@controller ~]$ neutron router-gateway-set router public Set gateway for router router 

完成上述步驟后,理論上Neutron的部署就成功了,但在未實際測試網絡的連通性的情況下,并不能百分百確定網絡是連通的。測定連通性最簡單的方式是執行ping操作,如果ping的結果沒有錯誤信息,則可以大致認為網絡是連通的。那具體應該ping什么樣的地址,建議測試虛擬路由器的external網絡和internal網絡的IP地址,這些信息通過執行下面的命令獲得:

[opst@controller ~]$ neutron router-port-list router +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+ | id                  | name | mac_address    | fixed_ips                                       | +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+ | 653e03b9-8e4a-41c7-97c9-f0a1fa4f086f |   | fa:16:3e:34:b6:5c | {"subnet_id": "da0ff1d1-35e5-4adb-90d6-9c45bc7864c8", "ip_address": "192.168.81.101"} | | f8979659-e714-4298-90cb-57d2b156166c |   | fa:16:3e:9f:fb:83 | {"subnet_id": "dd9ee06a-fd00-41f5-93ba-82f3c0c1e052", "ip_address": "172.16.1.1"}   | +--------------------------------------+------+-------------------+---------------------------------------------------------------------------------------+ 

通過ping 192.168.81.101.可以確定external網絡是否連通,而要想確認internal網絡是否連通則需要在路由器的網絡命名空間下ping 172.16.1.1,網絡命名空間通過執行下面的命令獲得:

[opst@controller ~]$ ip netns qrouter-27512806-cac3-47f8-acff-b7bd847e2866 (id: 2) qdhcp-a4b483a8-8331-4fd4-bfec-431e4df8b7ff (id: 1) qdhcp-23ec30de-c5dc-49b2-923c-3b7b83e1d9d1 (id: 0)

然后以root用戶執行下面的命令:

ip netns exec qrouter-27512806-cac3-47f8-acff-b7bd847e2866 ping 172.16.1.1 

如果上述命令的輸出顯示無錯誤,則基本可認為external網絡和internal網絡都是連通的,進而可以繼續VM的創建,否則即使能夠創建VM,也無法保證VM網絡可用。

至此基本完成了Neutron的部署和虛擬網絡的創建,但可能遇到的問題或需要注意的地方遠遠超過了這篇文章所能涵蓋的。下面就幾個可能出現的問題進行簡單的總結。

如果internal網絡類型為vxlan,也即參數tenant_network_types的值為vxlan,則需要宿主操作系統的內核為3.13或者更高版本??梢酝ㄟ^uname –r查看內核版本,而升級則可通過下面的命令進行:

[root@controller opst]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org [root@controller opst]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm [root@controller opst]# yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y [root@controller opst]# awk -F/' '$1=="menuentry " {print $2}' /etc/grub2.cfg CentOS Linux (4.5.0-1.el7.elrepo.x86_64) 7 (Core) CentOS Linux (3.10.0-327.10.1.el7.x86_64) 7 (Core) [root@controller opst]# grub2-set-default 0 reboot 

另外一些問題在命令行中是否無法察覺的,也就是說,當執行了某條命令后,輸出信息并不足以判斷是否成功,直到測試網絡連通性或者創建VMs時才發現某些步驟存在問題。應對類似問題的最好方法就是在創建虛擬網絡及創建VMs時觀察Neutron和Nova日志的輸出,這樣沒執行一條命令就能確定是否成功,有助于問題的定位,同時不會浪費時間或精力。比如在Neutron的日志中常見的如下錯誤信息:

2016-04-06 17:12:51.605 3136 ERROR neutron.plugins.ml2.managers [req-0dc4b947-ebbe-47a9-823c-a4f9ead7df74 - - - - -] Failed to bind port 24191168-b2c0-47d8-aa81-c46ad9bcf7b6 on host controller 2016-04-06 17:12:51.605 3136 ERROR neutron.plugins.ml2.managers [req-0dc4b947-ebbe-47a9-823c-a4f9ead7df74 - - - - -] Failed to bind port 24191168-b2c0-47d8-aa81-c46ad9bcf7b6 on host controller 2016-04-06 17:12:51.623 3136 INFO neutron.plugins.ml2.plugin [req-0dc4b947-ebbe-47a9-823c-a4f9ead7df74 - - - - -] Attempt 2 to bind port 24191168-b2c0-47d8-aa81-c46ad9bcf7b6 2016-04-06 17:12:52.218 3136 WARNING neutron.plugins.ml2.rpc [req-8c5de5e4-288f-4f1a-a377-3b348c3ee13b - - - - -] Device tap24191168-b2 requested by agent lb0010c6b0ae66 on network 521f09b9-791e-482f-9403-5ddac2d047b4 not bound, vif_type: binding_failed 

該問題有可能是因為內核版本低于3.13以至于不支持vxlan網絡,另一個可能的原因是由于public子網的CIDR與所屬的物理網段不一致。

以上兩個問題,尤其是最后一個問題是在部署Neutron時遇到的最大關卡,其它問題,如配置文件的拼寫錯誤,都是容易排查的。Neutron的功能及角色決定了其復雜性,涉及的內容不僅僅是網絡知識,還包括操作系統、虛擬化等方面,因此要想更深入的理解掌握Neutron,需要在遇到不同的問題時,查閱相關資料進行深入學習,否則也僅僅是做到了部署。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久综合网hezyo| 福利视频第一区| 色妞一区二区三区| 精品国内自产拍在线观看| 92看片淫黄大片欧美看国产片| 中文字幕在线视频日韩| 亚洲码在线观看| 中文字幕亚洲国产| 91av视频在线观看| 国产999精品久久久| 国产精品久久久91| 亚洲欧美综合图区| 亚洲曰本av电影| 深夜精品寂寞黄网站在线观看| 日韩中文综合网| 亚洲香蕉成人av网站在线观看| 精品国产乱码久久久久酒店| 91精品国产成人| 亚洲女人天堂视频| 日韩风俗一区 二区| 欧美国产第一页| 亚洲激情视频在线播放| 亚洲女人被黑人巨大进入al| 91中文在线观看| 欧美床上激情在线观看| 激情亚洲一区二区三区四区| 91精品国产免费久久久久久| 日韩a**中文字幕| 精品爽片免费看久久| 国产成人精品视频| 欧美一级大胆视频| 日韩小视频在线观看| 91精品在线一区| 国产精品免费看久久久香蕉| 菠萝蜜影院一区二区免费| 亚洲毛片一区二区| 91免费国产网站| 国产欧美一区二区三区久久人妖| 日本精品免费一区二区三区| 欧美在线视频在线播放完整版免费观看| 人人澡人人澡人人看欧美| 亚洲免费影视第一页| 不用播放器成人网| 国产精品第3页| 中文字幕精品视频| 欧美国产日韩中文字幕在线| 国产日韩精品在线播放| 亚洲欧美日韩国产成人| 欧美夫妻性生活视频| 国产精品高潮在线| 黑人极品videos精品欧美裸| 国产精品aaa| 精品中文字幕在线观看| 亚洲精品久久在线| 亚洲视频网站在线观看| 亚洲国产精彩中文乱码av| 亚洲国产小视频在线观看| 最新69国产成人精品视频免费| 中文字幕一区二区三区电影| 亚洲自拍在线观看| 欧美日韩不卡合集视频| 亚洲天堂日韩电影| 国内精品视频一区| 欧美激情中文网| 成人av番号网| 亚洲免费视频网站| 国产精品99蜜臀久久不卡二区| 国产成人久久久精品一区| 国产精品一区二区在线| 国产精品黄页免费高清在线观看| 精品久久中文字幕久久av| 亚洲第一视频网站| 日本韩国欧美精品大片卡二| 亚洲综合一区二区不卡| 国产精品偷伦免费视频观看的| 成人444kkkk在线观看| 性欧美xxxx视频在线观看| 曰本色欧美视频在线| 亚洲欧美激情另类校园| 欧美最近摘花xxxx摘花| 日韩av免费网站| 欧美xxxx做受欧美| 正在播放亚洲1区| 日韩高清免费观看| 久久福利网址导航| 精品国产福利在线| 久久精品国产免费观看| 亚洲自拍av在线| 欧洲成人免费aa| 亚洲va久久久噜噜噜久久天堂| 欧美视频专区一二在线观看| 欧美性一区二区三区| 日韩黄在线观看| 国产精品96久久久久久| 精品国产一区久久久| 欧美日韩成人黄色| 日韩成人在线播放| 亚洲精品自拍视频| 色综合久久久久久中文网| 亚洲成人999| 69久久夜色精品国产7777| 亚洲激情在线视频| 久久久人成影片一区二区三区| 久久影院免费观看| 最新国产精品亚洲| 国产成+人+综合+亚洲欧洲| 成人写真福利网| 热久久这里只有精品| 日韩精品在线第一页| 成人免费看片视频| 久久免费在线观看| 国产成人精品视频| 91精品国产亚洲| 夜夜嗨av色综合久久久综合网| 亚洲欧美日韩精品久久奇米色影视| 亚洲人午夜精品免费| 亚洲欧美国产另类| 91精品国产91久久久久久不卡| 最近2019年日本中文免费字幕| 精品中文字幕乱| 国产91ⅴ在线精品免费观看| 91产国在线观看动作片喷水| 亚洲电影av在线| 成人在线观看视频网站| 一本色道久久综合狠狠躁篇的优点| 久久久国产精彩视频美女艺术照福利| 国产91av在线| 性金发美女69hd大尺寸| 91亚洲国产成人久久精品网站| 日韩电影中文字幕在线| 中文字幕v亚洲ⅴv天堂| 亚洲免费视频在线观看| 精品成人乱色一区二区| 欧美极品少妇与黑人| 4k岛国日韩精品**专区| 国产视频综合在线| 亚洲最新av网址| 91高清在线免费观看| 欧美激情va永久在线播放| 青青在线视频一区二区三区| 欧美一级大片视频| 黑人狂躁日本妞一区二区三区| 亚洲天堂av在线播放| 亚洲jizzjizz日本少妇| 亚洲码在线观看| 成人在线免费观看视视频| 成人综合网网址| 日韩精品极品在线观看| 成人黄色短视频在线观看| 国产视频精品一区二区三区| 成人福利视频在线观看| 国产精品久久久久免费a∨大胸| 精品偷拍各种wc美女嘘嘘| 91在线中文字幕| 日韩久久精品成人| 欧美裸体xxxx极品少妇| 国产精品久久久久久久久久小说| 日韩精品一区二区视频| 国产精品视频久久| 日韩av成人在线观看| 欧美性xxxxxx| 91超碰caoporn97人人| 国产精品pans私拍| 国产精品美女主播|