Merhaba
Bu yazımızda Linux üzerinde Software Raid nasıl yapılır onu anlatmaya çalışacağım. Centos Üzerinde denenmiştir.
Bu kurulumda 1 tanesi SSD disk olmak üzere toplamda 3 (raid1) yada 4(raid5) disk kullanılırak test edilmiştir.
İşletim sistemi kurulurken sadece SSD disk bağlı olur ve Sistem komple SSD diske kurulur.
Diğer diskler sonradan takılır ve aşağıdaki adımlar izlenerek raid konfigurasyonu yapılarak sisteme mount edilir.
Eğer sistemi’de raid üzerine kurulum yapacaksanız. Kurulum sırasındaki yönlendirmeleri takip edebilirsiniz. Bu yazımızda ben buna değinmeyeceğim.
Sistem kurulduktan sonra cihaz kapatılır ve diğer diskler sisteme bağlanır ve tekrar başlatılır. Sonrasında aşağıdaki adımlar izlenir.
Eğer ihtiyacınız olan alan 3 TB’dan fazla alan ise veya kullanıdığınız disklerin kapasitesi 3 TB üzerinde ise o zaman disklerin formatını GPT olarak değiştirmek gerekir.
Disk formatı MBR ise 3 TB lık diskin maksimum 2.2T alanı kullanılabilmektedir.
Ben burada 2x1TB disk kullanarak raid 1 yapacağım.
Diskler görüntülenir.
1 |
$ parted -l |
Daha önceki bölümleri silme
Daha önce disk üzerinde bir yapılandırma var ise aşağıdaki şekilde silinir. Yok ise bu kısım atlanır.
Bölümler listelenir.
1 |
$ parted -s /dev/sdb print |
Silinmek istenen bölüm numaraları aşağıdaki şekilde yazılarak silinir. “N” yazılı alana bölüm numarası yazılır.
1 2 |
$ parted -s /dev/sdb rm N $ parted -s /dev/sdb rm 1 |
GPT Bölüm oluşturma
2 adet 1 TB kapasiteli disk için disk’in tamamını kullanacak şekilde bir disk bölümü oluşturuyoruz.
Eğer sizin 3 TB üzerinde bir alana ihtiyacınız yok ise MBR bölümünden devam ediniz.
Disk 1 = /dev/sdb
Disk 2 = /dev/sdc
1 2 |
$ parted -s /dev/sdb "unit TB mklabel gpt mkpart primary ext3 0.00TB 3.00TB print" $ parted -s /dev/sdc "unit TB mklabel gpt mkpart primary ext3 0.00TB 3.00TB print" |
MBR Bölüm oluşturma
2 adet 1 TB kapasiteli disk için disk’in tamamını kullanacak şekilde bir disk bölümü oluşturuyoruz.
Disk 1 = /dev/sdb
Disk 2 = /dev/sdc
1 2 |
$ parted -s /dev/sdb "unit TB mklabel msdos mkpart primary ext3 0.00TB 1.00TB print" $ parted -s /dev/sdc "unit TB mklabel msdos mkpart primary ext3 0.00TB 1.00TB print" |
Raid Yapılandırması
Bu bölümde raid disk oluşturmaya başlıyoruz. Bazı parametrelerin anlamlarını verelim.
mdadm = raid yönetimini sağlayan komut.
–verbose = Yapılan işlem ile ilgili bilgi verir.
–create = yeni raid disk oluşturmak için kullanılır.
–level = raid türü seçilir. 1 (raid1) 5 (raid5) gibi.
–raid-devices= kaç adet disk kullanılacak ise o yazılır.
Devamında örnekteki gibi kullanılacak disklerin path tanımı verilir.
Örnek Raid 1 türünde disk oluşturma.
1 |
$ mdadm --verbose --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1 |
Bilgi :
Raid disk sayıları ve raid türleri
2 disk ile raid1 veya raid0 yapılabilir
3 disk ile raid5 yapılabilir
4 disk ile raid5 veya raid 6 yapılabilir.
vs.
Oluşturulan raid disk’imizi istediğimiz dosya sistemi formatında biçimlendireceğiz.
Ben burada ext3 dosya sistemini kullanacağım.
1 |
$ mkfs.ext3 /dev/md0 |
Eğer siz XFS dosya sistemini kullandıysanız tam bu aşamada aşağıdaki gibi bir onarım gerçekleştirmeniz gerekiyor.
1 2 |
$ xfs_repair -n /dev/sdb1 $ xfs_repair -n /dev/sdc1 |
Oluşturduğumuz yeni raid diskinin sistemde kullanılabilmesi için bir dizine(path) bağlanması(mount) gerekir.
Hangi dizine mount edilecek ise o dizin oluşturulur. Var olan bir dizin var ise direkt mount edilir.
Biz burada “data” isminde ayrı bir dizin oluşturup raid diskimizi bu dizine mount edeceğiz.
Dizin oluşturalım
1 |
$ mkdir /data |
Şimdi mount edelim.
1 |
$ mount /dev/md0 /data |
Disk boyutuna bakalım.
1 |
$ df -H |
Reboot sonrası otomatik mount olması için aşağıdakine benzer bir tanım ile fstab ve mtab içerisine kayıtları girilir.
1 2 3 4 |
$vim /etc/fstab /dev/md0 /data ext3 noatime,rw 0 0 $vim /etc/mtab /dev/md0 /data ext3 noatime,rw 0 0 |
Raid yapılandırmamınız reboot sonrası tekrar çalışması için ayar dosyasına eklenmesi gerekir.
Aşağıdaki komut çıktısı bu dosyaya yönlendirilir. /etc/mdadm.conf
Bu sayade raid sistem açılışında çalışır.
1 |
$ mdadm --detail --scan > /etc/mdadm.conf |
Kontrol
Raid disk eşitlemesi bu şekilde görüntülenir.
1 |
$ cat /proc/mdstat |
1 2 3 4 |
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10] md0 : active raid1 sdb1[0] sdc1[1] 24418688 blocks [2/1] [U_] [=>...................] sync = 9.9% (2423168/24418688) finish=2.8min speed=127535K/sec |
Sürekli izlemek için watch komutundan yardım alabiliriz. Her 2 saniyede bir eşitlemenin son durumunu görüntüleyecektir.
1 |
# watch -n 2 "cat /proc/mdstat" |
Eşitleme bitince aşağıdaki gibi bir durum olmalıdır. [UU] şeklinde bir ifade görüyorsanız eşitleme bitmiştir.
1 2 3 |
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10] md0 : active raid1 sdb1[0] sdc1[1] 24418688 blocks [2/2] [UU] |
Bundan sonra cihaz yeniden başlatılır ve açıldıktan sonra kontrol kısmı tekrarlanır.
1 |
# reboot |
Raid disk’i durdurma ve başlatma
Raid durdurmak için stop çalıştırmak için run komutlar uygulanabilir.
1 2 |
# mdadm --stop /dev/md0 # mdadm --run /dev/md0 |
Raid disk yapılandırmasını silmek
Raid Yapılandırmasını silmek için aşağıdaki adımlar yapılır.!!!
1 2 3 4 5 |
# mdadm --stop /dev/md0 # mdadm --remove /dev/md0 # mdadm --examine --scan > /etc/mdadm.conf # rm -rf /etc/mdadm.conf # reboot |