Компьютерные сети и технологии
Привет
Пользователь:

Пароль:



[ ]
[ ]

В сети
Гостей: 11
Участников: 0
На странице: 1
Участников: 4023, Новичок: Wonfrien

Разное


Серверные хранилища данных
на Wednesday 17 June 2009
от список авторов
в Hardware > Cистемы хранения данных


Введение

Изначально системы хранения данных разрабатывались для мэйнфреймов (больших машин) и большинство из них были основаны на закрытых, частных технологиях. Для мини-компьютеров были созданы такие стандарты, как SCSI. С появлением персональных компьютеров серверные стандарты (SCSI и IDE) получили широкое распространение.
Мы рассмотрим системы хранения данных, подключенные к серверу (Direct Attached Storage — DAS), т.е. устройства, подключенные непосредственно к компьютеру под управлением Windows. В этой статье внимание уделяется разработке стека ввода-вывода подсистемы хранения данных Windows для улучшения поддержки устройств Fibre Channel и SCSI. Подобные устройства воспринимаются Windows NT как подключенные непосредственно к компьютеру.

1.1 Интерфейс SCSI

Аббревиатура SCSI расшифровывается как Small Computer System Interface (интерфейс для малых компьютеров), что на данный момент кажется нелогичным, поскольку устройства SCSI обычно подключены к высокопроизводительным серверам и являются наилучшим выбором для использования в качестве подсистемы хранения для многопроцессорных центров хранения данных. Стандарты SCSI утверждаются техническим комитетом Т10, подразделением Международного комитета INCITS (InterNational Committee for Information Technology Standards), который, в свою очередь, работает под эгидой Национального института стандартизации США (American National Standards Institute — ANSI).

1.1.1 Стандарты

Шина SCSI изначально разрабатывалась в качестве параллельной архитектуры отправки данных по 8- или 16-разрядной шине. Существовали и последовательные версии архитектуры SCSI, например SSA (Serial Storage Architecture) и 1394. До определенного времени эти архитектуры (особенно SSA) разрабатывались отдельно и лишь позднее были включены в проект стандарта SCSI-3. Оба стандарта — как SSA, так и 1394 — практически не используются на рынке корпоративных подсистем хранения данных, однако достаточно широко распространены на рынке потребительских устройств.
За годы своего существования стандарты SCSI были значительно усовершенствованы, появилось множество версий, которые различаются следующими параметрами:
■ ширина шины данных;
■ быстродействие шины данных;
■ количество устройств, которые могут быть подключены к одной шине;
■ электрические и механические характеристики шины;
■ максимальная длина шины;
■ тип архитектуры шины — последовательная или параллельная. Хотя SCSI исторически ассоциируется с параллельными шинами, компьютерная индустрия активно движется в сторону последовательной архитектуры, и стандарты SCSI не являются исключением.
Обратите внимание: SCSI представляет собой не единый стандарт, а определенный набор стандартов. В одних стандартах заложены механические и электрические характеристики, в других — наборы команд, которые должны быть реализованы устройствами. Эти стандарты реализуются и в других устройствах, например Fibre Channel.
В таблице приведены различные стандарты SCSI и их характеристики.

Таблица Стандарты и характеристики SCSI

Тип SCSI

Ширина

шины

(разряд­ность)

Скорость

шины

(Мбайт/с)

Максимальное

количество

идентифика­торов SCSI

Максимальная

длина шины

(метры)

SCSI-1

8

5

8

6 или 25

Fast SCSI

(SCSI-2)

8

10

8

6 или 25

Wide SCSI

(SCSI-2)

16

10

16

6 или 25

Fast Wide

SCSI (SCSI-2)

16

20

16

6 или 25

Ultra SCSI

(SCSI-3 SPI-1)

8

20

8

1.5 или 25

4

3

Wide Ultra

SCSI

16

40

16

25

(SCSI-3 SPI-1)

8

1.5

Ultra2 SCSI

8

40

8

12

(SCSI-3 SPI-2)

2

25

Wide Ultra2

16

80

16

12

SCSI

(SCSI-3 SPI-2)

2

25

Ultra3 SCSI

или Ultra 160

16

80

16

12

(SCSI-3 SPI-3)

Ultra 320

16

320

16

12

(SCSI-3 SPI-4)



Более старые стандарты, например SCSI-1, сегодня считаются морально устаревшими. Последний стандарт, SCSI-3, на самом деле представляет собой не единую спецификацию, а целое семейство спецификаций, развитие которых продолжается. Таким образом, SCSI следует рассматривать в качестве стандарта, определяющего набор команд и других спецификаций, относящихся к физической реализации этого интерфейса. Очевидно, что определенный стандарт можно взять в качестве основы для реализации нового носителя. Примером может служить тенденция к реализации набора команд SCSI для Fibre Channel и SSA. На данный момент к самым популярным устройствам относятся Ultra SCSI и SCSI-3.

1.1.2 Функциональные возможности и характеристики

Важным параметром считается баланс между расстоянием от устройства до адаптера шины и количеством устройств SCSI, которые можно подключить к шине. Чем больше количество устройств, подключенных к шине, тем короче должна быть шина. Меньшее количество устройств позволяет удлинить шину. Кроме того, максимальная длина шины зависит от ее электрических характеристик. Обратите внимание, что эти рассуждения касаются исключительно интерфейса SCSI. Новые реализации, например iSCSI, в значительной степени отменяют старые ограничения на расстояние, поскольку могут передавать команды и результаты их выполнения на большие расстояния, используя транспортный протокол IP.
Устройства SCSI последовательно подключаются к контроллеру. Каждое устройство, подключенное к шине, получает уникальный идентификатор. Идентификаторы SCSI не назначаются произвольно, так как используются для определения относительного приоритета устройства при конкуренции за пропускную способность шины данных между устройствами.
Устройства SCSI обратно совместимы друг с другом, а некоторые даже могут работать в нескольких режимах SCSI.
Высокая производительность устройства хранения данных не гарантирует аналогичной производительности и достаточной пропускной способности сервера. При оценке сервера важно анализировать скорость и пропускную способность не только подсистемы хранения данных, но внутренних шин сервера. Большинство высокопроизводительных серверов используют одновременно несколько адаптеров SCSI, которые подключены к разным шинам PCI. При такой конфигурации шина PCI не станет "узким местом" в общей производительности системы.

