Genel de uzun süre tecrübe ettiğim yâda aktif kullandığım ürünler ile ilgili (her ne kadar kaynak gösterilmeden birçok yerde farklı insanlar tarafından sanki kendileri yazmış gibi yayınlansa da ) paylaşımlar da bulunmayı seven biriyimdir fakat bu yazımın tek sebebi insanlar ile bilgi paylaşıyor olmayı sevmem değil. Son yıllar da zaten pekte ucuz olmayan lisans ücretleri üzerine bir de Kurdaki artış eklenince , aradaki farkın açılması ile açık kaynak kodlu çözümlere olan ilgi oldukça arttı.

Bu sebeple aslında bu yazının en sık aldığım sorulardan biri olan ” Hypervisor ve Storage tarafındaki maliyetler den nasıl minimum maliyet ile maximum fayda sağlarıma” genel bir cevap ta olmasını da ayrıca istiyorum.

Açık kaynak kodlu sanallaştırma platformları özelinde beğendiğim ve kullandığım 2 proje mevcut. Bir tanesi Red Hat RHEV in açık kaynak kodlu versiyonu olan Ovirt diğer ise Proxmox. Bugün Proxmox üzerine konuşacağız.

Bu yazıda;

  • Proxmox sanallaştırma platformu ile ilgili genel bir bilgilendirme
  • Proxmox sunucuların kurulumu
  • Proxmox sunucular üzerinde Cluster yapılandırması
  • Node’lar üzerindeki Local diskleri kullanarak Ceph Cluster konfigürasyonu

Yaparak direk sanallaştırma yaptığımız sunucular üzerindeki local diskleri kullanıp Hyper-converged bir sanallaştırma platformu dizayn edeceğiz.

Resim-1

Proxmox Debian tabanlı bir açık kaynak kodlu sanallaştırma platformu, özellikle Avrupa da yaygın olarak kullanıldığını söyleyebilirim. Sanal sunucular haricinde container yönetimi de yapabilme yeteneğine sahip. Her bir host\node web ara yüzüne sahip ve bu ara yüz üzerinden Cluster bir mimariniz var ise diğer host\node larıda yönetebiliyorsunuz.

KVM üzerinde sanallaştırma yapıyor ve aslında günlük hayatımızda oldukça sık kullandığımız HA Cluster, Automatic failover, Live Migration, Snapshot gibi özelliklerin hepsine sahip. Ama beni en sevdiğim özelliği CEPH ile dahili olarak gelmesi, hızlı ve kolay kurulum imkanının yanı sıra direk kendi web ara yüzü üzerinden CEPH Management yapılabilmesi. Kurulum detaylı bilgilerin bulunduğu Datasheet ‘i indirip okumanızı öneririm. Yapıyı daha iyi anlamanız için örnek mimari dizaynını aşağıda paylaşıyorum. Yapımız bu şekilde olacak.

Resim-2

Hızlıca kuruluma geçebiliriz. Kurulum için gerekli olan iso dosyasını buraya tıklayarak indirebilirsiniz, en son yayınlanan 6.0.1 versiyonu kullanacağınız.

Kurulum aşaması oldukça basit , özel hazırlanmış iso dosyasını indirdikten sonra yönergeleri takip ederek çok hızlı bir şekilde kurulumları tamamlayacağız.

  • 3 adet Host kullanacağız.
  • Her sunucuda 2 adet network kartı olacak. Network kartının birini Production Network olarak kullanacağınız.
  • Diğerini ise Ceph tarafından veri replikayonu yapmak üzere ayıracağız.
  • Her host üzerinde 50 ve 200 GB’lık 2 ayrı disk bulunuyor. 50 GB’lık diske Proxmoxu kurduktan sonra 200 GB’lık diski Shared Storage olarak kullanmak üzere oluşturduğumuz pool’a dahil edeceğiz.

Kurulum kısmı oldukça kolay olduğu için sadece ilk kurulum ekranı ve birkaç kritik yerin ekran görüntüsünü paylaşacağım. ISO dosyasını Mount ettikten sonra Boot sonrası ilk sıradaki Install seçeneği üzerinden devam ediyoruz.

Resim-3

Disk seçme kısmına geldiğimiz zaman Proxmox kurulumu yapacağımız 50 GB’lık disk’i seçerek devam ediyoruz. Altta gördüğünüz 200 GB’lık alanı ceph için kullanacağız.

Resim-4

Network kısmında gördüğünüz gibi 2 adet NIC mevcut. 1 tanesini Management ve demo ortamı olduğu için Production network için kullanırken altta gördüğünüz ens224 isimli NIC’i ceph tarafınaki data replikasyonuna ayırdım.

Resim-5

Kurulum işlemi bittikten sona sunucuyu restart ederek artık //IPADRESI:8006 üzerinden web Management konsola bağlanabilirsiniz.

Aynı şekilde diğer 2 hostunuzun da kurulumunu yapmanız gerekiyor. 3 hostun da kurulumu yaptıktan sonra verdiğiniz FQDN adreslerini etc\hosts altında 3 sunucuya da eklemeniz gerekli.

Resim-6

Kurulum işlemlerini tamamladıktan sonra. İlk sunucumuza login oluyoruz ve aşağıdaki komut ile cluster’ı hızlı bir şekilde oluşturuyoruz. Üzerinde cluster oluşturduğumuz sunucu otomatik olarak cluster’a dahil olacaktır.

pvecm create proxmoxcluster

Resim-7

Diğer sunucularımıza login olup aşağıdaki komutu çalıştırarak onları da cluster’a dahil edelim. Komutu çalıştırınca PNM01 sunucusunun şifresini girererek devam edebilirsiniz.

pvecm add PNM01

Resim-8

Aynı komutu 3 sunucuda da çalıştırdıktan sonra herhangi bir sunucu üzerinde ” pvecm status ” komutu ile cluster durumunu görüntüleyebilirsiniz.

Resim-9

Herhangi bir sunucuya web arayüzü üzerinden bağlandığınız da 3 sunucuyu da görebilmeniz gerekiyor.

Resim-10

Artık ceph konfigürasyonuna geçebiliriz. 3 sunucuya bağlanarak “pveceph install” komutu ile ilgili paketleri yüklüyoruz.

Resim-11

Yüklemeleri tamamladıktan sonra ceph replikayonu için kullanılacak network için gerekli konfigürayonları tamamlayacağız. Aynı ayar 3 sunucu içinde yapılacak.

İşlem yapacağımız sunucuyu seçtikten sonra Create\Linux Bond seçeneğini seçerek kullanacağınız network bilgisini gateway bilgisi girmeden aşağıdaki gibi konfigüre edebilirsiniz. Slave kısmında gördüğünüz gibi sadece 1 adet NIC mevcut eğer Ceph replikayonu için birden fazla network kartı kullanarak throughput unuzu arttırmak isterseniz slaves kısmında diğer NIC leride eklemeniz yeterli. Sunucu üzerindeki bu network tanımlamasını yaparken her sunucuya ayrı bir ip adresi vermeyi unutmayın. Bu örnekte ben 172.16.1.10/24 diyerek 10 ip adresini verdiğim, diğer sunucular da 11 ve 12 ip adreslerini kullanabilirsiniz.

Resim-12

Aynı network ayarlarını 3 sunucu üzerinde de tanımladıktan sonra. Cluster kurulumu yaptığınız ilk node üzerinde aşağıdaki komutu çalıştırarak Ceph cluster kurulumunu yapıyoruz. Bu işlemi sadece bir sunucuda yapmanız yeterli, web arayüzü üzerinden kontrol ettiğiniz de Ceph konfigürasyonunun geldiği görmeniz gerekiyor.

pveceph init –network 172.16.1.0/24

Resim-13

Ceph cluster içerisindeki bütün operayonların takip edilmesi için minimum 3 sunucu üzerinde ceph monitör kurulumu önerilmektedir. Proxmox GUI ekranı yada Shell üzerinden hızlıca oluşturabiliriz.

Sunuculara login olarak ” pveceph createmon” komutu ile monitörlerimizi oluşturuyoruz.

Resim-14

GUI üzerinden de kontrollerimizi sağlayarak konfigürasyonun tamamlandığını teyit ediyoruz.

Resim-15

GUI üzerinde CEPH \ OSD \ Create: OSD diyerek disk olarak daha önce bu iş için ayırdığımız 200 GB’lık diskimizi olduğu diski göstererek “Create” diyoruz ve aynı işlemi diğer 2 sunucu üzerinde de yapıyoruz.

Resim-16

Artık 3 sunucu içinde ortak olarak kullanacağımız Storage Pool oluşturabiliriz. Ceph\Pools altından “Create” diyerek pool tanımlamasını yapıyoruz.

  • Size         : Replikayon Sayısı
  • Min. Size    : izin verilen en az sayıdaki veri kopyası sayısı

Resim-17

Kontrol ettiğimiz de Storage Pool’umuzun bütün sunucularımızda tanımlandığını görebiliyoruz.


Resim-18

Yeni sunucu oluşturmak istediğimiz de ise Storage Pool’umuzu seçerek kurumum yapabiliriz.


Resim-19

Dashboard ekranı üzerinden OSD’lerin ve Monitoring servsilerinin durumlarını gözlemleyebilir, Performans kısmından aktif IO durumunu takip edebilirsiniz.

Resim-20

TAGs: Proxmox, Hypervisor, Proxmox Kurulumu, hyperconverged, hyper-converged, Ceph, Ceph Storage, Storage Pool, Virtual Environment

By Faruk TERZIOGLU

Faruk TERZIOGLU - 2003 senesinden beri aktif olarak bilgi teknolojileri sektöründe çalışıyor. Uzmanlık alanları BT altyapı çözümleri ve yazılım tanımlı veri merkezi teknolojileri, Microsoft ailesi ürünleri, Açık kaynak kodlu sanallaştırma platformları ve uygulamaları olup bulut teknolojileri öncelikli ilgilendiği alanlar arasındadır. 2018 yılında Alibaba Cloud tarafından Bulut Teknolojileri Çözümleri alanında MVP, 2019 Yılında VMware tarafından vExpert ilan edilmiştir.

4 thoughts on “Proxmox+Ceph ile Açık Kaynak Kodlu Hyper-Converged Platform”
  1. Merhaba

    Makaleniz için teşekkür ediyorum. Oldukça detaylı anlatım olmuş. Makalenizi referans alarak proxmox+ceph kurulumu yapmak istedim ancak ceph kurulumu bir türlü olmuyor. Ceph kurulumuna kadar olan kısım harfiyen doğru ancak ceph kurulumunda hata alıyorum. Aldığım hatayı aşağıda yazıyorum. Bu konuyla ilgili yardımcı olabilirmisiniz?

    root@pve1:~# pveceph install
    update available package list
    W: Failed to fetch http://deb.debian.org/debian/dists/buster/InRelease Temporary failure resolving ‘deb.debian.org’
    W: Failed to fetch http://deb.debian.org/debian/dists/buster-updates/InRelease Temporary failure resolving ‘deb.debian.org’
    W: Failed to fetch http://security.debian.org/dists/buster/updates/InRelease Temporary failure resolving ‘security.debian.org’
    W: Failed to fetch http://download.proxmox.com/debian/ceph-nautilus/dists/buster/InRelease Temporary failure resolving ‘download.proxmox.com’
    W: Failed to fetch https://enterprise.proxmox.com/debian/pve/dists/buster/InRelease Temporary failure resolving ‘enterprise.proxmox.com’
    W: Failed to fetch http://download.proxmox.com/debian/pve/dists/buster/InRelease Temporary failure resolving ‘download.proxmox.com’
    W: Some index files failed to download. They have been ignored, or old ones used instead.
    start installation
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Package ceph is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    ceph-common

    Package ceph-mds is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source

    E: Package ‘ceph’ has no installation candidate
    E: Package ‘ceph-mds’ has no installation candidate
    apt failed during ceph installation (25600)

    1. Merhabalar, rica ederim.

      Ceph repoyu manuel ekleyerek dener misiniz ? Bu arada Internet erişimi ile aranızda proxy yada websense tarzı bir güvenlik ürünü var ise sunucuya geçici olarak direk internet erişimi verdirmenizi öneririm.

      https://pve.proxmox.com/wiki/Package_Repositories

      Proxmox VE Ceph Testing Repository
      This Ceph repository contains the Ceph packages before they are moved to the main repository. It is used to test new Ceph releases on Proxmox VE.

      File /etc/apt/sources.list.d/ceph.list
      deb http://download.proxmox.com/debian/ceph-nautilus buster test

  2. Faruk bey güzel makaleleriniz var teşekkürler.
    Ceph olayını inceliyorumda henüz fazla yol alamadım.
    Desktop PC ye proxmox virtual 7 kurulum yaptım 1 container oluşturup içine 2 adet vm oluşturdum. biri opensource firewall diğeride uzaktan bazı senoryaları test etmek için win10 kurulum yaptım.
    240ssd kullandım. Ceph oluşturayım diye çabalıyorum belki mantıklı belkide mantıksız bilmiyorum.
    Bu noktada ne tavsiye edersiniz?

    Makaleniz hakkında anlatımdan anladığım siz 3 adet fiziki Server’a mı proxmox kurup birleştiriyorsunuz?

Leave a Reply

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

  • Facebook
  • X (Twitter)
  • LinkedIn
  • More Networks
Copy link