Bir kullanılabilirlik bölgesi, DHCP, L3, FW ve diğerleri gibi hizmetleri çalıştıran ağ düğümlerini gruplar. Ağ düğümünde bir aracının özniteliği olarak tanımlanır. Bu, kullanıcıların bir kullanılabilirlik bölgesi ile kaynaklarını ilişkilendirmesini, böylece kaynakların yüksek kullanılabilirlik kazanmasını sağlar.
Ağ kaynakları yüksek kullanılabilirliğe getirmek için bir kullanılabilirlik bölgesi kullanılır. Operatörler, ayrı ayrı kullanılabilirlik bölgeleri altında farklı güç kaynaklarına bağlı düğümleri gruplar ve farklı kullanılabilirlik bölgeleri üzerinde planlanacak şekilde yüksek kullanılabilirlikli kaynaklar için zamanlama yapılandırır.
Çekirdek eklentinin availability_zone
uzantısını desteklemesi gerekir. Çekirdek eklenti, bir ağın kullanılabilirlik bölgelerine göre zamanlamak için network_availability_zone
uzantısını da desteklemelidir. Ml2Plugin
bunu destekliyor. Yönlendirici servisi eklentisi, kullanılabilirlik bölgelerine göre bir yönlendiriciyi zamanlamak için router_availability_zone
uzantısını desteklemelidir. L3RouterPlugin
bunu destekliyor.
$ openstack extension list --network -c Alias -c Name
+---------------------------+---------------------------+
| Name | Alias |
+---------------------------+---------------------------+
...
| Network Availability Zone | network_availability_zone |
...
| Availability Zone | availability_zone |
...
| Router Availability Zone | router_availability_zone |
...
+---------------------------+---------------------------+
availability_zone
özelliği dhcp-agent
ve l3-agent
içinde tanımlanabilir. Her ajan için bir kullanılabilirlik bölgesi tanımlamak için, /etc/neutron/dhcp_agent.ini
veya /etc/neutron/l3_agent.ini
dosyalarının [AGENT]
bölümüne değeri ayarlayın:
[AGENT]
availability_zone = zone-1
Ajanın kullanılabilirlik alanını onaylayın:
$ openstack network agent show 116cc128-4398-49af-a4ed-3e95494cd5fc
+---------------------+---------------------------------------------------+
| Field | Value |
+---------------------+---------------------------------------------------+
| admin_state_up | UP |
| agent_type | DHCP agent |
| alive | True |
| availability_zone | zone-1 |
| binary | neutron-dhcp-agent |
| configurations | dhcp_driver='neutron.agent.linux.dhcp.Dnsmasq', |
| | dhcp_lease_duration='86400', |
| | log_agent_heartbeats='False', networks='2', |
| | notifies_port_ready='True', ports='6', subnets='4 |
| created_at | 2016-12-14 00:25:54 |
| description | None |
| heartbeat_timestamp | 2016-12-14 06:20:24 |
| host | ankur-desktop |
| id | 116cc128-4398-49af-a4ed-3e95494cd5fc |
| started_at | 2016-12-14 00:25:54 |
| topic | dhcp_agent |
+---------------------+---------------------------------------------------+
$ openstack network agent show 9632309a-2aa4-4304-8603-c4de02c4a55f
+---------------------+-------------------------------------------------+
| Field | Value |
+---------------------+-------------------------------------------------+
| admin_state_up | UP |
| agent_type | L3 agent |
| alive | True |
| availability_zone | zone-1 |
| binary | neutron-l3-agent |
| configurations | agent_mode='legacy', ex_gw_ports='2', |
| | external_network_bridge='', floating_ips='0', |
| | gateway_external_network_id='', |
| | handle_internal_only_routers='True', |
| | interface_driver='openvswitch', interfaces='4', |
| | log_agent_heartbeats='False', routers='2' |
| created_at | 2016-12-14 00:25:58 |
| description | None |
| heartbeat_timestamp | 2016-12-14 06:20:28 |
| host | ankur-desktop |
| id | 9632309a-2aa4-4304-8603-c4de02c4a55f |
| started_at | 2016-12-14 00:25:58 |
| topic | l3_agent |
+---------------------+-------------------------------------------------+
/etc/neutron/neutron.conf
dosyası içindeki network_scheduler_driver
değerini AZAwareWeightScheduler
olarak ayarlayın böylece Ağ servisi kullanılabilirlik bölgesine göre bir ağı zamanlayacaktır:
network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.AZAwareWeightScheduler
dhcp_load_type = networks
Ağ servisi WeightScheduler
‘da olduğu gibi seçilen bölgedeki ajanlardan birine ağı zamanlar. Bu durumda, zamanlayıcı dhcp_load_type
da başvurur.
/etc/neutron/neutron.conf
dosyasında router_scheduler_driver
değerini AZLeastRoutersScheduler
‘a ayarlayın böylece Ağ servisi kullanılabilirlik bölgesine göre bir yönlendiriciyi zamanlar:
router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.AZLeastRoutersScheduler
Ağ hizmeti, bir yönlendiriciyi seçilen bölgedeki ajanlardan birine LeastRouterScheduler
gibi programlar.
Ağ hizmetleri, yönlendiriciler için yüksek kullanılabilirlik ve ağların DHCP hizmetleri için yüksek kullanılabilirlik ve hata toleransı sağlamakla birlikte, izole edilmiş başarısız etki alanlarında bir Ağ hizmeti dağıtımını segmentize ederek ek bir koruma katmanı sağlar. Farklı kullanılabilirlik bölgeleri arasında HA düğümleri dağıtarak, dağıtımın uygulanmasını etkileyen bölge çapında başarısızlıklar karşısında ağ hizmetlerinin kullanılabilirliğini garantiler.
Bu bölümde, L3 ve DHCP için kullanılabilirlik bölgesi ile yüksek kullanılabilirlik elde etme yöntemi açıklanmaktadır. Kullanılabilirlik bölgesi için yukarıda yapılandırma seçeneklerini doğal olarak ayarlamalısınız.
Aşağıdaki yapılandırma seçeneklerini /etc/neutron/neutron.conf
dosyasında ayarlayarak L3’ün yüksek kullanılabilirliğini sağlayın.
l3_ha = True
max_l3_agents_per_router = 3
HA yönlendiricileri, yönlendirici oluştururken seçtiğiniz kullanılabilirlik bölgelerinde oluşturulur.
/etc/neutron/neutron.conf
dosyasında aşağıdaki yapılandırma seçeneklerini ayarlayarak DHCP’nin yüksek kullanılabilirliğini sağlayın.
dhcp_agents_per_network = 2
DHCP servisleri, ağı oluştururken seçtiğiniz kullanılabilirlik bölgesinde oluşturulur.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.