Donanım

Depolama Teknolojileri – Bölüm 6 SCSI ve iSCSI

Eski teknolojilere ait bilgiler günümüzde hala önemli. Yeni gelişmeler olmasına rağmen altında yatan konsept genelde hala aynı oluyor. Bu bölümde sizlere SCSI (Small Computer System Interface) arabirimi hakkında bilgi vereceğim.

 

SCSI günümüzde önemli bir yere sahip. Ortaya çıktığında ilk olarak paralel SCSI gibi örnekleri mevcuttu. SCSI sabit diskler için bağlantı arabirimi ve teknolojisi olmasına rağmen tape drives, scanner, printer yada CD/DVD sürücüleri gibi ekipmanları bağlamak içinde kullanılırdı. Örneğin; resimdeki bir scanner cihazını PC’ye bağlamak için kullanılan bir paralel SCSI bağlantı kablosudur. Kabloların pin sayısı duruma göre 50, 68 yada 80 pin olabilir.

 

clip_image002

 

SCSI arabirimi standart olarak 1986 yılında kabul edildi. Günümüze kadar özellikle modern depolama teknolojilerinde önemini korumaktadır. Daha önceki bölümümüzde PATA yada SATA arabirimlerini anlatırken olduğu gibi, SCSI arabirimi de sadece bir dizi fiziksel kablo standardından oluşmamaktadır. Bununla beraber ayrıca farklı komut setleri ve protokoller ortaya çıkmıştır.

 

İlk SCSI teknolojisi half-duplex bir iletişim sağlamaktaydı. Verinin iki yöne doğru gidip gelmesi mümkündü ama aynı zamanda sadece bir yöne gidebilirdi. 8-16 arası cihaz bağlantısı ve 1,5-25 metre arasında bir kablo mesafesi mümkündü.

 

clip_image004

 

SCSI arabiriminde yenilikler ortaya çıktıkça bu gelişmeler ile beraber SCSI-1, SCSI-2, SCSI-3 sonra Ultra3 SCSI gibi terimler karşımıza çıktı. SCSI-1 teknolojisinde 8 cihaz bağlantısı yapılabilirken ve 5 MB/sn. hız elde edebilirken bu durumlu zamanla hızla ilerlemeye başladı.

 

SCSI teknolojisini önemli kılan bir diğer unsur ise yaşanılan geliştirmeler ile beraber SCSI protokolünün farklı fiziksel altyapılar ile kullanılmasına imkan sağlandı. Daha sonra konuşacağımız ve detaylı bir şekilde bilgi vereceğim Serial Attached SCSI (SAS) ve Fible Channel arabirimler gibi SCSI teknolojisi ile beraber kullanılmaya başlandı. Özellikle SCSI-3 mimarında SCSI komutlarının bu arabirimler üzerinde taşınabilmesine imkan sağlandı.

 

Ilk SCSI-1 arabirimi 1986 yılında ortaya çıktı. 8-bit bus veriyolu ve 5MB/sn. hız oranı sunmaktaydı. 1994 yılında SCSI-2 ile beraber öncelikle çeşitli uyumsuzluk problemleri giderilmiş oldu. SCSI cihazlarının birbiri ile uyumlu bir şekilde çalışması için üreticiler tarafından uyulması gereken bazı gereksinimler mevcuttu. Bu yüzden CCS (Common Command Set) denilen bir komut seti ortaya çıktı. Ayrıca SCSI-1 standardı için geriye doğru uyumluluk desteği sunuldu.

 

 

clip_image006

 

Daha sonra SCSI-3 ortaya çıktı. Aslında SCSI-2 standart olarak kabul edildiği 1994 yıllarda bu teknoloji de geliştirilmeye başlandı. Bizlere gelişmiş bir hata kontrolü (error checking) sistemi sunmakla beraber karşımıza günümüzde popülerlik kazanmış olan iSCSI (Internet Small Computer System Interface) denilen yeni bir protokol sunuldu. Bu teknoloji ile beraber SCSI komutlarının mevcut TCP/IP yada fiber network altyapımız üzerinden taşınabilmesinin önü açıldı. Böylece veri iletişimi için ayrı bir fiziksel altyapı kurmamıza gerek kalmadı.

 

SCSI-3 çok katmanlı bir mimariden oluşmaktadır. “OSI Network Layer” modelinden bildiğiniz üzere  en en altta fiziksel katman mevcuttur. Bu katmanda örneğin Fibre Channel altyapımız diyelim. Transport katmanında FCP (Fibre Channel Protocol) komut seti olsun. SCSI-3 ve iSCSI ile beraber SCSI komutları FCP komut setinin içine paketlenip taşınabilir olduğundan mevcut altyapımızda SCSI teknolojisini böylece kullanabilir olduk.

 

OSI Modeli hakkında daha fazla bilgi için -> https://tr.wikipedia.org/wiki/OSI_modeli

clip_image008

 

SCSI’nin çalışma mantığı Client-Server tipi ilişki modeline dayanmaktadır. Initiator (Başlatıcı) – Target (Hedef) tipi ilişkide diyebiliriz. Örneğin siz iletişimi başlatacak olan Initiator’sunuz. Bu PC’niz, serverınız vs. olabilir. Mevcut bir Host Bus Adapter (HBA) kartı ile beraber ağınız üzerinde bir veri depolama birimine (target) erişebilirsiniz.

clip_image010

Host Bus Adapter (HBA) (Veri yolu bağdaştırıcısı): Host cihazımızı (Server gibi) mevcut bir veri depolama ekipmanına bağlamak için kullandığımız ekipmandır. Fiber ve iSCSI türü olarak günümüzde çeşitli seçenekleri mevcuttur.

clip_image012

SCSI iletişiminde cihazlar arasında veri iletişiminde komutlar CDB denen bir paketin içinde gitmektedir. CDB bir byte boyutunda bir “operation code” oluşur. Bunu daha sonra “command-specific parameters” ve “control areas” kodu izler. Boyutu 6, 10, 12, 16 byte olabilir ama yeni SCSI teknolojileri ile beraber bu bilgi çeşitli boyutlarda gönderilebilmektedir. Operation code bir CDB’nin boyutu ve hangi komutları içerdiği hakkında bilgi verir.

https://en.wikipedia.org/wiki/SCSI_CDB

clip_image014

Bu komutlara örnek ne olabilir? Okuma komutu, yazma, LUN birimlerini raporlama, LUN birimlerini listeleme, vs. format komutu, belirli bir LUN birimini formatlama. SCSI komut setleri kapsamlı ve güçlü komut setleridir. Çoğu (okuma-yazma gibi) genellikle kullanılmaktadır.

https://en.wikipedia.org/wiki/SCSI_command

Ayrıca cihazınıza verilen bir SCSI-ID bilgisi bu bilgiyle paylaşılmaktadır. 0-7 yarası yada güncel SCSI teknolojilerini kullandığımızda 0-15 arasında bağlantı imkanımız olabilmektedir. Sahip olduğunuz port türüne göre bu veri iletişimi sırasında target yada initiator olabilirsiniz. Yada her ikisi birden olabilirsiniz.

Yada çoklu portu olan bir target (hedef) olabilirsiniz. SCSI ID bu konuda bize yardım eder ve cihazlarımızı ayırt etmemizi sağlar ama bu karmaşıklıkta daha iyi bir adresleme sisteminin olması gerekir. Zamanla “CTD Addressing” denilen bir UNIX adresleme sistemi kullanılmaya başlandı. İsimlendirme türü olarak “cn/tn/dn” kalıbı kullanılır. Initiator ID, Target ID, Logical Unit Number (LUN) ID.

 

Logical Unit Number (LUN): belirli bir fiziksel storage yapının sanal olarak temsil edilmesidir. Bu diskin tümü olabilir, belirli bir grup diskin tümü olabilir (RAID gibi) ya da bir diskin belirli bir partition olabilir. LUN depolama altyapınızdan fiziksel olarak bağımsız çalışır. Birden fazla sunucu ya da client bu disk alanına aynı anda erişebilir. Diski kendi sistemlerinin bir parçası gibi görürler aslında böyle değildir. LUN alanında normal bir network altyapısı üzerinden erişilemez. iSCSI ya da Fiber Channel teknolojisi kullanılması gerekmektedir. Bu diske erişimde kullanılan LUN Mapping işlemi işletim sistemleri tarafından yapılır. UNIX işletim sistemlerinin bunu yapmak için bir yolu, Windows işletim sistemlerinin başka bir yolu mevcuttur.

 

SATA cihazlarda olan Native Command Queue (NCQ) teknolojisinden bahsetmiştim. SCSI arabiriminde ise bunun bir benzeri olan TCQ (Tagged Command Queuing) teknolojisi mevcuttur. Böylece 216 komut aynı zamanda diliminde diske gönderilebilir. Ayrıca komutlar arasında bazılarına öncelik (priority) verilebilir. Diskin durumuna ve okuma-yazma kafasının bulunduğu pozisyona göre komutlar en baştan en sona doğru giderek verimli bir şekilde yazılır. Disk kafası da daha az hareketle daha çok komut işlemiş olur.

 

Bu bölümde SCSI teknolojisi ve tarihi hakkında konuştuk. Diğer bölümlerde anlatacağım detaylar genelde SCSI üzerinde inşa edilmiş olacak.

Umarım sizler için faydalı bir makale hazırlamışımdır. Okuduğunuz için teşekkür ederim.

Diğer makalelerime aşağıdaki linklerden erişebilirsiniz.

Depolamanın Önemi – Tarihçesi – Gelişimi

https://www.cozumpark.com/blogs/donanm/archive/2015/07/26/depolama-teknolojileri-bolum-1-depolamanin-onemi-tarihcesi-gelisimi.aspx

Mekanik Disk Sürücüsü

https://www.cozumpark.com/blogs/donanm/archive/2015/08/16/depolama-teknolojileri-bolum-2-mekanik-disk-surucusu.aspx

Fragmentation (Parçalanma)

https://www.cozumpark.com/blogs/donanm/archive/2015/08/16/depolama-teknolojileri-bolum-3-fragmentation-parcalanma.aspx

Solid State Drives SSD – Katı Hal Diskler

https://www.cozumpark.com/blogs/donanm/archive/2015/08/23/solid-state-drives-ssd-kati-hal-diskler.aspx

 

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu