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:
Kaynak | Minimum Önerilen yapılandırma |
---|---|
Memory | 8 GB |
CPU | 2 CPU (4 cores) |
Disk Size | 200 GB |
Network | 2 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-sunstone: Sunstone (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:
Yol | Tanım |
---|---|
/etc/one/ | Yapılandırma Dosyaları |
/var/log/one/ | Log dosyaları,notably: oned.log , sched.log , sunstone.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_auth | oneadmin 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.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.