İçeriğe geç

Proxmox’ta ZFS Altyapısı Nasıl Kurulur?

Kategori: Sanallaştırma Teknolojileri

ZFS Nedir?

ZFS klasik anlamda bir dosya sistemi değildir. Disk yönetimi, RAID mantığı, veri bütünlüğü ve hata kontrolünü tek bir yapı altında toplar. Bu yüzden ZFS kullanan bir sistemde disk, raid ve filesystem kavramları ayrı ayrı düşünülmez.

ZFS’in temel yaklaşımı şudur

Veri yazıldığı anda kontrol edilir, okunduğunda doğrulanır ve disk kaynaklı hatalar mümkün olan en erken aşamada tespit edilir.

Bu yazı, Proxmox VE üzerinde ZFS altyapısını veri kaybı ve performans hatası yapmadan, şifreli ve VM uyumlu şekilde kuracağız.

Fiziksel Disklerin Hazırlanması

ZFS, disklerin ham (raw) olmasını ister. Daha önceden üzerinde partition kalmış veya başka bir RAID yapısında kullanılmış diskler, havuz kurulumunda metadata çakışması yaratabilir.

Önce Proxmox arayüzüne girelim ve ilgili node’u seçelim. Ardından disk listesine geçelim.

Node → Disks

Kullanacağınız her bir diski seçip Wipe Disk diyerek üzerindeki tüm eski bölümleme tablolarını temizleyelim.

ZFS Havuzu Oluşturma Ekranını Açalım

Diskler hazırsa ZFS sihirbazını başlatalım. Node → Disks → ZFS → Create ZFS Bu ekranda havuz yapılandırmasını birlikte yapacağız.

ZFS Pool Oluşturma

Diskler hazırsa artık ZFS Pool katmanına geçelim. Pool, ZFS’in fiziksel diskleri birleştirdiği temel yapıdır.

NodeDisksZFS → Create: ZFS

Pool Name ZFS havuzumuzun adı olacak. Sonradan datastore olarak da kullanacağımız için anlamlı bir isim seçelim.

RAID Level en az 4 disk gerektirir. 2 disk aynı anda bozulsa dahi veri kaybı yaşanmaz

Compression işlemciye yük bindirmeden ciddi yer kazancı sağlar. Mutlaka açık bırakılmalıdır.

ashift güncel SSD ve HDD’lerin çoğu 4K sektör kullanır. ashift=12 ayarı, disk sektörleri ile dosya sistemini hizalayarak performans kaybını önler.

Kurulum Sonrası Kontrolleri Yapalım

Havuz oluşturulduktan sonra shell açalım ve kontrollerimizi yapalım.

NodeShell

Zpool durumunu görelim

zpool status

Sıkıştırma oranını kontrol edelim

zfs get compressratio tank

Dosya sisteminin mount edildiğini doğrulayalım

df -h

Bu kontroller sonunda havuzumuzun sağlıklı şekilde çalıştığından emin olalım.

ZFS Dataset Yapısını Oluşturalım

ZFS’te veriler doğrudan pool’a yazılmaz. Dataset katmanını kullanalım. Şimdi şifreli bir dataset oluşturalım. Önce anahtar dosyası için dizin oluşturalım

mkdir -p /root/zfskeys<br>chmod 700 /root/zfskeys

Anahtar dosyasını üretelim

head -c 32 /dev/urandom > /root/zfskeys/secure.key<br>chmod 600 /root/zfskeys/secure.key

Şifreli dataset’i oluşturalım

zfs create \<br>-o encryption=on \<br>-o keyformat=raw \<br>-o keylocation=file:///root/zfskeys/secure.key \<br>tank/secure

Durumunu kontrol edelim

zfs get encryption,keystatus tank/secure

Bu noktadan sonra oluşturulan ZFS dataset yapısı, tek node kurulumlarının yanı sıra Proxmox VE Cluster ortamlarında da sorunsuz şekilde kullanılabilir. Eğer birden fazla node ile çalışan bir altyapı planlanıyorsa, öncesinde Proxmox VE Cluster kurulumunun doğru şekilde yapılmış olması gerekir.

VM’ler İçin Alt Dataset Oluşturalım

VM disklerini doğrudan parent dataset’e yazmayalım. Alt dataset kullanalım.

zfs create tank/secure/vmdata

tank/secure şifreliyse, vmdata otomatik olarak şifreli olur. Ek ayar yapmamıza gerek kalmaz.

Şifreli Dataset’i Proxmox Storage Olarak Ekleyelim

Şimdi tekrar arayüze dönelim.

DatacenterStorageAddZFS

Bu ekranda

  • Storage ID: secure-zfs
  • Pool: tank
  • Content: Disk image, Container
  • Nodes: ilgili node

Kaydedelim. Artık Proxmox bu alanı VM diskleri için kullanabilir.

VM Disklerini Şifreli Alana Taşıyalım

Mevcut VM’ler varsa disklerini taşıyalım.

VMHardwareDiskMove Storage

Target Storage olarak secure-zfs seçelim ve işlemi başlatalım. Bu işlem sırasında VM çalışmaya devam eder. Disk yeni şifreli dataset üzerine taşınır.

Disk Arızası ve Reboot Davranışı

RAIDZ2 kullandığımız için bir disk arızasında havuz DEGRADED duruma geçer ancak çalışmayı sürdürür. Veri kaybı yaşanmaz.

Disk geri takıldığında ZFS, manuel işlem gerektirmeden resilver sürecini otomatik olarak başlatır. Bu süreçte sağlam disklerden eksik bloklar yeniden oluşturulur.

zpool status

Resilver işlemi tamamlandığında havuz durumu tekrar ONLINE olur.

Sistem reboot edildiğinde, dataset şifrelemesi keyfile ile yapılandırıldığı için ZFS dataset otomatik olarak açılır. Ek bir zfs load-key komutuna gerek kalmaz

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir