BİZİ 7/24 ARAYIN
0(312) 354 77 33

Çoklu Disk Yapıları (Raid)

Çoklu Disk Yapıları (Raid)

RAID (Reduntant Arrays of Inexpensive Disks)

RAID sisteminde donanım controller ya da yazılım sürücüsü, birden fazla diski birleştirir ve bilgisayar tek bir büyük volume görür.

 

RAID seviyeleri

Bir RAID volume’ü yazılım veya donanım tarafından harddisklerin birleştirilmesiyle oluşmuş volume’dur. Aşağıda 2 diskten oluşan RAID seviye 0 ve RAID seviye 1 volume’leri gösterilmiştir.

RAID seviye 0’da 2 veya daha fazla disk kullanılır ve veri, blok büyüklüğündeki kümeler haline bölündükten sonra disklere şekildeki gibi yerleştirilir.

 

RAID seviye 1’de bir diske veri yazıldığında diğer diske de kopyası yazılır. İki disk, RAID volume’üne dahil olmayan sektörlerinde farklı farklı veriler içerebilir. Bu, bir diskin çöktüğü durumlarda diğer diskten onarım yapılabilmesini sağlar.

 

RAID seviye 3 volumeleri en az 3 diske ihtiyaç duyar ve bir özel parity diske sahiptir. Parity diski, diğer iki diskteki hataları tanımakta veya çöken bir disk olduğunda o diske ait içeriği tekrardan yaratmakta kullanılır. RAID seviye 3 ile veriler byte büyüklüğündeki kümelere ayrılır.Burdaki yapı RAID seviye 0‘dakiyle, küme büyüklüklerinin daha küçük olması ve özel parity diski haricinde, benzerdir.Aşağıda RAID seviye 3 volume yapısı gösterilmiştir.

Parity hesaplamanın en yaygın yolu (XOR) işlemidir. Bu işlem 2 adet bir bitlik girdi alır ve bir bitlik çıktı verir. XOR sonuç tablosu Tablo 7.1’de görülmektedir.

RAID seviye 4 volumeları, seviye 3’e verinin byte yerine blok büyüklükte bölünmesi haricinde benzerdir. 2 ya da daha fazla veri diski ve bir özel parity disk içerir.

 

RAID seviye 5, seviye 4 ile benzer yapıdadır ancak parity disk nedeniyle oluşan darboğazı gidermiştir. Seviye 5’te özel parity diski yoktur. Tüm diskler hem veri hem de parity değeri içerir. RAID seviye 5 disk yapısı aşağıdaki gibidir.

Donanımsal RAID

Arka Planı

Donanımsal RAID’in gerçekleştirimi 2 ana formda olabilir; ilki, uslardan birine takılı olan özel bir controller veya ATA, SCSI, Firewire gibi normal bir disk controller’a takılı bir aygıt olarak. İkincisinde ise, diskler donanımın özel bir parçasına takılır ve bilgisayar diskleri farklı diskler yerine tek bir RAID volume’ü olarak görür. Aşağıda disk controller ve volume arasındaki bağlantılar görülmektedir.

Eğer özel bir RAID controller kullanılıyorsa, blgisayar açıldığında bu controller’ı arar. İşletim sistemi, RAID controller’ları için donanım sürücülerine ihtiyaç duyar. Tek bir controller’la oluşturulan diskler diğer bir controller’la kullanılamaz. Eğer normal disk controller ile hard diskler arasına özel bir aygıt konulursa, özel bir sürücüye gerek kalmaz.

 

Image alma ve analiz

RAID volume’u analiz etmek için, şüpheli sistem, RAID controller sürücüsü olan LINUX veya benzeri bir CD ile başlatılır. Ardından dd veya benzeri komutlarla en son RAID volume’üne ulaşılır. Eğer uygun sürücüler yoksa bağımsız diskler ve controller laboratuvara getirilmelidir. Disklerin düzeni ile ilgili fazla yayın olmadığından diskleri controller olmadan birleştirmek zor olur.

 

Yazılım RAID

Arka Planı

Yazılımsal RAID’te, işletim sisteminin, tekil diskleri birleştirecek özel sürücüleri vardır. Bu senaryoda işletim sistemi diskleri görür fakat kullanıcıya tek RAID volume’ü gösterilir. Disklere UNIX’te raw aygıtlar aracılığıyla, Microsoft Windows’ta aygıt nesneleri aracılığıyla erişilir. Aşağıda yazılımsal RAID yapısı görülmektedir.

Windows 2000 ve XP’de, RAID volumelerini Mantıksal Disk Yöneticisi (LDM) yönetir. LDM, disklerin, DOS tabanlı partitionlardan farklı olan dinamik diskler olarak formatlanmasına gerek duyar. LDM RAID seviye 0,seviye 1 ve seviye 5 volumeleri yaratabilir. Bir dinamik disk birden fazla RAID volume’ü için kullanılabilir ama bu genelde tercih edilmez. Windows RAID volume ile ilgili tüm yapılandırma bilgilerini diskte tutar.

 

