Bir RAID Tecrübesi

Son yazımda topladığımdan bahsettiğim bilgisayarım için bir RAID dizisi oluşturdum. Bu yazıda da hem RAID hakkında genel bir bilgi vereceğim hem kendi deneyimimden bahsedeceğim.

RAID'e neden ihtiyaç duyarız? Bilgisayarımızdaki en yavaş bileşen olan HDD performansını artırmak için. Diğer birçok sistem bileşeninin aksine, sabit diskin performansı ince ayarlar veya "overclock" ile arttırılamaz. Erişim süresini küçük yazılımlarla değiştirebilirsiniz, fakat bu yöntem aslen çalışma sesini azaltmak ya da disk üzerine dağılmış veriyi birleştirerek verimliliği artırmak için kullanılır.

Bir işlemci her saniyede milyonlarca, hatta milyarlarca komutu işleyebilir. Sabit disk, işlemcinin komut işleme hızına ulaşamaz. Bu sorunu ortadan kaldırmak için programlar sabit diskten alınarak RAM’e yüklenir. RAM’den de işlemciye aktarılır.

Sistem belleğinden gelen veriler de çoğunlukla CPU’nun hızına yetişemezler. Bu problemi çözmek için CPU içinde yüksek hızlı hafızalar bulunur.

Günümüzde artık işlemciler gerçekten de son derece performanslıdırlar. Ancak bilgisayarımızdan aldığımız performans sadece işlemcilerin ne kadar hızlı olduğuna değil, sabit diskimizin okuma/yazma hızına da bağlı. İşlemciniz ne kadar hızlı olursa olsun, günümüz sabit disklerin okuma/yazma hızlarının işlemci hızlarına göre düşük olması, önemli boyutta performans kaybını da beraberinde getiriyor. Eğer günlük kullanımda -İnternet'e bağlanmak, makale yazmak, video izlemek, mp3 dinlemek gibi- performans arıyorsanız, hiçbir işlemci ya da dev kapasiteli RAM, derdinize çare olamaz. Çünkü hepsi, zincirin en zayıf halkası olan sabit diski beklemek zorunda.

Disklerdeki erişim süresindeki iyileştirmeler, NCQ teknolojisi, SATA2 ve tampon bellek miktarının arttırılması performansın belli bir miktar arttırılmasını sağladı ama bu gelişme ne yazıkki CPU ve Ram’deki hıza parelel olarak gelişmedi.

RAID teknolojisi ile diskin okuma ve yazma hızı bir darboğazdan çıkınca, işlemci daha fazla ve daha hızlı gelen veriyi daha çabuk işlemek zorunda kalıyor. Tabii, doğal olarak bilgisayarınız da biraz daha hızlanmış oluyor. Yani işlemcinizin gerçek performansını bir nebze de olsa artırmış oluyorsunuz. Aslında, çoğu kullanıcı için pahalı bir işlemci yerine, fazladan bir disk alıp RAID'e geçmek, inanılmayacak kadar doyurucu sonuçlar ortaya çıkarabilir.

Sabit disklerin yarattığı performans dar boğazını aşmanın en iyi yolu olarak görülen RAID dizileri, uzun zamandır anakartlarda donanımsal olarak destekleniyor.

RAID Redundant Array of Independent Disks (yani Bağımsız Disklerin Yedekli Dizisi) kelimelerinin baş harflerinden oluşan bir kısaltmadır. Bu isimden anlayacağımız üzere normal şartlar altında bağımsız olarak da kullanılabilecek disklerin bir dizi oluşturacak şekilde bir araya getirilerek aslen veri güvenliği amaçlı yedekleme için, çeşitleri geliştirildikçe hız için de kullanılmasını ifade ediyor. RAID çok yıda yanlış anlaşılmış ilgi ile kuşatılmış bir terimdir. RAID'deki A, dizi (array) veya diziler ve I, ucuz (inexpensive) veya bağımsız (independent) anlamlarında kullanılsa da kaç seviye RAID'in tanımlandığı konusunda bir anlaşmazlık vardır. Geçtiğimiz bir kaç yılda, birçok insan ucuz kelimesi yerine bağımsız kelimesini kullandı. Ayrıca Windows 2000 sonrası sistemlerde Sanal Sabit Disk oluşturma imkanı da var. Bu ifadenin kısaltması yani SSD, Solid State Driver yani yine SSD olarak ifade edilen flash bellek tarzı dizklerin kısaltmasıyla karıştırılabiliyor.

