Install OpenNebula Frontend on Debian 12/11/10

OpenNebula, kurumsal bulutları ve sanallaştırılmış DC’leri oluşturmak ve yönetmek için tasarlanmış basit ama güçlü ve zengin özelliklere sahip bir Bulut yönetimi çözümüdür. OpenNebula platformu, mevcut sanallaştırma teknolojilerinin esneklik, çoklu kiracılık ve kaynakların otomatik sağlanmasına yönelik gelişmiş özelliklerle birleşimidir. OpenNebula, sistem yöneticilerinin, devop’ların ve kullanıcıların gerçek ihtiyaçlarının yönlendirdiği aşağıdan yukarıya bir yaklaşımı izler.

Aşağıda OpenNebula’nın mimari genel görünümünü gösteren bir diyagram bulunmaktadır.

OpenNebula sisteminin tamamı aşağıdakilerden oluşur:

  • OpenNebula hizmetlerini yürüten ön uç.
  • VM’lerin ihtiyaç duyduğu kaynakları sağlayan hipervizör özellikli ana bilgisayarlar.
  • VM’lerin temel görüntülerini tutan veri depoları.
  • Depolama sunucularının ara bağlantısı ve OpenNebula kontrol işlemleri gibi temel hizmetleri ve VM’ler için VLAN’ları desteklemek için kullanılan fiziksel ağlar.

Bu kılavuzda OpenNebula Frontend’in Debian Linux sistemine kurulumuna bakıyoruz.

OpenNebula ön uç kurulumu için önerilen minimum özellikler şunlardır:

KaynakMinimum Önerilen yapılandırma
Memory8 GB
CPU2 CPU (4 cores)
Disk Size200 GB
Network2 NICs

Öneriler yol gösterici niteliktedir ve bulutunuzun boyutuna ve iş yüküne bağlı olarak hafifletilebilir veya artırılabilir.

Adım 1: Sunucu adını, ntp’yi ve sistemi güncelleyin

Sistemimizi güncelleyerek ve yükselterek OpenNebula Frontend kurulumuna Debian üzerinde başlıyoruz

sudo apt update && sudo apt -y full-upgrade

Yeniden başlatmanın gerekli olup olmadığını kontrol edin

[ -f /var/run/reboot-required ] && sudo reboot -f

Sistem yeniden başlatıldığında, nefront.example.com adresini doğru DNS adıyla değiştirerek doğru sunucu adını ayarlayın.

sudo hostnamectl set-hostname onefront.example.com

IP’yi ve sunucu adını /etc/hosts dosyasına ekleyin:

$ sudo vim /etc/hosts
192.168.100.10 onefront.example.com onefront # Set correctly

Ntp zaman senkronizasyon aracını yükleyin

sudo apt remove ntp
sudo apt install chrony -y
sudo systemctl start chrony
sudo systemctl enable chrony

Set correct timezone:

sudo timedatectl set-timezone Africa/Nairobi
sudo timedatectl set-ntp yes

Zaman durumunu göster:

$ sudo chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^- time.cloudflare.com           3   6    35    13    -49ms[  -49ms] +/-  167ms
^- ntp1.icolo.io                 2   6    17    14   +655us[ +655us] +/-  109ms
^* ntp0.icolo.io                 2   6    17    16   +251us[ +116ms] +/-  109ms
^+ time.cloudflare.com           3   6    33    13    -49ms[  -49ms] +/-  167ms

Adım 2: OpenNebula Depolarını Ekleyin

Bu kurulum için Topluluk sürümü depolarını kullanacağız.

Terminalde aşağıdaki komutu çalıştırarak GPG anahtarını içe aktarın:

sudo apt update
sudo apt install wget gnupg2 apt-transport-https -y
curl -fsSL https://downloads.opennebula.io/repo/repo2.key|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/opennebula.gpg

Ardından depo dosyasını ekleyin:

### Debian 12 / Debian 11 ###
echo "deb https://downloads.opennebula.io/repo/6.6/Debian/11 stable opennebula" | sudo tee /etc/apt/sources.list.d/opennebula.list

### Debian 10 ###
echo "deb https://downloads.opennebula.io/repo/6.6/Debian/10 stable opennebula" | sudo tee /etc/apt/sources.list.d/opennebula.list

Adım 3: OpenNebula Frontend’i Debian’a yükleyin

OpenNebula Ön uç paketlerini bir Debian Linux sistemine kurmak için terminalde şu komutları yürütün:

