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.
Peringatan
Ada bug yang dikenal dengan keepalived
v1.2.15 dan sebelumnya yang dapat menyebabkan kehilangan paket (packet loss) ketika `` max_l3_agents_per_router`` diatur ke 3 atau lebih. Oleh karena itu, kami menyarankan Anda meng-upgrade ke keepalived
v1.2.16 atau lebih besar saat penggunaan fitur ini.
Catatan
Fitur eksperimental atau dokumentasi tak lengkap.
Model pengerahan dasar terdiri dari satu controller node, dua atau lebih node jaringan, dan beberapa node komputasi.
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
Ketika flag router_distributed = True
dikonfigurasi, router yang dibuat oleh semua pengguna didistribusikan. Tanpa itu, hanya pengguna istimewa dapat menciptakan didistribusikan router 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 menentukan jumlah cadangan router DVR/SNAT yang akan dipakai.
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.
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.
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.
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
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.
Kesehatan instance keepalived
Anda dapat secara otomatis dipantau melalui skrip bash yang memverifikasi konektivitas ke semua alamat gerbang yang dikonfigurasi dan tersedia. Dalam hal konektivitas yang hilang, master router dijadwal ulang ke node lain.
Jika semua router kehilangan konektivitas secara bersamaan, proses pemilihan router induk baru akan diulang secara round-robin sampai satu atau lebih router telah dipulihkan konektivitas mereka.
Untuk mengaktifkan fitur ini, edit file l3_agent.ini
:
ha_vrrp_health_check_interval = 30
Dimana ha_vrrp_health_check_interval
menunjukkan seberapa sering dalam detik dimana pengecekan kesehatan harus dijalankan. Nilai default adalah 0
, yang menunjukkan bahwa pengecekan tidak berjalan sama sekali.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.