RAID

Yapılan işlemler kritik önem arz etmektedir. Verilerinizi yedeklemeyi unutmayınız. Yapılan işlemleri anlamadan lütfen uygulamayınız.

Her zaman sunucularımızda donanımsal olarak bir RAID bulunmayabilir veya kendi ihtiyaçlarımız  bir RAID yazılımı kullanmamız gerekebilir. Mdadm gibi araçlar sayesinde, bir depolama havuzu oluşturmak Linux'ta yıllar içinde daha da kolaylaştı. Bu program ile, kullanıcılar birkaç dakika içinde bir yazılım RAID dizisi oluşturabilir. Bir çok dağıtımda yüklü olarak gelmektedir.

https://en.wikipedia.org/wiki/Mdadm

Ön Gereksinimler

OS: Ubuntu 20.04

Linux üzerinde ki RAID dizileri en az iki sabit disk gerektirir. İlk olarak test ortamı için kullandığınız hypervisior ortamında disklerinizi ekleyiniz.

Diskleri hypervisior üzerinden ekledikten sonra, aşağıdaki komut ile yeniden başlatmadan sisteme tanıtabilirsiniz.

sudo echo "- - -" | tee /sys/class/scsi_host/host*/scan

Aşağıdaki komut ile dist isimlerini görelim.

lsblk

Bu sabit diskler üzerinde hiçbir şey kalmadan tamamen boş olmalıdır. Biz yeni eklediğimiz aşağıdaki satırı çalıştırmamıza gerek yoktur. Ancak mevcut kullanılan disklerde yapacaksanız aşağıdaki satırı çalıştırabilirsiniz.

sudo dd if=/dev/zero of=/dev/sdX
sudo mdadm --zero-superblock /dev/sdX

Her sabit sürücüdeki “X” harfini sürücünün gerçek sürücü harfiyle değiştirdiğinizden emin olun.

RAID 0,1,4,5,6,10 Yapılandırma

Mdadm'i yeni bir RAID dizisi oluşturmak için kullanmak çok basittir. Biz aşağıdaki örnekte RAID 0 yapılandıracak olsakta, RAID sistemleri için gereken disk sayılarını temin edip, aşağıdaki satırda değişiklik yapıp istediğiniz RAID yapısını oluşturabilirsiniz. Bunun için ilgili satırları değiştirmeniz yeterlidir.

RAID mimarisini belirlemek için aşağıdaki örneğe göre satırı düzenleyin.
level=5 ⇒ RAID 5

Eklediğiniz disk sayısını ve etiketlerini güncelleyin.
raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde

Bunu yapmak için, bir terminalde aşağıdaki komutu yazın. Değiştirmek ve kaldırmak için sürücü etiketleriniz doğru olduğunave  verilen örnekten farklı olacağını biliniz.

sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sdc /dev/sdd

Şimdi ise raid dizisini biçimlendirelim ve dosya sistemini belirleyelim. Linux dağıtımlarında bir RAID sürücüsünün biçimlendirilmesi için MKFS komutunun kullanılmasını yeterlidir. 

sudo mkfs.ext4  /dev/md0

RAID 0 için hazırladığımız diskleri kullanabilmek için mount etmemiz gerekmektedir. Bir dizin oluşturalım ve bağlayalım.

sudo mkdir /mnt/md0
mount /dev/md0 /mnt/md0/

Mount işlemini kalıcı hale getirmek için fstab dosyasını düzenleyelim. Aksi halde sunucu yeniden başladıktan sonra mount işlemi kaybolacaktır. Editör yardımı ile manuel düzenleyebilirsiniz veya echo komutu ile en alt satıra yazdırabilirsiniz.

sudo echo "#RAID 0 Mount in /mnt/md0" >> /etc/fstab
sudo echo "/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0" >> /etc/fstab

RAID'inizin başarıyla oluşturulduğunu kontrol edebilirsiniz.

cat /proc/mdstat

RAID Yapısını Silme ve Kaldırma

RAID yapısını çıkarmak için umount komutunu kullanabiliriz.

Veri kopyalarken RAID cihazınızı çıkarmaya ÇALIŞMAYIN!

sudo umount /dev/md0

Eğer sistem bağlantıyı koparmanıza izin vermiyor ise, aşağıdaki satırı çalıştırınız.

sudo umount /dev/md0 -l

RAID yapısını silmek için, yapılandırdığınız raid grubunun adını aşağıdaki satırda güncellemeniz yeterlidir.

 sudo mdadm --manage /dev/md0 --stop

RAID Yapısında Hatalı Disk Değiştirme

Eğer bir diskte hata alırsanız bunu bir kaç komut ile düzeltmek mümkündür.

İlk olarak hatalı diski çıkaralım. 

sudo mdadm --manage /dev/md1 --remove /dev/sde

Yeni diskimiz sistemde aktif hale geldiği zaman RAID yapımıza dahil edelim.

sudo mdadm --manage /dev/md1 --add /dev/sdX

Her sabit sürücüdeki “X” harfini sürücünün gerçek sürücü harfiyle değiştirdiğinizden emin olun.

RAID 5 + HotSpare Yapılandırma

Daha iyi anlaşılması adına bir örnek daha yapalım. Bu yapımızda  4 adet disk ekleyelim. 3 diskimizi RAID 5 olarak 1 diskimizide hata durumunda devreye girmesi için kullanalım. Test ortamı için kullandığınız hypervisior ortamında 4 adet disklerinizi ekleyiniz.

Diskleri hypervisior üzerinden ekledikten sonra, aşağıdaki komut ile yeniden başlatmadan sisteme tanıtabilirsiniz.

sudo echo "- - -" | tee /sys/class/scsi_host/host*/scan

Aşağıdaki komut ile dist isimlerini görelim.

lsblk

Disk isimlerini bulduğuma göre artık gerekli satırı düzenleyebilirim. RAID sıfır yaparken md0 ismini kullandığım için bunu md1 olarak, RAID 5 yapacağım için level kısmını 5 olarak, cihaz sayısını 3 olarak ve disk yollarımı güncelliyorum. HotSpare için aynı şekilde bir güncelleme yapmamız yeterlidir. “--spare-disk=1 /dev/sdX”

sudo mdadm --create --verbose /dev/md1 --level=5 --raid-devices=3 /dev/sde /dev/sdf /dev/sdg --spare-disk=1 /dev/sdh

Bu kısımları yukarıda yaptığımız için biraz hızlandıralım. Şimdi ise raid dizisini biçimlendirelim ve dosya sistemini belirleyelim. Linux dağıtımlarında bir RAID sürücüsünün biçimlendirilmesi için MKFS komutunun kullanılmasını yeterlidir. 

sudo mkfs.ext4  /dev/md1

RAID 5 için hazırladığımız diskleri kullanabilmek için mount etmemiz gerekmektedir. Bir dizin oluşturalım ve bağlayalım. Kalıcı olmasını istiyorsak RAID 0'da yaptığımız gibi fstab dosyasını güncellememiz gerekmektedir.

sudo mkdir /mnt/md1
mount /dev/md1 /mnt/md1/

Asıl göstermek istediğim kısma gelelim. İlk olarak RAID durumunu kontrol edelim. Aşağıdaki görselde hotspare olarak belirlediğimizi rahatlıka görebiliyoruz.

Şimdi Spare disk in devreye girdiğini görmek için aşağıdaki şekilde testini gerçekleştirebilirsiniz.

 

Blog'a Dön