poniedziałek, 16 sierpnia 2010

ISM - DAS i SCSI ( dziwna para )

Zaczynamy naukę z drugiej części materiałów przygotowujących do egzaminu ISMa.
Kolejna sekcja ma nazwę: "Storage Networking Technologies and Virtualization". Networking to oczywiście sposoby i topologie podłączenia urządzenia storage do hosta , omówione zostaną najbardziej podstawowe trzy czyli DAS, NAS , SAN , oprócz tego sprawdzimy co to takiego jest CAS a także przyjrzymy się nieco dokładniej protokołom przesyłu danych używanych w storage takich jak SCSI i FC

Na początku omówimy rodzaje podłączenia macierzy do serwerów

Lesson: Direct Attached Storage

DAS jest to sposób ( topologia/architektura ) połączenia macierzy z hostem, gdzie te dwa urządzania są ze sobą bezpośrednio spięte. DAS może być wewnętrzny lub zewnętrzny.
W DAS wewnętrznym urządzenia storage ( dyski , napędy taśmowe ) zwykle umiejscwione są w jednej obudowie z komponentami serwerowymi ( procesor, pamięć , płyta główna ). Prędkości połączenia są duże, ale odległości bardzo ograniczone.
DAS zewnętrzny to bezpośrednie połączenie serwera i macierzy. Zwykle jest to połączenie SCSI lub FC.

Zalety DAS:
  • Tani w implementacji i używaniu
  • Prosty w zarządzaniu
  • Łatwy do implementacji

Wady DAS:
  • Ograniczona skalowalność ( mała ilość urządzeń podłączanych do jednego hosta)
  • Małe odległości
  • Możliwość przypisania danego urządzenia storage tylko do jednego hosta

 Lesson: Introduction to SCSI

SCSI to interfejs używany do komunikowania się pomiędzy różnymi rodzajami urządzeń. Jest używany głównie do komunikacji hostów z dyskami twardymi i napędami taśmowymi ale może również być wykorzystany np do podłączenia np: drukarek.
SCSI zostało zdefiniowane w 1986r ( SCSI-1) i pozwalało wtedy na transfer z prędkością 5 MB/sek na odległość do 6m, z biegiem czasu prędkość z jaką działało SCSI rosła i aktualnie najnowsza wersja SCSI ( SCSI-5) obsługuje 640 MB/sek.
Podczas prac nad SCSI-2 ustanowiony został standard dotyczący komend jakie wspierać będzie ten interfejs: common command set (CCS)

Architektura SCSI ( na przykładzie SCSI-3):

Można wyróżnić w niej 3 główne części/warstwy:

  • SCSI-3 command protocol - definicje komend które są wspólne dla wszyskich urządzeń korzystających z protokołu SCSI, a także unikalnych dostępnych jedynie niektórym rodzajom urządzeń
  • Transport Layer protocols - definiuje sposób w jaki urządzania wymieniają informacje
  • Physical Layer interconnects - opis warstwy fizycznej, zawiera takie aspekty jak typ i siła sygnałów elektrycznych 
SCSI działa w architekturze klient-serwer,przy czym urządzenia pełniące rolę serwera nazywamy targetem, o kliencie mówi się inicjator. Inicjator wywołuje komendy SCSI i przekazuje je do targetu, który po przetworzeniu zwraca mu rezultat.

SCSI Target jest dodatkowo podzielone na tzw logiczne urządzenia - LUNy ( Logical Unit Number ) - de facto to LUN nie Target jest celem komend SCSI wydawanych przez inicjator i to on je przetwarza. LUN składa się z dwóch części: device server i task manager.

Każde polecenie SCSI zawiera CDB ( Command Descriptor Block ). CDB opisuje  rozkaz który ma być wykonany oraz wszystkie parametry jakie są potrzebne do jego zdefiniowania.

Każde urządzenie SCSI, można przyporządkować do jednej z czterech grup, w zależności od ilości i rodzaju portów (fizycznych) jakie posiada:

  • target model ( urządzenie posiadające tylko porty target )
  • initiator model ( urządzenie posiadające tylko porty inicjatora )
  • combined model (urządzenie posiadające porty mogące być i targetem, i inicjatorem)
  • target model with multiple ports ( urządzenie może naraz obsługiwać polecenia od wielu inicjatorów)

Adresowanie SCSI:

Do jednej szyny SCSI może być podłączone do 8 ( narrow SCSI ) lub do 16 ( wide SCSI ) urządzeń.
Każde z nich dostaje tzw: SCSI ID, które stanowi jego adres na szynie. SCSI ID jest numerem z zakresu 0-7 dla narrow SCSI i 0-15 dla wide SCSI. Wartość adresu ( czyli ID ) oznacza także priorytet jaki ma dane urządzenie. Dla narrow SCSI maksymalny priorytet to ID=7 a następnie 6,5 itd aż do najniższego równego 0 . Przy wide SCSI aby zachować kompatybilność wstecz obowiązuje ta sama kolejność czyli 7,6,5... 0 a następnie 15 , 14 , ...,10. Inicjator zwykle ma ID = 7.
SCSI ID jest automatycznie przyznawane urządzeniom podłączającym się do szyny SCSI.

W systemach unixowych często używa się tzw: adresowania ctd -adres "urządzenia" składa się wtedy z 3 części: c - kontoler ( czyli inicjator - np: port na karcie HBA ) , t - target ( konkretny target na szynie SCSI ) , d - LUN w danym targecie.





Zarówno temat dotyczący DASu jak i SCSI są dość elementarne ( dla kogoś pracującego jako admin storage ). DAS to po prostu serwer podłączony bezpośrednio ( bez użycia sieci ze switchami ) do macierzy ( czy ogólniej urządzenia storage ). Natomiast protokół SCSI jest chyba najpopularniejszym protokołem storage jaki jest używany. Co prawda rzadko się już spotyka takie na przykład macierze "czysto" SCSI ( FC , SAS , iSCSI i inne wyparły ten rodzaj połączenia ), ale sam protokół ma się dobrze i tak naprawdę we wszystkich połączeniach FC  w środku mamy enkapsulowane stare i poczciwe komendy SCSI.

 Kończymy z DAS i SCSI i idziemy dalej...
A dalej SAN

1 komentarz:

  1. Nie do konca rozumiem stwierdzenie "SCSI ID jest automatycznie przyznawane urządzeniom podłączającym się do szyny SCSI."

    Nie ustawia sie tego zworkami/przelacznikami lub programowo? A jak sie ustawi zle, to mamy konflikty na szynie...

    OdpowiedzUsuń