Bir disk sürücüsü sonuç olarak hata verebilen mekanik bir alettir. RAID bilgiyi
birden fazla disk sürücüsüne depolayarak erişim hızını veya yedeklenebilirliğini
artırmayı amaçlar. Ancak Sanal Sabit Diskler ayrıca farklı Sabit Diskler üzerinden bölümlerin Sanal olarak bir sürücüymüş gibi kullanılabilmesine imkan sağlarken bunu ilgili birimleri RAID0, RAID1 ve RAID5 miş gibi yöneterek yapar.

Eskiden RAID teknolojisi ağ sunucusu üzerinde bir disk sürücü hatası olduğunda bilgi kaybını önlemek ve aksaklığa dayanıklılık sağlamak için tasarlanırdı. Ancak günümüzde basit ev bilgisayarları için de kullanılmaktadır.

RAID 1988 yılında Berkeleyde Kaliforniya Üniversitesi'nde David A. Patterson, Garth
A. Gibson ve Randy H. Katz tarafından yazılan "A Case for Redundant Arrays of
Inexpensive Disks (RAID)” (Ucuz disklerin artık dizi durumu) yazısında tanımlandı.
Orjinal yazı RAlD'in 5 seviyesini tanımladı ve RAID çözümünü tek büyük pahalı disk
(Single Large Expensive Disk -SLED) teknolojisine alternatif olarak önerdi.Bu şu demektir: Yüksek kapasiteli olan 2TB’lik disk satın almaya kalkışırsak; 1 adet 2TB kapasiteye sahip bir HDD alabiliriz veya 2 adet 1TB kapasiteli disk alabiliriz. 2 adet 1TB disk alıp RAID yaparsanız hem disklerinizin performansı birinci seçeneğe göre artar, hem de düşük bir maliyet ile 2TB bir depolama alanına sahip olursunuz.
RAID türlerine gelince: 1. seviye RAID aksaklığa dayanıklılığını sağlamak için veriyi çoğaltır.. 3, 4 ve 5 seviye RAID ise aksaklığa dayanıklılığı sağlamak için RAID dizisine yazılmakta olan veri bit örüntüsünden hesaplanan eşlik (parity) bilgisini kullanırlar. RAID 3, 4 veya 5 sisteminde bir disk sürücüsü hata verdiğinde, eşlik bilgisi hata gösteren disk sürücüsü üzerindeki veriyi hesaplamak için dizideki kalan disk sürücüleri üzerindeki veri ile birlikte kullanabilir. Bu, disk alt sisteminin ve bilgisayarıın çalışır durumda kalmasını sağlar. Ancak, kayıp veriyi tekrar yaratmak için gerekli olan hesaplamalardan dolayı bilgisayar biraz daha yavaşlayacaktır. RAID seviye 2 aksaklığa dayanmayı sağlamak için çoğaltma veya eşlik kullanmadığından yapısal olarak farklıdır. RAID 2 onun yerine özel bir hata düzeltme kodu olan hamming kodu kullanır. RAID 6, 7, 10, 50, 53 ve diğerleri birçok satıcı tarafından sağlanan yazılı kaynaklar içinde bulunabilir.

RAID 0

RAID 0 1988'de Berkeley yazısında tanımlanmadı. Aslında, yedekleme sağlamadığından
dolayı bir RAID değildir. RAID 0 sadece tek bir disk olarak kullanılan bir dizi ya da grup disk sürücüsüdür. Veri, dizideki tüm disk sürücülerine büyük parçalarla (chunk) ya da şerit (stripe) şeklinde yazılır. Büyük miktardaki veri parçaları eş zamanlı yazılıp okunabildiğinden bu diskin giriş ve çıkış performansını geliştirir. Eğer RAID 0 dizisindeki disk sürücüsü hata gösterirse dizideki bütün veriler kaybolur. Yani okuma ve yazma hızını artırır ama iki diski yedeksiz kullandığından veri kaybı riskini de iki katına çıkarır. RAID seviye 0 sık sık eşliksiz disklere bölüştürme- (disk striping without parity) olarak da adlandırılır.

RAID 1

RAID 1 için en az iki disk sürücüsü gerekir. RAID 0 hariç diğer bütün RAID seviyelerinde, uygulama için en az üç disk sürücüsü gerekir. RAD 1 bütün verileri iki farklı yere yazar. RAID kullanarak 2TB'lik veriyi depolamak için iki 2TB'lik disk sürücüsü gerekir. Bu depolama kapasitesinin yüzde 50'lik kaybıdır. RAID 1 aşağıdaki yollarla uygulanabilir:
Disk ikizleme (Disk Mirroring): İki disk sürücüsü aynı disk dnetleyicisine bağlıdır. Disk ikizlenmesi ile ilgili tek problem eğer disk denetleyicisi hata gösterirse ikizlenen veriye ulaşılamaması durumudur.
Disk çiftleme (Disk Duplexing): İkizlenmiş kümedeki her bir disk sürücüsü farklı bir disk denetleyicisine bağlıdır. Bu saf disk ikizlemnmesindeki tek hata noktasını ortadan kaldırır. İlave maliyet sadece ek disk denetleyicisidir.

RAID 2
RAID 2, RAID 2 dizisinde depolanmış tünı bilgi için hata düzeltme kodu (Error correcting Code- ECC) yaratmada hamming kodu kullanır. ECC tek bit hatalarını saptayıp düzeltebilir ve çift bit hatalarını saptayabilir. ECC kodu, veri diskden her okunduğunda okunmalı ve kodu çözülmelidir. RAID 2 uygulamak zor ve pahalıdır ve oldukça fazla ek yüke sahiptir. Örnek olarak, RAID 2 her 4 veri bit için 3 eşlik bit sağlar. RAID 2 uygulamanın gideri ve zorluğundan dolayı ticari uygulamalara sahip değildir. Uygulama için en az üç disk sürücüsü gerekir.

RAID 3
RAID 3 dizisindeki tek disk sürücüsü hata gösterdiğinde RAID 3 dizisinde depolanmış verinin aksaklığa dayanıklılığını sağlamak için tek eşlikli disk ile bit seviyesi eşliği kullanır. RAID 3 dizideki tüm disk sürücülerinin birbiriyle eşzamanlı (synchronous) olarak çalışmasını ister. Veri bitleri ve veriden hesaplanan eşlik bilgisi eşzamanlı olarak dizideki tüm disk sürücülerine yazılır. RAID 3'e dizi yaratmak için en az üç disk sürücüsü gerekir.

RAID 4
RAD 4 dizideki tek disk sürücüsü hata verdiğinde, RAID 4 dizisine aksaklığa dayanıklılık sağlamak için tek eşlikli disk ile blok seviye eşliği kullanır. Bir RAID 4 dizisinde, veriden hesaplanan veri ve eşlik bilgisi bloklardaki disk sürücülerine yazılır. Disk sürücüleri
eşzamanlı olmak zorunda değildir ve disk sürücüleri bağımsızca erişilebilir. Bir dizi yaratmak için en az üç disk sürücüsü gerekir. RAID 4'ün problemi eşlik sürücüsünün RAID dizisine her yazma işleminde erişilir olmasıdır. Bu büyük bir olasılıkla dizideki diğer sürücülerden önce hata verecek olan eşlik sürücüsünün yoğun kullanımına neden olur.

RAID 5
RAD 5 eşlikli disklere bölüştürme (disk striping with parity) kullanır. RAID 5 blok seviyesi eşliği kullanır, fakat eşlik bilgisini disk dizisindeki tüm disk sürücülerinin arasına yayar. Bu RAID 4 sistemlerinde yaygın olan eşlik sürücü hatasını ortadan kaldırır. RAID 5 sistemlerindeki depolama kapasite kaybı disk sürücülerinden birinin depolama kapasitesine eşdeğerdir. Eğer bir RAID 5 dizisinin üç 1TB disk sürücüsü varsa
dizinin depolama kapasitesi 2TBdir ki bu da üçte birlik ya da yüzde 33'lük bir kayba
karşılık gelir. Diğer bir örnekte, eğer bir RAID 5 dizisi yedi disk sürücüsüne
sahipse dizinin toplam depolama kapasitesi 6TBdir bu da altıda birlik ya da yüzde
16.67'lik bir kayba karşılık gelir.

RAID10

RAID10 aynı zamanda RAID0+1 olarak da bilinir ve bazen RAID0/1 olarak adlandırılır. Bu RAID'lerin bileşimi her iki tekniğin en iyi taraflarının kullanılmasını sağlar. Bu RAID0'ın hız performansına, RAID1'in güvenliğine sahiptir demektir. RAID10 uygulaması için en az 4 disk sürücüü gerekir. RAID10'da yüksek okuma ve yazma hızı sağlayan iki RAID0 sanal disk seti RAID1 ile ikizlenir.

DONANIM RAID YAZILIM RAlD'E KARŞI

Önceleri tamamen güvenlik için sunucu bilgisayarlarda dâhili kartlarla (RAID denetçileri) kullanılan RAID teknolojisi (Hardware Raid), artık son kullanıcıya yönelik işletim sistemlerinin NT 5.0 tabanı üzerine geliştirilmesiyle, işletim sistemiyle birlikte gelen araçlar yardımıyla ya da çeşitli 3. parti yazılımlar aracılığıyla, yazılım tabanlı (Software Raid) olarak da yapılabiliyor.

RAID çoğunlukla bir RAID disk denetleyicisi kullanarak uygulanır. Ancak, RAID
disk denetleyicileri oldukça pahalıdır. RAID Novell NetWare, Linux, Microsoft Win-
dows NT ve Microsoft Windows 2000 dahil olmak üzere birkaç ağ işletim sistemleri ve Windows 7'den sonraki işletim sistemleri tarafından yazılım olarak da uygulanabilir.

İşletim sistemi desteklenebilecek RAID türünü belirler. Örneğin, Linux seviye 0,
1, 4 ve 5'i destekleyebilmesine karşın Windows NT seviye 1 ve 5'i destekler. Yazılımsal RAID genellikle donanım temelli RAID gibi fiziksel diskden ziyade disk bölümleme seviyesinde uygulanır. Yazılımsal RAID'in dezavantajı, bu yazılımın, donanımsal RAID'in genellikle RAID denetleyicisi tarafından yaptığı işi, bilgisayarın işlemcisinin yapmasını gerektirmesidir. Yazılım içine uygulanan RAID 5, işlemcinin RAID 5 disk dizisine bilgi yazarken tüm eşlik bilgilerini hesaplamasını gerektirmektedir. Yazılım içine uygulanan RAID I bilgisayar işlemcisi üzerinde çok az bir yük aktarır.

Şimdi Hardware Raid ile Software Raid ‘ı karşılaştıralım.

1-Software RAID, işlemciye ekstra bir yüklenmeye sebep olduğundan dâhili kartlarla yapılan RAID'e göre oldukça yavaş kalıyor. Masaüstü sistemlerde güdülen asıl amaç performans olduğu için Software RAID pek tercih edilmeyen bir yöntem. Hardware RAID'in performansı software RAID'e göre çok çok üstün durumda.

2-Diğer bir farkta Hardware RAID software RAID'e göre pahalıdır. Bu yüzden anakart üreticileri bazı modellerinde bu teknolojiyi de entegre ediyorlar. Bu büyük bir avantaj, çünkü bu yüzden hem hardware RAID'in nimetlerinden faydalanabilir, hem de ekstra bir ücret ödemeden neredeyse bedavaya sahip olabiliyoruz. Tek ihtiyacınız olan bağlamak istediğiniz sabit sürücü kadar anakartınız üzerinde bağlantı noktası olması. Pahalı RAID denetleyicilerine ihtiyacınız yok.

3-Hardware RAID kullanmak için iki diskin de baştan formatlanması gerekir ve donanımın RAID BIOS'undan gerekli ayarlar yapıldıktan sonra ancak Windows kurulup gerekli driverlar yüklendikten sonra çalışır.
4-Software Raid yapılırken bilgiler kaybolmuyor ama Hardware raid için HDD’leri formatlamak gerekeceğinden tüm bilgiler kayboluyor.

5-Burada dikkat etmeniz gereken nokta, bir kere RAID dizisini oluşturduğunuzda donanımsal bir çözüme dönemiyorsunuz. Eğer fikir değiştirip donanımsal bir çözüme geçerseniz tüm diziyi baştan yaratmalısınız. Basic diskler dinamik disk haline çevrilebilir, ancak dinamik diskler Basic haline çevrilemez. Bu ancak dinamik disklerin silinmesiyle oluşur.

6-Üçüncü parti partition yazılımlarla Basic diskler üzerinde işlem yapabilirken dynamic diskler üzerinde işlem yapamamaktadırlar. Dynamic disklerde artik partition kavramı yoktur, volume kavramı vardır.
7-Dynamic disklerin diğer bir avantajı, volume'leri istedigimiz gibi extend (genişletme) edebiliriz. Bu ne demektir: istediğimiz bir volume'un boyutunu daha sonra istediğimiz şekilde arttırabiliriz, ve bunu volume'u ve/veya diski formatlamadan yapabiliriz, yeter ki diskimizde yeteri kadar bos alan olsun..

İşlemlere başlamadan önce, ne tür bir yapılandırmaya ihtiyacımız olacağını belirlemek gerekiyor. En temel, yaygın ve kullanışlı RAID türlerine göre,

1-Performans için RAID0 sistem kurabiliriz.

“Ben hız delisiyim ille de hız olsun” diyorsanız siz RAID0 kurabilirsiniz.

2-Güvenlik için RAID1 kurabiliriz.

"Benim diskimin performansı bana yeter, ben güvenlik isterim, dosyalarım çok kıymetlidir" diyorsanız, RAID 1 kurabilirsiniz. RAID 1 kullandığınızda aynı veriyi depolayan iki diskiniz olur. Disklerden birinin başına bir şey gelirse yapmanız gereken sadece onu çıkarıp yenisi takmaktır. Hiç bir veri kaybı yaşamazsınız.

3-Hem performans hem de güvenlik için RAID10 kurabiliriz.

"Benim param bol ben zengin bir insanım, hız da isterim güvenlik de arkadaş" diyorsanız, bunun için RAID10 kurabilirsiniz. RAID10 hem başarım hem güvenlik sunuyor.

4-Hızın ve Güvenliğin optimum çözümü olarak da RAID5 kurabiliriz. Böylece disklerden biri bozulsa bile diski yenileyinceye kadar verilerimize bir zarar gelmez ve sistem yavaşta olsa çalışmaya devam eder. RAID5 günümüzde en yaygın kullanılan türdür ve ben de daha önce planladığım üzere 3 adet 2TB'lik WD Blue ile bir RAID5 dizisi oluşturdum.

RAID 0 Yapılandırması
RAID 0 disk bölüştürme (disk striping) olarak bilinir. RAID 0 belirli bir şekilde eşliksiz bölüştürülmüş disk birimi kümesidir ve aksaklığa dayanıklı değildir, ancak disk giriş/çıkış başarımını geliştirir. RAID 0 üretim sunucusu çevresinde kullanılmamalıdır. Ancak, RAID 0 yüksek güçlü bir iş istasyonunda, bir dosyayı tek bir disk sürücüsünden sıralı olarak okumaya ve yazmaya zıt olarak, aynı anda birkaç diskten dosyaları öbekler halinde okuyarak ve yazarak disk giriş çıkış başarımını İyileştirmek için sıklıkla kullanılmaktadır. RAID 0'ı uygulamak için en az iki disk sürücüsüne ihtiyaç vardır. Örneğin, RAID 0 uygulamak için yapılandırılmış iki tane 1TB disk sürücüsü, 2TB bellek kapasitesi sağlar.

RAID 1 Yapılandırma (İkizleme)
RAID 1 iki farklı kuruluma sahiptir: disk ikizleme ve disk çiftlemedir. Disk ikizlemede,
bir diske yazılan her şey aynı zamanda ikinci bir diske de yazılır. Okuma herhangi bir
diskten yapılabilir. Çünkü bilgiler iki farklı disk sürücüsüne kopyalanmıştır, bir disk sürücüsünün bozulması sorun değil, ancak sadece bir zorluktur. Bilgisayar işlemekte
olan tek disk sürücüsünü kullanarak çalışmaya devam eder. Zaman izin verdiği takdirde, hatalı disk sürücüsü değiştirilebilir ve işlemekte olan disk sürücüsündeki bilgiler,
değiştirilmiş diske kopyalanabilir. Bu, ikizi yeniden oluşturur. RAID 1'i kurmak için en
az iki disk sürücüsüne ihtiyaç vardır. Disk ikizlemede, her iki disk sürücüsü de aynı disk
denetleyicisine bağlanır. İkizlemeyle RAID 1'in diske getirdiği ek yük %50'dir. Disk
denetleyicisi ikizlenmiş disk sürücüleri için tek bir bozukluk noktasıdır.