sudo apt update
sudo apt install vim opennebula opennebula-sunstone opennebula-gate opennebula-flow opennebula-provision opennebula-fireedge -y

Bu dağıtımlar için mevcut paketler şunlardır:

  • opennebula: OpenNebula Daemon ve Zamanlayıcı.
  • opennebula-common: OpenNebula paketleri için paylaşılan içerik.
  • opennebula-common-onescape: OneScape projesi için yardımcılar.
  • opennebula-tools: Komut satırı arayüzü.
  • opennebula-sunstoneSunstone (the GUI) and the EC2 API.
  • opennebula-gate: VM’ler ve OpenNebula arasındaki iletişimi sağlayan OneGate sunucusu.
  • opennebula-flow: OneFlow hizmetleri ve esnekliği yönetir.
  • opennebula-provision: OneProvision, uzak donanım bulut sağlayıcılarına yeni kümeler dağıtır.
  • opennebula-node: KVM hiper yönetici düğümüne yönelik bağımlılıklar ve yapılandırmalar.
  • opennebula-node-firecracker: Firecracker hiper yönetici düğümüne yönelik bağımlılıklar ve yapılandırmalar.
  • opennebula-node-lxd: LXD hiper yönetici düğümüne yönelik bağımlılıklar ve yapılandırmalar.
  • opennebula-lxd-snap: LXD snap’i yüklemek için meta paket (yalnızca Ubuntu 16.04 ve 18.04’te).
  • opennebula-rubygems: Birlikte verilen Ruby gem bağımlılıkları.
  • opennebula-dbgsym: Hata ayıklama bilgilerini içeren paket.
  • ruby-opennebula: Ruby Bindings.
  • libopennebula-java: Java Bindings.
  • libopennebula-java-doc: Java Bindings Documentation.
  • python-pyone: Python 2 Bindings (not on Ubuntu 20.04 and later).
  • python3-pyone: Python 3 Bindings.

Yapılandırma dosyaları /etc/one ve /var/lib/one/remotes/etc dizininde bulunur.

sudo ls /etc/one
sudo ls /var/lib/one/remotes/etc/

Aşağıdaki tabloda, kurulumdan sonra Ön Uçta mevcut olan bazı önemli yollar listelenmektedir:

YolTanım
/etc/one/Yapılandırma Dosyaları
/var/log/one/Log dosyaları,notably: oned.logsched.logsunstone.log and <vmid>.log
/var/lib/one/oneadmin ana dizin
/var/lib/one/datastores/<dsid>/Veri depoları için depolama
/var/lib/one/vms/<vmid>/VM’ler için eylem dosyaları (dağıtım dosyası, aktarım yöneticisi komut dosyaları vb.)
/var/lib/one/.one/one_authoneadmin kimlik bilgileri
/var/lib/one/remotes/Sunucularla senkronize edilecek problar ve komut dosyaları
/var/lib/one/remotes/hooks/Hook scripts
/var/lib/one/remotes/vmm/Sanal Makine Yöneticisi Sürücüsü komut dosyaları
/var/lib/one/remotes/auth/Kimlik Doğrulama Sürücüsü komut dosyaları
/var/lib/one/remotes/im/Bilgi Yöneticisi (izleme) Sürücü komut dosyaları
/var/lib/one/remotes/market/MarketPlace Driver scripts
/var/lib/one/remotes/datastore/Datastore Driver scripts
/var/lib/one/remotes/vnm/Networking Driver scripts
/var/lib/one/remotes/tm/Transfer Manager Driver scripts

Adım 4: MariaDB veritabanı sunucusunu kurun

OpenNebula bulut verilerini sürdürmek için MariaDB veritabanı sunucusunu kullanacağız. Aşağıdaki komutu çalıştırarak Debian sistemine kurun/

sudo apt update
sudo apt -y install mariadb-server

Veritabanı sunucusu kurulumunuzu güvence altına alın:

sudo mysql_secure_installation

MariaDB konsoluna root olarak bağlanın

sudo mysql -u root -p

Yeni bir kullanıcı oluşturun ve ona opennebula veritabanında ayrıcalıklar verin. OpenNebula onu ilk çalıştırıldığında oluşturacağından veritabanının var olmasına gerek yoktur.

GRANT ALL PRIVILEGES ON opennebula.* TO 'oneadmin' IDENTIFIED BY 'St0ngDBP@ssw0rd';
FLUSH PRIVILEGES;