1.1.3 Терминология и команды

Для проведения необходимых операций ввода-вывода одно устройство, подключенное к шине SCSI, будет работать как инициатор, а другое — как целевое устройство. Например, на сервере под управлением Windows контроллер SCSI будет инициатором, а жесткий диск или накопитель на магнитной ленте — целевым устройством.
Хотя подобное использование устройства кажется необычным, большинство адаптеров шины SCSI поддерживают обе роли (в зависимости от того, реализована ли подобная функций в прошивке адаптера шины). Контроллер iSCSI относится к устройствам, одновременно представляющим собой как целевое устройство, так и инициатор. Компьютер может быть целевым устройством при экспорте локальных дисков и инициатором при использовании дисков удаленного контроллера iSCSI.
Инициатор отправляет команду целевому устройству, которое выполняет запрошенные операции, отправляя по завершении работы соответствующий ответ. Целевое устройство SCSI остается пассивным до получения команды от инициатора. После получения команды целевое устройство принимает на себя управление шиной перед ответом на команду, например перед отправкой запрошенных данных. Инициатор и все остальные устройства на общей шине совместно определяют хозяина шины.
При загрузке сервера контроллер SCSI, который часто называют контроллером шины (об этом речь идет далее), выдает соответствующую команду каждому подключенному к шине и обнаруженному устройству SCSI. Это команда Report LUNs, благодаря которой целевое устройство возвращает список номеров логических элементов, управляемых устройством..
Не менее важными являются и команды Reserve/Release. При наличии нескольких инициаторов одному из них может потребоваться исключительный доступ к целевому устройству. Хорошим примером может служить получение эксклюзивного доступа к накопителю на магнитной ленте. Если два инициатора будут поочередно записывать данные на магнитную ленту, последняя будет содержать бесполезную информацию. Команды Reserve и Release позволяют обеспечить управление доступом.
Существует два типа команд интерфейса SCSI Reserve и Release. Один называется непостоянным резервированием, поскольку сброс параметров целевого устройства приводит к аннулированию резервирования. Другой тип — постоянным резервированием, поскольку резервирование сохраняется и после сброса параметров целевого устройства. Сброс параметров может потребоваться, если устройство-инициатор столкнется с проблемами после операции резервирования. Еще одна команда (стороннее резервирование) позволяет инициатору зарезервировать целевое устройство для другого устройства. Отмена резервирований должна осуществляться устройством, выполнившим их ранее, или же устройством, на правах которого выполнялось стороннее резервирование.
Команда Extended Copy позволяет инициатору отправить целевому устройству SCSI команду на копирование данных между двумя наборами устройств SCSI. Устройства, между которыми копируются данные, могут (не обязательно) отличаться от устройства, которое получило и обрабатывает команду Extended Copy. Дочерняя команда Receive Copy Results собирает сведения о завершении выполнения команды Extended Copy. Полученный результат может использоваться для определения характера выявленных ошибок команды Extended Copy.

В стандарте SCSI-3 определено и множество дополнительных команд, которые включают в себя блочно-ориентированные и графические команды, а также команды модификатора.
Операционная система Windows NT требует от приложений использования сквозного интерфейса SCSI, с помощью которого команды передаются устройствам SCSI. На самом деле интерфейс задействуется и для отправки команд устройствам Fibre Channel, которые поддерживают такой же набор команд SCSI. Приложения используют программный интерфейс DeviceloControl с параметром IoControlCode, равным IOCTL_SCSI_PASS_ THROUGH или IOCTL_SCSI_PASS_THROUGH_DIRECT. В первую очередь приложению требуется получить дескриптор файла для устройства SCSI посредством функции CreateFile. Начиная с Windows 2000, компания Microsoft усилила схему безопасности, требуя от приложений указывать тип доступа (чтение/запись) в параметрах функции CreateFile и позволяя только ограниченному количеству учетных записей осуществлять запись. Таким образом, функция CreateFile вернет сообщение об ошибке для всех пользователей, которым системный администратор не разрешил запись данных.
Хотя этот интерфейс вполне работоспособен, при детальном рассмотрении архитектура кажется не вполне целостной. С одной стороны, в операционной системе реализован принцип "владею всем, что вижу" по отношению к таким ресурсам, как жесткие диски. С другой стороны, Windows даже не воспринимает резервирования и освобождения устройства хранения данных прикладным приложением. В рамках более эффективной архитектуры приложение будет запрашивать у операционной системы разрешение на проведение необходимой операции, после чего система будет или отказывать, если запрос не может быть выполнен, или выполнять запрошенную операцию, возвращая приложению соответствующие служебные данные. Будет ли развитие Windows двигаться в этом направлении, можно только догадываться.



Поиск Компьютерные сети и технологии


Copyright © 2006 - 2016
При использовании материалов сайта ссылка на xnets.ru обязательна!
Rambler's Top100
Render time: 0.0773 second(s); 0.0214 of that for queries. DB queries: 29. Memory Usage: 5,035kb