OpenNebula – Open Source Cloud Computing

OpenNebula,  private,public ve hybrid yapılar için web arayüz ile yönetilen, IaaS bulut altyapısı sağlayan açık kaynak bir üründür.

hybrid-orj

 

 

Birden fazla ve farklı hypervisor fiziksel host, merkezi olarak yönetilmektedir. Bunlar arasında HA cluster yapılabilmektedir.

 

Desteklenen hypervisor’ler;

KVM (kernel base olduğundan en son Linux kernel desteği)
XEN 3.2 ve 4.2
ESXi 5.0 ve 5.1

 

Multi-Tenant User ve Group yönetimi

Cloud üzerinde izole edilmiş her grubun kendi kaynağına ulaşabilmesi ve operasyonel işleri yapabilmesi (Storage yönetimi, VM oluşturma, Virtual Network yönetimi vb)

 

High Availability

Node (host’lar) cluster yapılabilmektedir.

 

Fiziksel altyapının OpenNebula platformu üzerinde yönetimi open source libvirt API’si sayesinde olur.

libvirt-orj

 

 

OpenNebula Bileşenleri Hakkında:

Frontend: OpenNebula servislerini çalıştıran rollerin olduğu sunucu. Merkezi yönetim ile tüm node,template,VM ve kullanıcıların yönetilmesini sağlar.

Node = Sanal makinaları çalıştıran hypervisor sunucu.Sanal makinalar burada çalışır.

Oned: Open Nebula Daemon’dur. VM life cycle’ı kontrol eder.

Drivers: Node servislerini kontrol eder.

Images: VM template’leri barındırır.

 

Centos ve KVM üzerine OpenNebula kurulumu:

a) Frontend Kurulumu

Hazır bir Centos 6.5 ‘e  root SSH yapıp öncelikle sanallaştırma desteği açık mı kontrol edelim:

# grep -E ‘svm|vmx’ /proc/cpuinfo

(komut sonucu boş gelirse host’un sanallaştırma desteği yok demektir)

DNS adresiyle çözmek için local DNS dosyasına host adı (host01) girelim:

# nano /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10 host01

EPEL repo ekleyelim:

# yum install http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# nano /etc/yum.repos.d/opennebula.repo

[opennebula]
name=opennebula
baseurl=http://downloads.opennebula.org/repo/CentOS/6/stable/x86_64
enabled=1
gpgcheck=0

İhtiyaç olan paketleri kuralım:

# yum install opennebula-server opennebula-sunstone

NOT: sunstone, OpenNebula GUI adıdır.

Sunstone’un varsayılanda dinlediği interface’i değiştirelim:

# nano /etc/one/sunstone-server.conf

:host: 127.0.0.1 olan bölümü, :host: 0.0.0.0  şeklinde değiştirelim.

Servisleri başlatalım:

# service opennebula start
# service opennebula-sunstone start
# chkconfig opennebula on
# chkconfig opennebula-sunstone on

NFS’i konfigure edelim:

# nano /etc/exports

ekleyelim:

/var/lib/one/ *(rw,sync,no_subtree_check,root_squash)

NFS servislerini restart edelim:

# service rpcbind restart
# service nfs restart

oneadmin user hesabı ile SSH Public Key oluşturalım:

# su – oneadmin
$ cat << EOT > ~/.ssh/config
Host *
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
EOT
$ chmod 600 ~/.ssh/config

 

b) Node Kurulumu

Önerilen yapı Frontend’in ayrı bir sunucuda çalışması şeklinde. Bu yazıda hem GUI hem de hypervisor aynı makine üzerindedir.

EPEL repo ekleyelim:

# nano /etc/yum.repos.d/opennebula.repo

[opennebula]
name=opennebula
baseurl=http://downloads.opennebula.org/repo/CentOS/6/stable/x86_64
enabled=1
gpgcheck=0

İhtiyaç olan paketleri yükleyelim:

# yum install opennebula-node-kvm

Servisleri start edelim:

# service messagebus start
# service libvirtd start
# chkconfig messagebus  on
# chkconfig libvirtd  on

NFS’i konfigüre edelim:

(Eğer tek sunucuda çalışıyorsak bu işlemin yapılması gerekmemektedir.)

# nano /etc/fstab

ekleyelim:

192.168.1.10:/var/lib/one/ /var/lib/one/ nfs soft,intr,rsize=8192,wsize=8192,noauto

(IP adresi Frontend’e ait olmalıdır.)

NFS paylaşımını mount edelim:

# mount /var/lib/one/

 

Kurulumlar bu şekilde tamamlanır.

Web tarayıcı üzerinden,  http://192.168.1.10:9869   adresini çağırdığımızda OpenNebula Sunstone arayüzüne ulaşacağız.

Kullanıcı adı oneadmin, şifre ise otomatik üretilmiş olup,  /var/lib/one/.one   altında  one_auth  dosyasındadır.

1-orj

 

Dashboard ekranı bu şekilde:

2-orj

 

Host eklenmesi:

3-orj

 

4-orj

 

Sanal makine template’leri oluşturmak için öncelikle Image bölümünden OS image (ISO) yükleyebiliriz:

5

 

6-orj

 

veya MarketPlace’den hazır image’ları  import edebiliriz:

7-orj

 

Templates’e göz atalım:

8-orj

 

 

Sanal makine oluşturmak için Virtual Machines bölümünden ekliyoruz. VM adını yazıp templete seçerek ilerliyoruz:

9-orj

 

Oluşturulan Guest OS ile ilgili tüm işlemleri ve kontrolleri yapabiliriz:

10-orj

 

 

VNC ile makineye konsol bağlantısı yapabiliriz:

11-orj

 

12-orj

 

Makineyi bir başka host’a taşıyabiliriz:

13-orj

 

 

OpenNebula, open-source bulut altyapıları için yönetim aracıdır ve gerek özel IT altyapıları için gerekse servis sağlayıcılar için esnek çözümleri ve işlevi vardır.

Daha birçok (virtual networks, datastores vb) özelliğine bu yazıda değinmeden bitiriyorum.

 

Kaynaklar:

http://opennebula.org/

http://libvirt.org/

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *