OpenMediaVault (OMV) İnceleme.
Uzun zamandır evdeki test ortamına ortak depolama alını (shared storage) eklemek istiyordum fakat bir türlü vakit ve bütçe ayıramadım. Her şeyi tek bir bilgisayar üzerine yığdığınız zaman işlem kapasitesi ne kadar yüksek olursa olsun RAID türü yapılandırmalar cihazın veri yollarını fazla şişiriyor ve ciddi performans kaybına yol açıyor. Bu yüzden mütevazide olsa ayrı bir depolama alanı şart oldu.
OpenMediaVault ‘u tercih etmemin sebebi açık kaynak kodlu ve modüler olması. Bu şekilde düşük özelliklere sahip sistemlerde bile verimli çalışabiliyor. Ayrıca zamanında Commodore Amiga kullandıysanız ara yüzünde hoş sürprizler sizi bekliyor 😉
OpenMediaVault Nedir?
OpenMediaVault (OMV), ağa bağlı depolama (NAS – Network-attached storage) için tasarlanmış ücretsiz bir Linux dağıtımıdır. Projenin baş geliştiricisi, 2009 yılında başlatan Volker Theile’dir. OMV, Debian işletim sistemi temellidir ve GNU Genel Kamu Lisansı v3 aracılığıyla lisanslanmıştır.
OMV, bir dizi hizmet içerir ve ağa bağlı depolama çözümleri için kullanışlıdır. Bu hizmetler arasında SSH, (S)FTP, SMB/CIFS, iSCSI, NFS, UPnP medya sunucusu, DAAP (Digital Audio Access Protocol – iTunes) medya sunucusu, RSync, BitTorrent istemcisi ve daha fazlası bulunur. Modüler tasarımı sayesinde eklentilerle genişletilebilir. Yani ihtiyacınıza göre özelleştirebilirsiniz.
OMV ile ilgili faydalı linkler:
- OMV sitesi ve indirme.
- OMV dokümantasyon.
- OMV forum.
- Extras sayfası. Kurulu olarak gelmeyen ayrıca aktif hale getirilmesi gereken eklentiler burada.
OMV Sistem Gereksinimleri Nedir?
OMV tarafından belirlenen sistem gereksinimleri aşağıdaki gibidir;
- CPU: Herhangi bir x86-64 veya ARM uyumlu işlemci.
- RAM: 1 GiB (1GiB çok iyimser olmuş, sistemin rahat çalışması için bence en az 4GiB olmalı).
- Sistem Sürücüsü: Min. 4 GiB fakat kullanılan bellek miktarından fazla olması gerekiyor.
- Data Sürücüsü: Kullanım amacınıza göre bu kısım size kalmış.
Sistem sürücüsü olarak USB çubuklarını kullanabilirsiniz. Fakat sistem çok fazla yazma işlemi gerçekleştiriyor, normal şartlarda USB çubuğunun kullanım ömrünü çok kısa sürede bitirebilir. Bunun önüne geçmek için mutlaka “Flash Memory Plugin” eklentisini kurun. Bu eklenti için extras reposunun yüklü olması gerekiyor, nasıl yükleneceğini “Sorunlar ve Tavsiyeler” kısmında anlattım.
Benim kullandığım OMV sisteminin özellikleri;
- CPU: Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz
- RAM: 8GiB.
- Versiyon: 7.2.1-1 (Sandworm)
- Kernel: Linux 6.1.0-21-amd64
- Sistem Sürücüsü: Sandisk 16GiB 3.2Gen1 USB Çubuğu
- NIC: TP-Link TX201 – 2.5GbE x 2. Windows bunun sürücüsünü otomatik buluyor fakat iyi değil. Mutlaka sitesinden sürücüsünü indirip kurun. Debian sorunsuz bir şekilde sürücüsünü buldu.
- NIC: Intel Pro, Dual Port 10GbE PCI-E NIC x 2. Performans süper fakat NFS ve ESXi’da sorun yaşadım. Daha sonra tekrar deneyeceğim. Bu NIC’ler sunucular için, eğer PC’de kullanacaksanız mutlaka üstüne fan takın.
- Data Sürücüsü: 4 x ST1000DM010-2EP102 1TB. + 1 x 4TB USB Disk.
- mdadm 4 x Disk RAID0 + 4TB USB yedekleme için. Dosya sistemi EXT4. Erişim NFS ve SMB.
Benim bu sistemi kurma amacım sanal makineler ve daha sonra container’lar çalıştırmak. Sunucuları duruma göre USB disk’e yedekliyorum. Bu yapı için maksimum performans önemli, bu yüzden RAID0’ı tercih ettim (NAS üzerindeki verilerin hepsi tekrar üretilebilir).
OMV’deki disk ile ilgili yapılandırmaları anlamak için bazı kavramları bilmek gerekiyor. Bu kavramları bilmeden sizin için uygun olan yapıyı kurmanız mümkün değil.
RAID Nedir?
RAID (yedek bağımsız disk dizisi; orijinal olarak yedekli ucuz disk dizisi – redundant array of independent disks; originally redundant array of inexpensive disks), veri yedekleme veya performans iyileştirme amacıyla birden fazla disk sürücüsü bileşenini mantıksal bir birimde birleştiren bir veri depolama sanallaştırma teknolojisidir.
Parity Nedir?
Parity = parite, eşitlik, benzerlik.
Parity, kullanıcının sabit sürücüye yazmak istediği verilerle birlikte hesaplanan ve saklanan bir tür ekstra veridir.
Bu ekstra veriler, depolanan verilerin bütünlüğünü doğrulamak ve ayrıca verilerinizin bir kısmının okunamaması durumunda (örneğin, bir sürücünün arızalanması durumunda) “eksik” verileri hesaplamak için kullanılabilir.
Bunu nasıl yaptığını açıklamak için “9 = X + 4. X’i çöz” gibi denklemlerin olduğu lise cebir dersini düşünün. Bu durumda “X”, daha önce arızalı bir sürücüde depolanan bilinmeyen verilerdir. Bu arada “4”, okuyabileceğiniz bir sürücüde depolanan verilerdir ve “9”, daha önce yedeklilik amacıyla hesaplanan üçüncü bir sürücüde depolanan eşlik verileridir. X’i çözerek eksik verinin “5” olması gerektiğini yeniden oluşturabiliriz. Bu, verilerinizin fazladan tam bir kopyasını saklamanıza gerek kalmadan yedekliliğe sahip olmanızı sağlar ve RAID 1 veya RAID 10’a kıyasla disk alanından tasarruf sağlar.
Parity (eşlik) hesaplamaları, RAID sürücü dizilerinde, iki sürücüdeki verilerin hesaplanması ve sonuçların üçüncü bir sürücüde saklanması yoluyla hata toleransı için kullanılır. Eşlik, sürücü 1’deki bir bit ile sürücü 2’deki bir bitin XOR’lanması ve sonucun sürücü 3’te saklanması yoluyla hesaplanır. Arızalı bir sürücü değiştirildikten sonra RAID denetleyicisi diğer iki sürücüdeki kayıp verileri yeniden oluşturur.
XOR Nedir?
RAID yapıları, veri depolama sistemlerinde disk arızalarına karşı yedeklik sağlamak amacıyla kullanılır. XOR (Exclusive OR) işlemi, RAID yapılarında parite oluşturmak için kullanılır. İşte XOR’un nasıl çalıştığına dair basit bir açıklama:
XOR işlemi, ikili seviyede kullanılır ve iki veri değerini karşılaştırır. XOR sonucu, iki veri değeri arasındaki farkı gösterir. Eğer bir veri değeri 1 ise ve diğeri 0 ise sonuç 1 olur, aksi takdirde sonuç 0 olur.
RAID yapılarında, XOR işlemi veri diskleri arasında uygulanır ve bu sonuç parite biti olarak kullanılır.
Örneğin, RAID 5’te veri diskleri arasında XOR işlemi yapılır ve bu parite bilgisi disk arızalarına karşı yedeklik sağlar.
Bu basit işlem sayesinde RAID yapıları, veri güvenliğini artırır ve disk arızalarına karşı dayanıklılık sağlar.
HP P2000 StorageWorks RAID Yapılandırma ve ESX Host’a Tanıtma
İnceleme yazısını okumak için buraya tıklayın.
SnapRAID Nedir?
SnapRAID, disk dizileri için tasarlanmış bir yedekleme programıdır.
Veri kurtarma için disk arızalarına karşı parite bilgisini depolar ve en fazla altı disk arızasına kadar veri kurtarır.
Özellikle büyük, seyrek değişen dosyalara sahip ev medya merkezleri için uygundur.
SnapRaid tipik RAID çözümünüz değildir. Verileriniz için bir eşlik(parity) sürücüsü oluşturan daha çok bir yedekleme çözümüdür. İlk dört sürücü için bir disk ve ardından her ek yedi sürücü grubu için bir disk kullanır. Bana göre SnapRaid’i benzersiz kılan şey, belgelerde adı geçen Parity sürücülerinin yalnızca en büyük sürücünüz kadar büyük olması gerektiğidir.
Örneğin, 250 GB’lık bir sürücünüz, 500 GB’lık bir sürücünüz ve 2 TB’lık bir sürücünüz olabilir ve tüm bu sürücüleri yedeklemek için yalnızca bir adet 2 TB’lık Sürücüye daha sahip olmanız gerekir.
SnapRAID’in bazı özellikleri:
Farklı Boyutlardaki Diskleri Kullanma: SnapRAID, zaten dosyalarla dolu diskleri yeniden biçimlendirmeye gerek kalmadan kullanmanıza olanak tanır.
Veri Bütünlüğü: Tüm verileriniz karma işlemleriyle kontrol edilir ve sessiz veri bozulmasını önler.
Dosya Kurtarma: Yanlışlıkla silinen dosyaları kurtarabilirsiniz.
Farklı Boyutlardaki Diskler: Diskler farklı boyutlarda olabilir.
Disk Ekleme: İstediğiniz zaman disk ekleyebilirsiniz.
Veri Kilitleme Yok: SnapRAID’i kullanmayı bırakabilirsiniz, verileri yeniden biçimlendirmeden veya taşımadan durdurabilirsiniz.
Enerji Tasarrufu: Bir dosyaya erişmek için sadece bir disk dönmesi yeterlidir, bu da güç tasarrufu sağlar ve gürültüyü azaltır.
SnapRAID’in zayıf yönleri:
Gerçek Zamanlı Koruma Yok: SnapRAID, anlık anlık görüntülerde parite hesaplar. Bu, son görüntüden bu yana eklenen verilerin korunmadığı anlamına gelir.
Okuma/Yazma Hız İyileştirmeleri Yok: RAID 10 gibi alternatiflerin aksine, SnapRAID disk giriş/çıkış hızlarını artırmaz.
Ayrı Dosya Sistemleri: SnapRAID ile her disk için ayrı dosya sistemleri oluşturulur. RAID’de tek büyük bir dosya sistemi elde edersiniz.
Stripe (Şerit) Yok: SnapRAID verileri şeritlemez. RAID’de şeritleme ile hız artışı sağlanır.
Gerçek Zamanlı Kurtarma Desteği Yok: RAID’de bir disk arızalandığında çalışmayı durdurmanız gerekmezken, SnapRAID’de gerçek zamanlı kurtarma yoktur.
Bu zayıf yönler, kullanım senaryonuza bağlı olarak önemli olabilir. Eğer sık değişen küçük dosyalara sahipseniz veya hızlı okuma/yazma hızlarına ihtiyacınız varsa, diğer depolama çözümlerini de göz önünde bulundurmalısınız.
Daha fazla bilgi için kendi sayfası.
MergerFS Nedir?
MergerFS, birden fazla sabit sürücüyü birleştirmenize ve bunları işletim sistemine tek bir sürücü olarak sunmanıza olanak tanıyan bir birleştirilmiş dosya sistemidir. Tüm ihtiyaçlarınız için yalnızca tek bir sürücüyü yönetmek veya ortalıkta bulunan tüm küçük sürücüleri kullanmak istediğinizde bu oldukça faydalıdır.
Bana göre MergerFS’i diğer sistemlerden ayıran özelliği, dilediğiniz gibi ayarlayabilmenizdir. Örneğin, ilk sürücüyü kullanmasını ve ardından ikinci sürücüye geçmesini, klasör için tüm dosyaları bir arada tutmasını veya tüm sürücülerinizdeki tüm dosyalarınızı dengelemesini istiyorsunuz. Nasıl yapılandırdığınıza bağlı olarak bunların hepsi yapılabilir.
Özellikleri:
Yapılandırılabilir Davranışlar / Dosya Yerleşimi: Dosya sistemlerini istediğiniz zaman ekleyip kaldırabilirsiniz.
Bireysel Dosya Sistemlerine Karşı Dayanıklılık: Herhangi bir dosya sistemi arızasına karşı dirençlidir.
Genişletilmiş Öznitelik Desteği (xattrs): Dosya özniteliklerini destekler.
Dosya Öznitelikleri (chattr) Desteği: Dosya özniteliklerini yönetebilirsiniz.
Çalışma Zamanında Yapılandırılabilirlik (xattrs ile): Esnek yapılandırma seçenekleri sunar.
Farklı Dosya Sistem Türleriyle Uyumlu: Heterojen dosya sistemleriyle çalışır.
Dosya Sistemi Alanı Tükenirse Dosyanın Taşınması: Bir dosya sistemi alanı tükendiğinde dosyanın taşınmasını sağlar.
Salt Okunur Dosya Sistemlerini Dosya Oluştururken Yoksayma: Salt okunur dosya sistemlerini yeni dosya oluştururken yoksayar.
Salt Okunur Dosyaları Altta Yatan Dosyaya Sembolik Bağlantı Olarak Dönüştürme: Salt okunur dosyaları sembolik bağlantıya dönüştürebilir.
Sert Bağ Kopya Üzerine Yazma (CoW) Desteği: Sert bağ kopya üzerine yazma işlemini destekler.
POSIX ACL Desteği: POSIX ACL’leri yönetebilirsiniz.
MergerFS zayıf noktalar:
Performans: mergerfs, en iyi ihtimalle tek sürücü performansı kadar iyi performans gösterir. Bu, bazı durumlarda performansın düşük olabileceği anlamına gelir.
Kopya Üzerine Yazma (CoW-copy-on-write) Desteği Yok: mergerfs, aufs ve overlayfs gibi kopya üzerine yazma veya beyazlatma davranışlarını desteklemez. Yani bir salt okunur dosya sistemini bağlayıp üzerine yazamazsınız. Ancak yeni dosya oluştururken salt okunur dosya sistemlerini görmezden gelir, böylece okuma-yazma ve salt okunur dosya sistemlerini karıştırabilirsiniz.
Veri Bölünmesi Yok: mergerfs, veriyi dosya sistemleri arasında bölemez. Yani bir dosya parçası birden fazla sürücüye dağıtılmaz.
Ayrıca, bazı gerçek dünya uygulamalarında, kötü bir sürücü performansı diğer sürücülerin de etkilenmesine neden olabilir.
Daha fazla bilgi için GitHub sayfası.
BTRFS Nedir?
Btrfs, kısaca “better FS”, “butter FS” veya “b-tree FS” olarak da telaffuz edilir, modern bir Linux dosya sistemidir.
Temel veri yapısı copy-on-write (COW) ilkesine dayanır. Bu ilkeye göre, değişikliklerden sonra orijinal veriyi üzerine yazmak yerine yeni bir kopya oluşturur, böylece orijinal veri korunur.
Btrfs, havuz (pool) oluşturma, anlık görüntüler (snapshot), veri sıkıştırma, sağlama toplamları (veri bütünlüğü için checksums) ve çoklu cihaz desteği gibi gelişmiş özellikleri hedefler. Linux çekirdeğinde kararlı olarak kullanılmaktadır.
BTRFS çok yeni ve halen geliştirilmekte olan bir dosya sistemidir ve mekanik disklerde sorun çıkartabilmektedir. Bu yüzden üretim ortamında kullanılacak ise dikkat edilmelidir.
Daha fazla bilgi için wiki sayfası.
Linux yazılım RAID sürücüsü md (Multiple Devices) ve mdadm (Multiple Disk and Device Management) Nedir?
mdadm, yazılımsal RAID aygıtlarını yönetmek ve izlemek için kullanılan bir Linux yardımcı programıdır. Raidtools2 veya raidtools gibi eski yazılım RAID yardımcı programlarının yerine modern Linux dağıtımlarında kullanılır.
Ad, yönettiği md (çoklu aygıt) aygıt düğümlerinden (nodes) türetilmiştir ve önceki mdctl yardımcı programının yerini almıştır. Orijinal ad “Mirror Disk” idi, ancak daha fazla işlev eklendikçe değiştirildi. İsim artık Çoklu Disk ve Cihaz Yönetimi’nin (mdadm) kısaltması haline gelmiştir.
OpenMediaVault (OMV), Linux yazılım RAID sürücüsü (MD) ve mdadm aracını kullanarak diziler oluşturur.
OMV’de kullanılabilen RAID seviyeleri:
JBOD (Just a Bunch of Disks): Diskleri bir araya getirir, ancak herhangi bir veri yedeklemesi veya düzenlemesi yapmaz.
Stripe (RAID 0): Veriyi diskler arasında şeritler halinde dağıtır. Performansı artırır, ancak yedekleme yoktur ve bir disk arızası tüm veriyi kaybetmenize neden olur.
Mirror (RAID 1): Diskleri aynı veriyle eşleştirir. Yedekleme sağlar, ancak depolama alanını yarıya indirir.
RAID 5: En az 3 disk gerektirir. Veri ve parite blokları dağıtılır. Bir disk arızası durumunda veri kurtarılabilir.
RAID 6: En az 4 disk gerektirir. RAID 5 gibi çalışır, ancak iki disk arızası durumunda bile veri kurtarılabilir.
Stripped Mirror: İki aynalı RAID 1 dizisini şeritler. Hem performans hem de yedekleme sağlar.
Dikkat edilmesi gereken noktalar:
RAID 4 ve FAULTY seviyeleri web arayüzünde desteklenmez.
RAID 1+0, iki aynalı dizileri şeritleyerek (stripe) mümkündür.
Büyüme işleminden önce yeni diskin bölüm tablosunu temizlemek önemlidir.
ZFS Nedir?
ZFS (Zettabyte File System), ilk olarak Sun Microsystems tarafından geliştirilen gelişmiş bir dosya sistemidir.
NOT: ZFS’i OMV’ye eklemek için extras reposunu kurmanız gerekiyor. Nasıl kurulduğunu Sorunlar ve Tavsiyeler kısmında anlattım.
- ZFS, büyük veri depolama ihtiyaçlarını karşılamak için tasarlanmıştır. Petabaytlar ve hatta zettabaytlar düzeyinde depolama alanı sunabilir.
- ZFS, veri bozulmasına karşı güçlü bir koruma sağlar. “Copy-on-write” mekanizması kullanarak veri kopyalarını yönetir. Bu sayede veri bütünlüğü sağlanır.
- ZFS, esnek yapıya sahip olup birden fazla diskten oluşan havuzları yönetebilir. Aynı zamanda yüksek performans sunar.
- ZFS, modern dosya sistemlerinde en son okunan bloklara ait kopyaları işletim sisteminin sayfa önbelleklemesi yardımıyla RAM üzerinde saklamayıp kendi önbellekleme yöntemiyle bellekte saklama işlemini yapan tek dosya sistemidir.
- ZFS, geniş bir özellik setine sahip karmaşık bir dosya sistemidir. Daha basit dosya sistemlerine göre öğrenilmesi ve yönetilmesi daha zor olabilir.
- Daha fazla CPU ve bellek kaynağı gerektirebilir. Sınırlı kaynaklara sahip sistemler için bu bir sıkıntı olabilir.
- Daha fazla bilgi için OpenZFS sitesine gitmek için tıklayın.
Karşılaştığım Sorunlar Ve Tavsiyeler
- ESXi + NFS + Intel Pro, Dual Port 10GbE PCI-E NIC – bu kombinasyon ile çalışırken OMV tarafında NIC iptal oluyor. Tekrar çalışır hale gelmesi için sunucuyu tekrar başlatmam gerekiyor. TP-Link 2.5GbE ile bu sorun olmadı. Daha sonra proxmox 6.8 kerneli ile tekrar deneyeceğim.
- Sunucu NIC’lerini PC’de kullanacaksanız sıcaklıklarını mutlaka kontrol edin ve gerekirse üzerlerine fan takın.
- Sistemin kurulu olduğu USB’yi ImageUSB yazılımı ile yedekleyebilirsiniz. Kesinlikle tavsiye ederim.
OMV Extras’ı aktive etmek için sunucuya SSH ile bağlanın ve aşağıdaki komutu çalıştırın.
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash
NFS’i Windows’ta kullanabilirsiniz. Bunun için denetim masası / program ekle kaldır / windows özelliklerini ekle kaldırdan NFS servislerini ekleyin.
Hedef sunucudaki aktif NFS paylaşımlarını listeler. Bu komutu linuxtada aynı şekilde kullanabilirsiniz.
showmount -e 10.10.20.7
Mount (Windows) etmek için gerekli komut örnekleri:
mount -o nolock anon \\192.168.1.144\export\Storage N:
mount -o nolock anon \\10.10.20.7\export\mergershare N:
mount -o nolock anon \\10.10.30.20\export\ZFS N:
iSCSI İçin Örnek Konfigrasyon
iSCSI ‘yi OMV ile iki şekilde kullanabilirsiniz. Birinci yöntem LVM, ikincisi ise img dosyası yaratarak. Img dosyası sanal bir dosya sistemidir ve mevcut dosya sisteminin içine konur.
Aşağıda örnek ekran görüntülerini paylaşıyorum.
OpenMediaVault (OMV) İnceleme – Sonuç
Hazır NAS cihazlarının bir çoğu çok kısıtlı ve pahalı. Diğer yazılımsal NAS sürümlerine ise baktığımız zaman bence OMV’nin en büyük rakibi TrueNAS fakat onda da bir çok şey zorla dayatılmış, OMV kadar modüler değil. Bu zorla dayatmalar sistem kaynaklarını lüzumsuz yere tüketip performansı düşürebiliyor. Ayrıca FreeBSD tabanlı olması sürücü olayını zorlaştırabiliyor.
Bir diğer alternatif ise Fedora + Cockpit olabilir. Henüz denemedim vakit bulursam deneyeceğim.
Şimdilik anlatacaklarım bu kadar, bu yazıya daha sonra eklemeler yapacağım.