Antonio Castro TEŞEKKÜRLER
İçerik:
|
Özet:
RAID (Ucuz Aşırıyinelemeli
Tekerler Dizisi, İngilizcesi: Redundant Array of Inexpensive Disks), birçok
sürücünün, çeşitli sürücülerin paralel çalışmasıyla, tek bir sanal sürücü
gibi algılanmasını sağlayan sistemler bütününü içerir. Böylece elde olmayan
göçmelerde depolanan bilgilerin bellekte korumaya alınma başarım
(performance) düzeyini arttırmak mümkün olur.
Ayrıca RAID araçları arasında kullanıcıya aynı türde birçok teker sürücüsünü RAID gibi kullanma izini veren kartlara dayanan araçlar da bulunmaktadır. Basit Z80 yongasına (chip) ve gelecek kartüstü yazılımlara teşekkürler. Bu özellikleri düşünüldüğünde bu çözümün Linux tabanlı çözümlerden daha verimli olacağını öne sürmek mümkün değildir.
Kontrol kartlarını kullanan araçlar çok pahalıdırlar ve kullanıcıyı
aynı türde teker sürücülerini satın almaya zorlamaktadırlar. Öte yandan
Linux'a uygun aygıt sürücüleri verildiğinde bu kartların bazıları
kullanılabilir; ancak bu ilginç bir çözüm değildir; çünkü Linux, pahalı
diğer katı teker seçeneklerine gerek kalmadan aynı verimde parasız yazılım
çözümü sunmaktadır.
|
Bütün bunlara karşın aynı IDE kontrol kartında bulunan çoklu teker araçlarını kullanmanın anlamı bütün bu aygıtlara hiçbir zaman eş zamanlıi giriş sağlanılamayacağıdır. Ne yazık ki SCSI tekerleri hâlâ IDE benzerlerinden daha pahalıdırlar. Linux RAID sistemi için hazırlanan yazılım çözümü (en azından) özel kartlara dayanan çözümler kadar etkilidir ve kuşkusuz daha ucuzdur ve de teker araçlarına tanınan izinler düşünüldüğünde daha esnektir.
SCSI bus'ta bir araç veriyi bus'a iletirken diğeri de aynı zamanda,
bu bilgiyi toparlayarak alır. Oysa IDE arayüzünde önce bir tekere onun
arkasından diğerlerine giriş yapılır.
Şunu da unutmamak gerekir: Linux sistemi, kök bölünümünün (root
partition) olabildiğince serbest kalması için RAID türü olmayan bir
teker aygıtından başlatılmalıdır.
Ad | BitSayısı | AygıtSayısı | MB/s | Baglayıcı | En Büyük Kablo Uzunluğu |
---|---|---|---|---|---|
SCSI-1 | 8 | 7 | 5 | 50 iğne AlçakYoğunluk | 6 m |
SCSI-2
(alias) Fast scsi, o Narrow scsi |
8 | 7 | 10 | 50 iğne YüksekYoğunluk | 3 m |
SCSI-3
(alias) Ultra, o Fast20 |
8 | 7 | 20 | 50 iğne
YüksekYoğunluk |
3 m |
Ultra Wide
(alias) Fast scsi-3 |
16 | 15 | 40 | 68 iğne YüksekYoğunluk | 1.5 m |
Ultra2 | 16 | 15 | 80 | 68 iğne
YüksekYoğunluk |
12 m |
IDE aygıtlar Linux altında /dev/hd..., adlı dosya araçları bulundurmaktadır. Bunlar SCSI aygıtlar için /dev/sd... , şeklinde, metatekerlerinde ise çekirdeği daha sonra açıklanacak seçme haklarıyla derledikten sonra, /dev/md.. biçiminde olacaktır. Bunlar gibi dört aygıt bulunmalıdır:
brw-rw---- 1 kok teker 9, 0 mayis 28 1997 md0 brw-rw---- 1 kok teker 9, 1 mayis 28 1997 md1 brw-rw---- 1 kok teker 9, 2 mayis 28 1997 md2 brw-rw---- 1 kok teker 9, 3 mayis 28 1997 md3İlk ereüimiz, değişim giriş süresini olabilecek en az şekilde yapmaya çalışmak olmalıdır; bu amaç için en iyisi RAID'de küçük bir metateker kullanmak veya bütün fiziksel tekerler arasında, geleneksel biçimde değişikliği yapmaktır. Eğer birçok değiştokuş (swap) bölünümü, her biri ayrıi bir fiziksel tekerde olmak üzere kullanılmışsa, o zaman Linux'taki değiştokuş altsistemi aralarındaki yükü yönetimiyle ilgilenir, bu nedenle RAID bu olayda hiçbir rol oynamaz.
|
Eğer okuyucu özdeş tekerleri kullanamıyorsa, RAID sistemlerinin her zaman
özdeş bilgi bloklarıyla çalıştığı hesaba katılmalıdır.Yavaş katı tekerlerin
daha fazla çalışmaya zorlanması olasıdır; ama her durumda, RAID hâlâ
daha iyi bir başarım verir. RAID sisteminin başarımındaki bir artış
gayet gösterişlidir. Başarımın RAID'deki katı tekerlerin sayısıyla doğrusal
olarak arttığını söylemek neredeyse doğrudur.
RAID0 aşırıyinelemeye sahip değildir. Şunu unutmayalım ki teker sığasını boşa harcamamak için çok sayıda teker kullanılmasının önerildiği durumlarda aşırıyinelemeye sahip olunur. Sadece üç tekerimiz varken birini harcamak boş yere yapılmıştır. Öte yandan bu bütün olası bilgi kayıplarını kapsamaz; nadir rastlanan bir olay olan katı tekerin fiziksel yozlaşmasına (deterioration) bağlı olanları kapsar. Eger 10 tane katı teker kullanılıyor olsaydı, o zaman bir parite kontrolu kullanmak boş yere harcamak sayılmazdı. Bir RAID0'da tekerlerin herhangi birinde bir hataya sahip olmak, bütün fiziksel tekerlerde saklanan bilgiyi kaybetmek anlamına gelmektedir ve biz hemen uygun bir kopyalamaylasaklama öneririz.
İlk adım çekirdeğe uygun sürücülerin eklenmesidir. Linux 2.0.xx RAID için seçenekler şunlardır:
Multiple devices driver support (CONFIG_BLK_DEV_MD) [Y/n/?] Y Linear (append) mode (CONFIG_MD_LINEAR) [Y/m/n/?] Y RAID-0 (striping) mode (CONFIG_MD_STRIPED) [Y/m/n/?] YSistemi yeni çekirdek ile başlattıktan sonra /proc dosyasi; md0, md1, md2 ve md3 olarak yeni yaratılan 4 (bu ana değerdir) aygıttaki durumu içeren mdstat girişine sahip olur. Hiçbiri başlatılmadığı için hepsinin çalısmayan durumda görünmesi ve henüz kullanılabilir halde olmaması gerekir.
-mdadd -mdrun -mdstop -mdopBu sweet-smoke.ufr-info-p7.ibp.fr /pub/Linux adresinden yöreyeçekilebilir; ama bunlar çoğunlukla dağılımların parçalarıdır.
2.1.62 çekirdekler ve daha yüksekleri için RAID0, RAID4, RAID5 kullanımına izin veren 'RAIDtools' adında farklı bir paket bulunur.
Aşağıdaki örnekte iki katı tekeri özel olarak /dev/sdb1
ve /dev/sdc1, kullanan bir RAID0 metatekerini tanımlamayı
gösteriyoruz.
meta-aygıtı | RAID Kipi | Disk Bölünümü 1 | Disk Bölünümü 1 |
---|---|---|---|
/dev/md0 | doğrusal | /dev/sdb1 | /dev/sdc1 |
Metateker biçimlendirildikten sonra hiçbir şekilde değiştirilmemelidir
yoksa içindeki tüm bilgiler kaybedilir.
mdadd -a
mdrun -a
Bu anda, md0 başlatılmış olarak gözükmelidir.Onu biçimlendirmek için:
mke2fs /dev/md0Ve mount etmek için
mkdir /mount/md0 mount /dev/md0 /mount/md0Şu ana kadar her şey çalıştıysa, okuyucu şimdi başlatım yazımındaki (booting script) bu buyrukları içermeye ilerleyebilir; böylece bir dahaki sefere sistem RAID0 metatekerini yeniden başlattığında onu otomatik olarak mount edilmiş biçimde alır. Otomatik olarak RAID0 sistemini yükseltmek için ilk olarak /etc/fstab dosyasına bir giriş eklenmelidir, ayrıca mount etmeden önce calıştırılmış yazım dosyasından 'mdadd -a' ve 'mdrun -a' buyrukları çalıştırılır. Bir Debian dağılımında bu buyruklar için kök dosyasistemini oku/yaz kipinden yeniden mount etmeden önce, "mount -n -o remount,rw /" satırında iyi bir yer /etc/init.d/checkroot.sh yazım dosyasıdır.
/ | /bigTemp + /incoming | swap | 2Gb(RAID) hda4 |
C: | D: | swap | 2Gb(RAID) sda4 |
swap | 2Gb(RAID) sdb2 |
#######</etc/fstab>################################################ # <file system> <mount point> <type> <options> <dump> <pass> /dev/hda1 / ext2 defaults 0 1 /dev/hda2 /mnt/hda2 ext2 defaults 0 2 /dev/md0 /mnt/md0 ext2 defaults 0 2 proc /proc proc defaults 0 2 /dev/hda3 none swap sw,pri=10 /dev/sdb1 none swap sw,pri=10 /dev/sda3 none swap sw,pri=10
#########</etc/mdtab>####################################### # <meta-device> <RAID-mode> <DskPart1> <DskPart1> <DskPart1> /dev/md0 RAID0,8k /dev/hda4 /dev/sda4 /dev/sdb2Kök bölünümü 6Gb teker üzerinde hda1 olarak bulunmakta, büyük bir bölünüm de internetten indirilenler için kullanılmakta, CD resimleri deposu vs. Bu bölünüm çok yük kapsamıyor; çünkü çok fazla kullanılmıyor. 4 Gb teker RAID'in verimliliğini azaltan bölünümlere sahip değil; çünkü bunlar Linux da çok nadir kullanılan MSDOS bölünümlerdir. 2Gb teker neredeyse tamamiyle RAID sistemine ayrılmıştır. Her tekerde değiştirme boşluğu olarak küçük bir alan ayrılmıstır.
RAID'deki bütün tekerleri (bölünümleri) yaklaşık olarak aynı boyutta yapmaya calısmalıyız; çünkü büyük farklar RAID'in başarımını azaltacaktır. Küçük farklar önemli değildir. Kullanılabilecek bütün boşlukları kullanarak tekerlerdeki karıştırılabilen bütün veriler birleştirilebilir ve geri kalan veriler özgür kalır.
Birçok IDE tekerini tek bir RAID'de mount etmek çok yararlı degildir; ama IDE'yi birçok SCSI'da mount etmek iyi sonuç verir. IDE tekerleri eş zamanlı girişlere izin vermez ama SCSI tekerleri verir.
Bu görsel sanalyörenin bakımını Miguel Angel Sepulveda
yapmaktadır. © Antonio Castro 1999 LinuxFocus 1999 |