RAID 1 Yapılandırma (Çiftleme)

Disk çiftleme, disk ikizlemede var olan tek boukluk noktasını ortadan kaldırır. Bu, başka bir disk denetleyicisi bağlayarak ve RAID sistemini iki farklı disk denetleyicisine bağlanmış disk sürücülerindeki verileri kopyalamak içinn yapılandırarak yapılır. Genellikle disk ikizleme ile disk çiftleme arasında hiçbir belirgin başarım farklılığı yoktur. Yönetici sadece yeni artıklığı ikinci denetleyicis biçiminde eklemektedir. RAID 1'in çiftleme ek yükü %50'dir.

RAID 5 Yapılandırması

RAID 5 tek diskin hata vermesi durumunda aksaklığa dayanıklılık sağlamak amacıyla
çok daha karmaşık bir plan kullanır. RAID 5'i uygulamak için en az 3 disk sürücüsüne
ihtiyaç vardır. Bir RAID 5 çözümü içeren disk sürücüleri genellikle RAID 5 dizisi
(array) olarak tanımlanır Tek bir disk sürücüsündeki aksaklık bilgisayarın hata
vermesine neden olmaz. Hatalı diskteki kaybedilen veriler, kalan disklerdeki veriyi
kullanarak çabucak yeniden oluşturulabilir. Hatalı disk sürücüsü olabildiğince çabuk
değiştirilmelidir. RAID 5 bir disk hata verdikten sonra ikinci bir diskin de hata vermesini kaldıramaz. Bu durumdan dolayı bazı RAID sistemleri çalışır durumda bekleyen
yedek veya sıcak yedek (seçilen) bir disk sürücüsünün düzenlenmesine izin vermektedir. Seçilen disk sürücüsü çalışır durumdadır ve işliyordur, ancak hiçbir bilgi içermez.
Kullanılabilmesi için disk dizisindeki bir disk sürücüsünün hata vermesini bekliyordur.
RAID dizisindeki bir disk sürücüsünde hata oluştuğunda, RAID sistemi hatalı sürücüdeki bilgiyi seçilen disk sürücüsünde yeniden yapılandırmaya başlar. Bu seçilen
yöntemi, RAID'in yeniden yapılandırılması için gereken zamanı en aza indirir. Ayrıca,
RAID sisteminin RAID dizisinde depolanan tüm bilgileri yok edebilecek ikinci bir disk
hatasına karşı duyarlı olma zaman çerçevesini de en aza indirir. RAID 5 diğer RAID düzeylerinden daha etkindir, çünkü, RAID 5 dizisindeki disk sürücülerinin sayısı n olduğunda ek yük (I/n) * 100 olur. Başka bir deyişle, eğer bir RAID5 dizisi 1TB'lik 6 disk sürücüsünden oluşuyorsa ek yük (1/6)*100 ya da % 16.7 olur. RAID dizisindeki alan kaybı disk sürücülerinden biri kadardır. Bu alan eşlik bilgisini saklar. Eşlik bilgisi RAID 5 dizisindeki tüm sürücüler üzerinde depolanır, n disk sürücülerinin sayısı ve c her bir disk sürücüsünün kapasitesi olduğunda, RAID5 dizisinin toplam bellek kapasitesi (n-1)*c olur. Örneğin benim oluşturduğum RAID5 dizisine bu formülü uygularsak (3-1)*2=4TB'lik bir alana sahip oluyorum demektir.

Bu belli başlı RAID türlerini de inceledikten sonra oldukça uzamış olan bu yazıyı sonlandırıp kendi örneğimi bir sonraki yazıya kaydırmanın daha uygun olduğunu görüyorum. Devamı az sonra...

1 Yorumlar

Yorum Gönder

Daha yeni Daha eski