Ayrıca işlem izolasyon düzeyini de yapılandırın:

SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
EXIT

Adım 5: OpenNebula Ön Uç Veritabanını Yapılandırın

OpenNebula’yı ilk kez çalıştırmadan önce, veritabanı bağlantı ayrıntılarını oned.configuration’da ayarlayın.

$ sudo vim /etc/one/oned.conf
#Uncomment and edit lines around 76
DB = [ BACKEND = "mysql",
       SERVER  = "localhost",
       PORT    = 3306,
       USER    = "oneadmin",
       PASSWD  = "St0ngDBP@ssw0rd",
       DB_NAME = "opennebula",
       CONNECTIONS = 25,
       COMPARE_BINARY = "no" ]

Yapılandırılacak alanlar şunlardır:

  • server: MySQL sunucusunu çalıştıran makinenin URL’si.
  • port: sunucuya bağlantı için bağlantı noktası. 0 olarak ayarlanırsa varsayılan bağlantı noktası kullanılır.
  • user: MySQL kullanıcı adı.
  • passwd: MySQL şifresi.
  • db_name: OpenNebula’nın kullanacağı MySQL veritabanının adı.

Aktif hesabınızı oneadmin’e geçirin:

sudo su - oneadmin

Rastgele oluşturulmuş bir şifre /var/lib/one/.one/one_auth dosyasında saklanır:

$ cat /var/lib/one/.one/one_auth
oneadmin:KnejitanRoc1

Yukarıdaki dosya aşağıdaki <kullanıcı adı>:<şifre>’yi içerir. Benim durumumda oneadmin kullanıcısının şifresi SkonmoipOtt1

OpenNebula’yı başlatmadan önce şifreyi değiştirebilirsiniz. Örneğin:

echo "oneadmin:MyStr0ngPassw0rd" > ~/.one/one_auth
cat /var/lib/one/.one/one_auth
exit

Not: Bu, ilk önyüklemede oneadmin parolasını belirler. Bu noktadan sonra, oneuser passwd oneadmin’in şifresini değiştirmek için kullanılır.

Son olarak değişiklikleri gerçekleştirdikten sonra OpenNebula’yı başlatın:

sudo systemctl restart opennebula
sudo systemctl restart opennebula-sunstone

Hizmetlerin sistem önyüklemesinde başlatılmasını etkinleştirin:

sudo systemctl enable opennebula
sudo systemctl enable opennebula-sunstone opennebula-fireedge.service

Hizmetlerin çalışma durumunu doğrulayın:

