Distributed Virtual Routing dengan VRRP

Distributed Virtual Routing dengan VRRP

Open vSwitch: High availability menggunakan DVR mendukung penambahan penggunaan Virtual Router Redundancy Protocol (VRRP). Menggunakan konfigurasi ini, router virtual mendukung kedua opsi --distributed dan --ha.

Mirip dengan router warisan HA, router DVR/SNAT HA menyediakan cepat kegagalan dari layanan SNAT ke router DVR/SNAT backup pada l3-agent yang berjalan pada node yang berbeda.

SNAT high availability diimplementasikan dengan cara yang sama dengan contoh Linux bridge: High availability menggunakan VRRP dan Open vSwitch: High availability menggunakan VRRP dimana keepalived menggunakan VRRP untuk memberikan failover cepat dari layanan SNAT.

Selama operasi normal, master router secara periodik mengirimkan paket *heartbeat*melalui jaringan proyek tersembunyi yang menghubungkan semua router HA untuk proyek tertentu.

Jika DVR/SNAT backup router berhenti menerima paket ini, diasumsikan kegagalan master router DVR/SNAT dan mempromosikan diri untuk menguasai router dengan mengkonfigurasi alamat IP pada interface dalam snat namespace. Dalam lingkungan dengan lebih dari satu router cadangan, aturan VRRP diikuti untuk memilih router induk baru.

Catatan

Fitur eksperimental atau dokumentasi lengkap.

Contoh konfigurasi

Model pengerahan dasar terdiri dari satu controller node, dua atau lebih network nodes, dan beberapa compute node.

Konfigurasi node controller

  1. Tambahkan baris berikut ke /etc/neutron/neutron.conf:

    [DEFAULT]
    core_plugin = ml2
    service_plugins = router
    allow_overlapping_ips = True
    router_distributed = True
    l3_ha = True
    l3_ha_net_cidr = 169.254.192.0/18
    max_l3_agents_per_router = 3
    min_l3_agents_per_router = 2
    

    Ketika flag router_distributed = True dikonfigurasi, router yang dibuat oleh semua user didistribusikan. Tanpa itu, hanya user istimewa dapat membuat router didistribusikan dengan menggunakan :option: –distributed TRUE.

    Demikian pula, ketika `` flag l3_ha = True`` dikonfigurasi, router yang dibuat oleh semua standar user untuk HA.

    Oleh karena itu dengan dua flag ini diatur untuk True di file konfigurasi, router yang dibuat oleh semua user akan default untuk didistribusikan router HA (DVR HA).

    Hal yang sama dapat secara eksplisit dicapai oleh user dengan kredensial administratif pengaturan flag di router-create command:command:

    $ neutron router-create name-of-router --distributed=True --ha=True
    

    Catatan

    The max_l3_agents_per_router and min_l3_agents_per_router determine the number of backup DVR/SNAT routers which will be instantiated.

  2. Tambahkan baris berikut ke /etc/neutron/plugins/ml2/ml2_conf.ini:

    [ml2]
    type_drivers = flat,vxlan
    tenant_network_types = vxlan
    mechanism_drivers = openvswitch,l2population
    extension_drivers = port_security
    
    [ml2_type_flat]
    flat_networks = external
    
    [ml2_type_vxlan]
    vni_ranges = MIN_VXLAN_ID:MAX_VXLAN_ID
    

    Ganti MIN_VXLAN_ID dan MAX_VXLAN_ID dengan VXLAN ID nilai minimum dan maksimum cocok untuk lingkungan Anda.

    Catatan

    Nilai pertama dalam opsi tenant_network_type menjadi tipe jaringan proyek default ketika user biasa menciptakan sebuah jaringan.

Network nodes

  1. Mengkonfigurasi agen Open vSwitch . Tambahkan baris berikut ke /etc/neutron/plugins/ml2/ml2_conf.ini:

    [ovs]
    local_ip = TUNNEL_INTERFACE_IP_ADDRESS
    bridge_mappings = external:br-ex
    
    [agent]
    enable_distributed_routing = True
    tunnel_types = vxlan
    l2_population = True
    
    [securitygroup]
    firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
    

    Ganti TUNNEL_INTERFACE_IP_ADDRESS dengan alamat IP dari interface yang menangani jaringan proyek VXLAN.

  2. Mengkonfigurasi L3 agent. Tambahkan baris berikut ke /etc/neutron/l3_agent.ini:

    [DEFAULT]
    ha_vrrp_auth_password = password
    interface_driver = openvswitch
    external_network_bridge =
    agent_mode = dvr_snat
    

    Catatan

    Opsi external_network_bridge sengaja tidak mengandung nilai.

Compute nodes

  1. Mengkonfigurasi agen Open vSwitch . Tambahkan baris berikut ke /etc/neutron/plugins/ml2/ml2_conf.ini:

    [ovs]
    local_ip = TUNNEL_INTERFACE_IP_ADDRESS
    bridge_mappings = external:br-ex
    
    [agent]
    enable_distributed_routing = True
    tunnel_types = vxlan
    l2_population = True
    
    [securitygroup]
    firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
    
  2. Mengkonfigurasi L3 agent. Tambahkan baris berikut ke /etc/neutron/l3_agent.ini:

    [DEFAULT]
    interface_driver = openvswitch
    external_network_bridge =
    agent_mode = dvr
    

    Ganti TUNNEL_INTERFACE_IP_ADDRESS dengan alamat IP dari interface yang menangani jaringan proyek VXLAN.

Known limitations

  • Migrasi router dari hanya didistribusikan, HA saja, atau legacy untuk didistribusikan HA tidak didukung saat ini. Router harus dibuat sebagai didistribusikan HA. Arah sebaliknya juga tidak didukung. Anda tidak dapat mengkonfigurasi ulang router distributed HA untuk hanya didistribusikan, hanya HA, atau legacy.

  • Ada skenario tertentu di mana l2pop dan didistribusikan router HA tidak berinteraksi dengan cara yang diharapkan. Situasi ini sama yang mempengaruhi HA hanya router dan l2pop.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.