Distributed Virtual Routing dengan VRRP

Distributed Virtual Routing dengan VRRP

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

Mirip dengan legacy HA router, DVR/SNAT HA router menyediakan penanganan kegagalan (failover) cepat layanan SNAT ke router DVR/SNAT backup pada l3-agent yang berjalan pada node yang berbeda.

SNAT ketersediaan tinggi 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 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 router backup DVR/SNAT berhenti menerima paket ini, hal ini mengasumsikan kegagalan router DVR/SNAT master dan mempromosikan diri untuk menguasai router dengan mengkonfigurasi alamat IP pada antarmuka dalam namespace snat. Dalam lingkungan dengan lebih dari satu router cadangan, aturan VRRP diikuti untuk memilih router msater baru.

Catatan

Fitur eksperimental atau dokumentasi tak lengkap.

Contoh konfigurasi

Model pengerahan dasar terdiri dari satu controller node, dua atau lebih node jaringan, dan beberapa node komputasi.

Konfigurasi controller node

  1. Tambahkan hal 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 pengguna akan didistribusikan. Tanpa itu, hanya pengguna istimewa dapat menciptakan router terdistribusi dengan menggunakan --distributed True.

    Demikian pula, ketika flag l3_ha = True dikonfigurasi, router yang dibuat oleh semua pengguna menjadi default untuk HA.

    Ini berarti bahwa dengan dua flag ini diatur ke True dalam file konfigurasi, router yang dibuat oleh semua pengguna akan menjadi default untuk router HA (DVR HA) terdistribusi.

    Hal yang sama dapat secara eksplisit dicapai oleh pengguna dengan kredensial administratif pengaturan flag di perintah neutron router-create:

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

    Catatan

    max_l3_agents_per_router dan min_l3_agents_per_router menentukan jumlah router DVR / SNAT cadangan yang akan dipakai.

  2. Tambahkan 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
    

    Gantilah MIN_VXLAN_ID dan MAX_VXLAN_ID dengan nilai minimum dan maksimum VXLAN ID yang cocok dengan lingkungan Anda.

    Catatan

    Nilai pertama dalam opsi tenant_network_types menjadi tipe jaringan proyek default ketika user biasa membuat sebuah jaringan.

Network nodes (simpul jaringan)

  1. Lakukan konfigurasi agen Open vSwitch. Tambahkan hal 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
    

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

  2. Lakukan konfigurasi agen L3. Tambahkan hal 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 (simpul komputasi)

  1. Lakukan konfigurasi agen Open vSwitch. Tambahkan hal 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. Lakukan konfigurasi agen L3. Tambahkan hal 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 antarmuka yang menangani jaringan proyek VXLAN.

Keterbatasan dikenal

  • Migrasi router dari hanya didistribusikan, hanya HA, atau legacy ke HA yang didistribusikan tidak didukung saat ini. Router harus dibuat sebagai HA yang didistribusikan. Arah sebaliknya juga tidak didukung. Anda tidak dapat mengkonfigurasi ulang router HA yang didistribusikan ke hanya didistribusikan, hanya HA, atau legacy (warisan).

  • Ada skenario tertentu di mana l2pop dan router HA didistribusikan tidak berinteraksi dengan cara yang diharapkan. Situasi ini adalah sama yang mempengaruhi router hanya HA 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.