Linux’ta RAID’e, multiple device(MD) kernel sürücüsüyle ulaşılır. Linux’ta disklerin özel bir formatlamaya ihtiyacı yoktur; normal DOS partition diski olabilir. Konfigürasyon bilgisi yerel sistemde bir yapılandırma dosyasında(/etc/raidtab) bulunur. Sonuçta oluşan RAID volume’una, normal bir disk gibi mount edilmek üzere, yeni bir aygıt yaratılır. Linux’ta “persistent superblock” ayarıyla yapılandırma bilgisi diske de kaydedilebilir.

 

Image alma ve analiz

Yazılımsal RAID ile RAID volume’ü tekrardan yaratmak için o RAID volume’ü yaratan orijinal yazılıma ihtiyaç yoktur. Örneğin, LINUX, Windows için LDM’yi destekler ve Windows disklerini düzgün biçimde birleştirebilir.

 

Disk Kapsama (Disk Spanning)

Disk kapsama, birden fazla diskin tek bir büyük disk gibi görünmesini sağlar. Büyük depolama sistemleri oluşturmada ve sisteme diskler ekleyerek boyutunu dinamik olarak artırmakta kullanılır.

 

Genel bakış

Disk kapsamayla, eklenen yeni diskteki depolama alanı, var olan depolama alanının sonuna eklenir. Aşağıda kapsama için kullanılan iki disk gösterilmektedir. Her disk 100 blok içermektedir ve ilk 100 blok disk 1’e, ikinci 100 blok disk 2’ye yazılmıştır.

Bir mantıksal volume, disk kapsama yazılımının çıktısıdır. Mantıksal volume, ardışık olarak birleştirilmiş birden fazla disk veya partitiondan oluşur. Çoğu sistemin disk grupları da vardır. Bu gruplar, fiziksel disk gruplarından oluşur ve sadece aynı gruptaki diskler bir mantıksal volume oluşturmak için kullanılabilir. Aşağıdaki şekilde soyutlama seviyeleri arasındaki ilişki gösterilmektedir.

LINUX MD

Linux’ta kapsama için iki metot bulunur. İlki, daha önce RAID sistemlerde gördüğümüz MD sürücüsü, diğeri ise Mantıksal Volume Yöneticisi (LVM)’dir.

 

Arka Planı

MD sürücüsü normal DOS partitionları kullanır. Her disk birden fazla partition içerebilir ve her biri farklı RAID veya mantıksal volume içinde kullanılabilir. Bu modelde disk grubu kavramı yoktur. Hangi partition’ın hangi sırada olacağını listeleyen bir yapılandırma dosyası (/etc/raidtab) vardır ve bu dosyada konfigüre edilmedikçe volume mount edilemez. Konfigürasyon dosyasındaki “persistent superblock” değeri “0” ise yapılandırma bilgileri yalnızca yapılandırma dosyasında tutulur, ”1” ise her disk ya da partition son kısmında yapılandırma verisini tutar. Bu, LINUX’un otomatik olarak MD aygıtı oluşturmasını sağlayan “auto-detect” özelliğine izin verir.

 

Eğer diskler veya partitionlar persistent superblock içeriyorlarsa, bölümlere ayrılmış 1024 bytelık yapıları vardır. İlk bölüm disk kapsama sonuçları veya RAID volume’uyla ilgili ayarları içerir. İkinci bölüm genel bilgiler içerir. Kalan bölümler volume’daki her disk hakkında bilgiler içerir.

 

Image alma ve analiz

MD volume’daki veriyi analiz ederken, en kolay senaryo volume’un “persistent superblock” içeriyor olmasıdır. Eğer yoksa, toplama sisteminizde “/etc/raidtab”  dosyasını yaratmalısınız. Konfigürasyon dosyası yaratıldıktan sonra, raidstart komutuyla, MD aygıtı yaratılır ve dd veya benzeri tool’larla erişim yapılır. Eğer volumedeki her DOS partitionun tip değeri 0xfd ise, persistent superblock vardır ve sistem MD aygıtlarını otomatik algılama modundadır-başlangıçta bir aygıt yaratılır. “Raidstart” komutu işletildiğinde, bu işlem superblocktaki son güncelleme zamanını ve dolayısıyla ilgili checksum değerini değiştirir. Bu durum MD volume’u mount edilmediğinde ortaya çıkar.

 

Eğer diskleri sistemde, orijinal sistemdekinden farklı sıra ve yerlere yerleştirirsek superblock yeniden yazılır.

 

LINUX LVM

Arka Planı

LVM, MD’den daha gelişmiş mimariye sahiptir. Volume grupları denilen disk grupları kavramını kullanır. LVM ile kullanılan DOS partitionlarının tip değeri “0x8e” dir. Bir volume grubundaki diskler veya partitionlar, birkaç MB büyüklüğünde, eşit boyutlu konteynerlar olan “physical extent”lere bölünür.

 

