RAID: Hız ve Güvenlik
Hız veya Güvenlik" istiyorum. Ama bu istediklerimizi nasıl yapacağız?
Son zamanlarda, piyasada satılan IDE RAID kontrol kartlarıyla veya IDE RAID kontrol ünitesini üzerinde barındıran anakartlar ile bunu yapmak mümkün. İşte bu "RAID" terimini son zamanlarda ünlü olmasının sebebi bu. RAID terimini duyuyoruz ama nedir bu RAID? Ne işe yarar? Çalışma mantığı nasıldır? Bunların cevaplarını arayalım
RAID NEDİR? RAID ARKASINDA YATAN TEMELLER NELERDİR?
Tek sabit disk ile yapabildikleriniz sınırlıdır. Performans arttırayım deseniz, overclock edemiyorsunuz; verileri otomatik yedekleyeyim deseniz, kendiniz yedeklemek zorundasınız. Eğer disk kapasitenizi arttırdığınızda disk performansınızı arttırmak istiyorsanız, verilerinizin eş zamanlı yedeklenmesini istiyorsanız sizin bir RAID dizesi oluşturmanız gerekiyor demektir. RAID, "Redundant Array of Inexpensive Disks" kelimelerinin baş harflerinden oluşuyor. RAID dizesinde, iki veya daha fazla diski tek üniteye bağlayarak, disklerin tek başlarına yapamadığı şeyleri yapmanız olanak sağlar. Uyguladığınız RAID konfigürasyonunu çeşidine göre, RAID dizesi ile daha fazla performans, daha fazla veri güvenliği veya her ikisini de elde edebileceksiniz.
RAID’in esas amacı, bir dize içerisinde bulunan ana sabit diskin çeşitli yöntemlerle yedeği alınarak, diğer sabit disklerin bozuk olduğu zaman, sistemin çalışmama süresini en aza indirgemektir. Burada söylediklerimiz, birazdan anlatacağımız kavramlar için temel oluşturuyor.
RAID için farklı konfigürasyon seçenekleri bulunuyor. Bu konfigürasyonları RAID X (X yerine rakam geliyor ) şeklinde ifade ediyoruz. Tahmin edeceğiniz üzere, birden fazla konfigürasyon söz konusu. IDE RAID sistemler ile kullanabileceğiniz RAID 0, RAID 1 ve RAID 0+1 konfigürasyonlarını şöyle bir açıklayalım
• RAID 0 (STRIPING - ŞERİTLEME)
RAID 0 konfigürasyonunda, RAID kontrolcüsüne en az iki disk bağlayarak bir dizi oluşturuyorsunuz. Disk dizisi kullanırken, aynı türden bağlanmış diskler üzerine veriler yazılırken ardışık bloklara bölünerek diskler üzerine dağıtılarak yazdırılıyor. Bu ciddi bir performans artışı sağlıyor desek yeridir. Bunu daha anlaşılabilir bir şekilde anlatalım. Elimizde yazılması gereken 8 kelimelik bir cümle var. Dört elimizin olduğunu varsayalım. Bir elin bir kelimeyi yazması bir dakika aldığını varsayarsak; kelime sayısını el sayısına göre paylaştırıp yazdırırsak, tek elin 8 dakikada yaptığı işi, dört elimizle 2 dakikada yapmış olacağız. Sanırım mantığını anladınız.
Sonuç olarak, sistemin veri yazma/okuma performansı ciddi bir şekilde artıyor.Çünkü yazdıracağınız veri kaç tane disk bağlıysa o kadar diske paylaştırılarak yazdırılıyor.
Dikkatinizi çektiyse, RAID 0 konfigürasyonu gerçek bir RAID uygulaması değil. Çünkü hata toleransı denen bir şey yok. Gerçekten burası önemli. RAID 0 konfigürasyonundaki hard disklerden bir tanesi göçtüğünde, RAID 0 konfigürasyonu içindeki tüm disklerdeki sahip olduğunuz tüm bilgiler de güme gidiyor! Örneğin RAID 0 uygulamasında sahip olduğunuz 3 adet 10 GB’lık hard diskinizden birisi su koyu verirse, buzdolabında kötü günler için muhafaza ettiğiniz buz gibi suyunuzu içmek farz oluyor. Anlayacağınız 30 GB’lık verinin hepsi gelmemek üzere gidiyor. Burası önemli bir noktaydı.
Tabii bu dediklerimiz, performans manyaklarını etkileyecek değil hani. Sonuçta ben akıllı adamım, yedeklememi her zaman yaparım diyenler için bir sorun yok elbette.
RAID 0 konfigürasyonunu şöyle genel olarak özetleyecek olursak: RAID 0 konfigürasyonu için min. 2 diske ihtiyaç duyuyoruz. Örneğini ki tane 10 Gb’lık sabit disk bağladığımda, bu iki disk tek disk imiş gibi olacaklar ve ikisinin toplam kapasitesi yani 20 GB’lık kapasite elde etmiş olacağım. RAID 0 konfigürasyonun gerçek RAID olmadığını çünkü hata toleransının olmadığını belirttik. Bundan dolayı, bilgilerin önemli olduğu ortamda kullanılmayan bir konfigürasyondur.
• RAID 1 (MIRRORING - AYNALAMA)
Evet diğer RAID sistemimiz ise RAID 1, diğer adıyla disk "aynalama". "Aynalama" teriminden tahmin edeceğiniz üzere şu anlam ortaya çıkıyor : 2 veya daha fazla diskiniz var ve bu disklerin birisindeki bilgiler, diğerine eş zamanlı olarak kayıt ediliyor. 0 veri güvenliği amaç edinilmiş. Aniden disk göçtü diyelim. Hiç telaş yok. Bilgilerin aynalandığı diskten dosyaları tekrar yeni ana diskinize kopyalayarak olayı çözümleyebiliyorsunuz.
Gördüğünüz üzere, RAID 1 sisteminin diskten veri okuma performansına bir katkısı yok. Sadece, ECC (Hata Bulma & Düzeltme) işleminden dolayı yazma işlemi, yalnız başına kullanılan tek diskli konfigürasyona göre bir yavaşlık gösterebilir.
Anlayacağınız üzere, performansın pek önemli olmadığı, verilerin önem arz ettiği konumlarda RAID 1 sistemi çok işe yarıyor. Zaten bu sisteminde tek amacı veri güvenliği.
• RAID 0 + 1 (STRIPING+MIRRORING)
Yukarıda anlattığımız her iki yöntem, bu sistem çatısı altında toplanmış. Hem veri güvenliği en planda tutulurken, performans artışı da ihmal edilmemiş. Bu RAID konfigürasyonunu oluşturabilmeniz için en az 4 diske ihtiyacınız var. İki disk bir dize oluştururken, diğer iki disk bunların aynası oluyor yani eş zamanlı olarak yedeğini alıyor.
RAID 0 + 1 konfigürasyonunu kullandığınız sistemin veri güvenliğinin yanı sıra, yazma ve okuma hızları iyileştiriliyor. Fakat fiyat açısından bakıldığında, min. 4 diske ihtiyaç duyması pek de ucuza bu işi halledeceğimiz anlamına gelmiyor. En az 4 disk dediğime bakmayın IDE RAID kontrolcüler ile bu iş sadece 4 disk ile yapılabiliyor.
Piyasada bulunan IDE RAID kontrolcülerinin hepsinde desteklenen ortak RAID konfigürasyonları bunlar.Fakat Adaptec’in çıkardığı ve diğer IDE RAID kartlar ile desteklenmeyen RAID 5 konfigürasyonunu da destekliyor. Dolayısıyla RAID 5 olayına hafiften girelim.
• RAID 5
RAID 5, sabit disklerin RAID 0 sistemindeki gibi "Stripe" edilmesinin performans katkısının yanı sıra, parite hesaplanmasındaki güvenlik özellikleri beraberinde getiriyor. En az 3 diske ihtiyaç duyuluyor. Dizi içerisindeki tüm disklere hem veri hem de parite bilgileri dağıtılarak yazılıyor.
Resimle birlikte olaya baktığınızda daha iyi kavrayabileceksiniz. Min. 3 disk gerektiğini söylemiştik. 3 disk kullandığımı varsayıyorum. Veri yazdırırken, ilk 2 diske veriler yazılıyor, üçüncü diske parite bilgileri kayıt ediliyor. İkinci veri kayıt edişimde ise, başka bir diske parite bilgilerini kayıt ediyor. Diğerinde ise başka bir diske... İşte bu dizideki sabit disklerden birisi "gıcıklık" yaparsa, en son parite bilgilerinin kayıt edildiği diskten parite bilgileri okunarak, kayıp veriler tekrar inşaa ediliyor.
Bir tür veri güvenlik sisteminin olduğunu anlamışsınızdır. Dolayısı ile, RAID 5 sisteminin, veri güvenliğinin çok önemli olduğu konumlarda ve hata düzeltmenin olabildiğince iyi olması gereken yerlerde çok sık kullanıldığını anlamak güç değil.
Parite hesaplamasının yapılması çok ilginç bir şey. Sayfanın sonunda vereceğimiz linklerden, parite hakkında detaylı bilgilere ulaşabileceksiniz.
DİĞER RAID KONFİGÜRASYONLARI
Yukarda saydıklarımızdan başka, RAID 2, RAID 3, RAID 4, , RAID 7, RAID 53 gibi diğer konfigürasyonlarda bulunuyor. Eğer bu konfigürasyonları anlatacak olursak: parite (hafiften anladınız gibi), Hamming ve XOR hata düzeltme operasyonlarından da bahsetmek zorunda kalacağız ve bu anlattıklarımızdan bizim de dahil herkesin kafası allak bullak olacak ve bu yazıyı okumayacaksınız.
Zaten yukarıda sizler için anlattığımız RAID konfigürasyonlarının dışındaki diğer RAID konfigürasyonlarının bazıları aşırı derecede kompleks yapıya sahip olup, çok pahalı SCSI RAID kartları ile gerçekleştirilebilen işlemler.
Zaten o kompleks yapılı RAID konfigürasyonları, bizim konumuzun dışına çıkıyor biraz. Bundan dolayı esas RAID, SCSI RAID dir. IDE RAID kontrolcülerinin yapabildiği işlemler en basit yapılı olan işlemler, ki bunlar yazılımlar tarafından da yapılabiliyor. NT 4.0/Windows 2000 Server ve Linux işletim sistemlerini çok yakından tanıyanlar zaten bu olaylara pek uzak değildir. Dolayısı ile IDE RAID kontrolcüleriyle yapabildiğimiz RAID konfigürasyonları bizler için önemliydi.
Biraz önce IDE RAID konfigürasyonlarından bazılarının (örneğin RAID 0 konfigürasyonu) işletim sistemleri tarafından yapıldığından bahsettik (yine software/hardware konusuna gelmiş oluyoruz gibi). Sadece bilgi olsun diye söyleyeceğim. IDE RAID kontrolcüleri RAID konfigürasyonlarının "donanımdan" desteklediği için, yazılım yoluyla yapılan striping veya mirroring işlemlerine nazaran performansın daha iyi olduğunu söylemek mümkün. Çünkü, bu işi yazılım yaparken haliyle işlemciye yükleniyor.
Bu arada ilginç bir noktayı belirtmeden de geçmek istemiyorum. RAID kavramı yaklaşık bundan 12 yıl önce çıkarılmıştı. O günden bugüne teknoloji çok gelişti ve artık RAID’in açılımındaki üçüncü kelime olan Inexpensive (ucuz) kelimesi gerçekleşiyor gibi. Düşünsenize, IDE RAID sisteminin de 4,5 yıl kadar önce de var olduğunu düşünerek, RAID 0+1 konfigürasyonunu oluşturmak için ne kadar para harcayacağınız düşünün. Kaldı ki, önceden SCSI RAID sistemler var idi ve varın "ucuz" olayını siz düşünün. Ama artık bazı şeyler değişti gibi.
IDE RAID olayının mantıklı bir açıklamasına gelince; eski, "acınacak" türdeki performansa sahip IDE diskler (SCSI disklere göre karşılaştırıldığında) IDE RAID sisteminin oluşması için bir alt yapı oluşturamıyordu (fiyat açısından da bakmak gerekli). Gelişen IDE Diskler, ucuzlayan fiyatlarıyla beraber, IDE RAID sisteminin uygulanabilir olması için göz ve masaüstü bilgisayarlarını işine yarayacak RAID 0, RAID 1 ve RAID 0+1 konfigürasyonlarını beraberinde getirdi. Zaten masaüstü geliştirilen bir RAID sistemi için, çok büyük "sunucularda" işe yarayan kompleks RAID konfigürasyonlarını beraberinde getirmesi mantıklı değildi.
Hem kompleks yapılı RAID konfigürasyonları da desteklenseydi, IDE RAID kontrolcüleri olduğunda çok daha pahalı olacaktı ve masaüstü bilgisayar için hiçbir esprisi kalmayacaktı. Yukarıda bahsettiğimiz Adaptec’in RAID 5 konfigürasyonunu destekleyen IDE RAID kartını biraz buradan uzak tutmaya çalışıyorum. Çünkü fiyatı, diğer IDE RAID kartlardan 4-5 kat daha pahalı.
Sonuç olarak, IDE RAID, ortalığı yerinden oynatacak nitelikte. Çok makul bir fiyata sisteminizde gözle görülür bir performans artışı elde edebileceksiniz. Çoğumuz performans tutkunu olduğumuz için, veri güvenliğini biraz hiçe sayıp, RAID 0 konfigürasyonu sistemlerimizde kullanarak bir güzellik edebilirsiniz.