$ systemctl status opennebula
● opennebula.service - OpenNebula Cloud Controller Daemon
   Loaded: loaded (/lib/systemd/system/opennebula.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2023-03-18 12:39:07 EAT; 52s ago
 Main PID: 3160 (oned)
    Tasks: 93 (limit: 4667)
   Memory: 245.0M
   CGroup: /system.slice/opennebula.service
           ├─3160 /usr/bin/oned -f
           ├─3164 ruby /usr/lib/one/mads/one_hm.rb -p 2101 -l 2102 -b 127.0.0.1
           ├─3205 ruby /usr/lib/one/mads/one_vmm_exec.rb -t 15 -r 0 kvm
           ├─3222 ruby /usr/lib/one/mads/one_vmm_exec.rb -t 15 -r 0 lxd
           ├─3240 ruby /usr/lib/one/mads/one_vmm_exec.rb -t 15 -r 0 firecracker
           ├─3257 ruby /usr/lib/one/mads/one_vmm_exec.rb -l deploy,shutdown,reboot,cancel,save,restore,migrate,poll,pre,post,clean,update_sg,snapshotcreate,snapsh
           ├─3274 ruby /usr/lib/one/mads/one_tm.rb -t 15 -d dummy,lvm,shared,fs_lvm,qcow2,ssh,ceph,dev,vcenter,iscsi_libvirt
           ├─3295 ruby /usr/lib/one/mads/one_datastore.rb -t 15 -d dummy,fs,lvm,ceph,dev,iscsi_libvirt,vcenter -s shared,ssh,ceph,fs_lvm,qcow2,vcenter
           ├─3311 ruby /usr/lib/one/mads/one_market.rb -t 15 -m http,s3,one,linuxcontainers,turnkeylinux,dockerhub
           ├─3327 ruby /usr/lib/one/mads/one_ipam.rb -t 1 -i dummy
           ├─3341 ruby /usr/lib/one/mads/one_auth_mad.rb --authn ssh,x509,ldap,server_cipher,server_x509
           ├─3355 /usr/lib/one/mads/onemonitord -c monitord.conf
           ├─3372 ruby /usr/lib/one/mads/one_im_exec.rb -r 3 -t 15 -w 90 firecracker
           ├─3387 ruby /usr/lib/one/mads/one_im_exec.rb -r 3 -t 15 -w 90 kvm
           ├─3401 ruby /usr/lib/one/mads/one_im_exec.rb -r 3 -t 15 -w 90 lxd
           ├─3415 ruby /usr/lib/one/mads/one_im_exec.rb -l -c -t 15 -r 0 vcenter
           └─3424 ruby /var/lib/one/remotes/im/lib/vcenter_monitor.rb

$ systemctl status opennebula-sunstone
● opennebula-sunstone.service - OpenNebula Web UI Server
   Loaded: loaded (/lib/systemd/system/opennebula-sunstone.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2023-03-18 12:39:44 EAT; 47s ago
 Main PID: 3635 (ruby)
    Tasks: 2 (limit: 4667)
   Memory: 100.4M
   CGroup: /system.slice/opennebula-sunstone.service
           └─3635 /usr/bin/ruby /usr/lib/one/sunstone/sunstone-server.rb
...

6. Adım: OpenNebula Ön Uç kurulumunu doğrulayın

Kullanıcıya geri dönün.

sudo su - oneadmin

Komutların OpenNebula arka plan programına bağlanabildiğini kontrol edin:

$ oneuser show
USER 0 INFORMATION
ID              : 0
NAME            : oneadmin
GROUP           : oneadmin
PASSWORD        : c69c19205e9b73874e6da7e563b8f6021b2ad46d5e1d3ffe8a9c2649eceda02d
AUTH_DRIVER     : core
ENABLED         : Yes

TOKENS

USER TEMPLATE
TOKEN_PASSWORD="53ab1aa03cd733601db2d96e0d6f0e1296da69cc7a52e9fcd0236b9831e5cd94"

VMS USAGE & QUOTAS

VMS USAGE & QUOTAS - RUNNING

DATASTORE USAGE & QUOTAS

NETWORK USAGE & QUOTAS

IMAGE USAGE & QUOTAS

Çıktıdaki bir hata mesajı, OpenNebula arka plan programının düzgün şekilde başlatılamadığı anlamına gelir.

Günlük dosyaları şu konumda bulunur:

$ ls /var/log/one
monitor.log  oned.log			      oned.log-20230318-1616060092.gz  onehem.log  sunstone.log
novnc.log    oned.log-20230318-1616060087.gz  oned.log-20230318-1616060331     sched.log   vcenter_monitor.log

[E] ile işaretlenmiş herhangi bir hata mesajı olup olmadığını görmek için oned.log’u kontrol edin.

Adım 7: Sunstone web arayüzüne giriş yapın

Hizmetler başlatılıp çalıştığı onaylandıktan sonra, URL üzerinden Sunstone web arayüzüne giriş yapmayı deneyebilirsiniz:

http://<frontend_address>:9869

Giriş sayfasının yüklendiğini görmelisiniz:

Oturum açma ayrıntıları şunlardır:

Username: oneadmin
Password: cat /var/lib/one/.one/one_auth

Kullanıcı adını ve şifreyi şu şekilde görüntüleyebilirsiniz:

$ cat /var/lib/one/.one/one_auth

Sayfa yüklenmezse /var/log/one/sunstone.log ve /var/log/one/sunstone.error’ı kontrol ettiğinizden emin olun.

Adım 8: OpenNebula KVM Düğümünü Kurun

Bir sonraki kılavuzda Sanal Makine Yönetimini başlatmak için Ön Uca OpenNebula KVM Düğümünün eklenmesini ele alıyoruz.

9. Adım: VM Ağı İletişimi için Bridge’i Yapılandırma

Ağ yapılandırmasıyla ilgili aşağıdaki kılavuzumuza göz atın.

Adım 10: OpenNebula Veri Depolarını Yapılandırma

Veri depoları, işletim sistemi görüntülerini ve Sanal Makine verilerini depolamak için kullanılır.

Adım 11: İşletim Sistemi Görüntülerini Ekleyin

Here is a link to helpful guide:


Yazının orijinalini buradan okuyabilirsiniz.