Bir mantıksal volume, physical extentlerle aynı boyutta olan “logical extent”lerden oluşur. Ve logical extentlerle physical extentler arasında bir adres ilişkilendirme vardır.

 

Aşağıda iki diskteki üç set physical extent’ten bir mantıksal volume oluşumu gösterilmiştir.

Mantıksal volume gerçekleştirimi 2 yolla olur; birleştirme veya ayrıştırma. Birleştirme ile 2GB’lık bir volume, ilk 1.5GB’ı disk 1’den,kalan 500MB’ı ise disk 2 ‘den alabilir. Diğer yandan volume, ayrıştırma ile gerçekleştirilirse,2 adet 1 GB’lık disk kullanılabilir. Bu durumda ilk 1 MB’ı disk1’den,ikinci 1 MB’ı disk 2’den,üçüncü 1MB’ı tekrar disk1’den alarak devam eder.

 

Mantıksal volume’un yapılandırma verileri hem yerel sistemde hem de volumelerde tutulur. Bu verilerde zaman sahası olmadığından, MD aygıtlarda olduğu gibi mantıksal volume yaratıldığında verilerde güncelleme yapılmaz.

 

Microsoft Windows LDM

Dinamik diskler

LDM, Windows 2000 ve XP’deki mantıksal volume’ları yönetmeye yarar. Bir dinamik diskin iki önemli alanı vardır. LDM partition alanı dinamik partitionların yaratıldığı yerdir ve diskin büyük bir kısmını işgal eder. Dinamik diskin son 1MB’ı ise LDM veri tabanına ayrılmıştır. LDM veri tabanı, partitionların nasıl organize edileceğini ve mantıksal volumelerin nasıl yaratılacağını tanımlayan girdiler içerir. Aşağıda bir IA32 sistemindeki dinamik diskin yapısı görülmektedir. LDM veri yapıları, DOS partition’ının içerisinde yer almaktadır. Aşağıdaki şekilde IA32 sistemindeki her dinamik diskin tek girdili bir DOS tabanlı partition tablosu vardır. Bu girdi tüm diski,0x42 tipinde bir partition ile kapsar. LDM partition alanı ve veritabanı DOS partition içerisindedir.

IA64 sistemindeki her dinamik disk partition alanı için bir GPT partition ve LDM veritabanı için bir partition içerir. Windows sadece bir disk grubunu desteklediği için bütün dinamik diskler otomatik olarak o gruba atanır. Her dinamik diske ait partition alanı, dinamik partitionlara bölünebilir. Bir ya da daha fazla diskteki dinamik partitionlar mantıksal volume oluşturmak için gruplanırlar.

 

Aşağıda, LDM mantıksal volume’unun bir disk grubundaki dinamik partitionlardan oluşumu görülmektedir.

LDM veritabanı

LDM veritabanı, dinamik partitionların tanımlandığı ve mantıksal volume yaratma kurallarının bulunduğu yerdedir. LDM nin dört ana bölümü vardır. ”Özel header”(private header), dosya sistemindeki boot sektörüne benzerdir. Disk ve mantıksal volume’un kendine has özelliklerini tanımlar. Bu yapı disk için bir tekil ID (GUID) ve disk grubunun adını içerir. Windows’ta tek bir disk grubu bulunur. Diğer bölüm “İçerik tablosu” bölümüdür.16 sektör boyutundadır. Veri tabanlarının yapısına ilişkin bilgiler içerir.

 

Diğer bir bölüm, veritabanı alanıdır. Bu alan; diskleri, partitionları, bileşenleri ve volume’leri tanımlayan girdilere sahiptir. DOS ya da GPT tipindeki her disk için bir disk girdisi bulunmaktadır. Partition girdileri, dinamik disklerin nasıl partitionlara ayrıldığını tanımlamak için kullanılır. Bileşen girdileri partitionların nasıl birleştirilebileceğini tanımlar. Her bir partition girdisi, kullandığı bileşen girdisini işaret eder. Son olarak volume girdileri, partitionlara bileşen tiplerinin atanmasının bir sonucu olan mantıksal volume’ları tanımlar. Aşağıda LDM veri tabanındaki girdilerin arasındaki ilişkiler görülmektedir. Ok işaretleri hangi girdinin hangi girdiyi işaret ettiğini gösterir.

Son bölüm ise “işlemsel log”dur. Enerjinin gitmesi veya bir çökme durumunda diski güvenli duruma getirmeye yarar.

 

Yazar: Ögt. Göv. Dr. Baki NAKKAŞ (Adli Bilişim Uzmanı)

BLOG

BİZE SORU SORUN

Bizimle iletişime geçmek ve soru sormak için iletişim butonuna tıklayınız.