nova-network gerçek IP atama 1


Şu zamanlar tez konum ve iş yerinde verilen görev sebebi ile Openstack ile ilgileniyorum. Neutron’un kompleks olması sebebi ile bazı işleri nova-network üzerinde yapmak zamandan tasarruf oluyor.

 

Nova network nedir diye az biraz bahsetmek gerekirse Openstack’in temel bileşenlerinden biri olan nova sanallaştırma katmanı ile birlikte çalışan bazı basit(Neutron’a göre) network işlemlerinin gerçekleştirildiği yapıdır.

 

Novanın esas geliştirilme amacı networkten ziyade gerek API gerek komut satırı ile gelen istekleri sizin ve sanallaştırıcınızın(ESX,QEMU,Hyper-V) arasında mekik dokumak ve orada olan işlerde sanallaştırıcılara görev vermektir. Yani oluşturulan makinelerdeki karmakşık internet işlemleri(Load balancing, Layer 2, Layer 3 )   kontrol etmek veya düzenlemek  üzerine tanımlanmamıştır. Daha sonra isteklere göre sonra Nova orjini üzerine container yapıları ile birlikte çalışabilen Magnum veya sanallaştırılmamış makineler için Ironic gibi başka modüller ortaya çıkmıştır ama hiç bir zaman bu projeye dahil edilmemiştir.

 

Nova’nın ne olduğundan bahsettikten sonra işlemimize başlayabiliriz.

Ben bu blog yazısında nova-network, Devstack ,VMware ESX kullanarak basit Nova ile oluşturulan ve gerçek IP işlemlerinin novanın yönettiği dnsmasq servisinden alan bir sistem paylaşacağım. Bu sistem ile birlikte ayarlamış olduğunuz veya kullanıma hazır olarak indirilen sanal makineleri VDS mantığında kullanabilirsiniz.

http://tr.enisozgen.com/openstack-devstack-kurulum/ sayfasında yazdığım ./stack.sh komutuna kadar olan kısmına kadar olan kısmı hazırlıyoruz ve sistemin o kısmından Devstack’in özelleştme dosyası olan local.conf dosyasını kendi işimiz için özelleştireceğiz.

git clone ile indiridiğimiz klasörün içine girdikten sonra touch komutu ile bir dosya oluşturup. içine kullanacağımız ve yasaklayacağımız openstack servislerini yazacağız.


IP atama işlemleri

Servislerimiz yüklendikten sonra her birini screen komutu ile kontrol ediniz ve hatalı kısım var ise hatasını arayınız. Şimdiki kısımda esas kısımda yapmayı istediğimiz nova-network ile yapacağımız IP’i atamalarını yapacağız. Nova network bize otomatik olarak IP olarak 10.0.0.0/24 olarak atıyor ve işlemlere lokalde NATlama üzerinden çıkmamıza imkan sağlıyor. Tabiki bizim isteğimiz bu değil.

  • Network elemanlarımızı listeleyelim
  • Network aralığını sorun çıkarmaması ve otomatik olarak buradan atama yapması için kendi IP aralığımızı silelim
  • Kendi listemiz olan IP aralığını ekleyelim

Bu ayarlardan sonra nova ile açacağımız her makine bu aralıktan açılacak ve gerçek IP’ler ile işlem yapılacaktır. Ana Node’n bozulması veya servislerin birinden bozulması hiç bir sıkıntı çıkarmayacaktır.

Çalışma mantığına gelirsek Openstack makinelere, tümleşik çalıştığı dnsmasq servisi ile bire bir MAC adresi ve IP eşlemesi yaparak DHCP ile dağıttığı makinelerin IP çakışma sorunu hiç yaşanmayacak.

Gerekli durumda dnsmasq-nova.conf dosyasından manuel olarak müdahale edilebilir IP taşıma işlemi yapılabilir.

Veya verdiğiniz aralıkta kullanılan servisiniz var ise gerekli IP’leri rezerve edebilirsiniz.

Özet

Bu blog sayfasinda dnsmasq , devstack nova-network hakkında yazdım. Bu işlemlerin hepsi IPv4 üzerinde yapılan konfigürasyonlar idi. Bu işlemler aynı şekilde IPv6 hakkındada aynı şekilde yapılabilmektedir. Bunun için yapılacak işlemlerin olduğu Openstack dökümanların olduğu yeri Linkler kısmında verdim umarım işinize yarayacak test ortamı yaratabilirsiniz. İyi günler 🙂