Наболело! Чуть ли не каждый день вижу вопросы такого плана: “В сервер можно поставить 16 (24) жестких диска, а SAS RAID контроллер у меня только 8-ми (или того хуже 4х) портовый! Что мне делать? Это наверное ошибка в конфигурации?!”. Ну что на это можно сказать? Может быть это конечно и ошибка, но скорее всего нет. Как же так? А все очень просто: SAS это протокол последовательной передачи данных и поддерживающий коммутацию. Если Вам нужно к серверу подключить 7 рабочих станций, Вы же не ставите в сервер 7 сетевых карт, а используете коммутатор на 8 портов, который позволяет всем машинам получить доступ к серверу. Точно также и в данной ситуации: либо в самом корпусе (прямо на бэкплейне), либо в виде отдельной карты присутствует аналог этого самого коммутатора. Только в данном случае он называется SAS-экспандером и позволяет подключить к RAID контроллеру гораздо больше дисков, чем есть SAS линий на самом контроллере. Наиболее распространены экспандеры на базе чипов LSI: LSISASx28, LSISASx36 или LSISAS2x36 (для 6Gbps SAS). В частности, на бэкплейнах в корпусах Supermicro используются экспандеры именно LSI. Отдельные карты с экспандерами также существуют, например в России проще всего найти их среди продукции компании Chenbro.
На рисунке – возможная схема подключения с двумя RAID контроллерами для отказоустойчивости к дискам через экспандер. Правда, надо сказать что это довольно специфичная конфигурация, которую мы обычно наблюдаем во внешних дисковых системах, в серверах же используется более простая схема, в которой нет ни второго контроллера, ни второго экспандера.
Вот вроде бы и разобрались – для подключения 24х дисков вовсе не нужно 24 порта на контроллере, достаточно и 4х (так как обычно именно 4 SAS линии используется для соединения контроллера с экспандером). А используя контроллер с 4мя внутренними портами и 4мя внешними можно не только задействовать (при использовании экспандера все диски в сервере, но и обеспечить возможность дальнейшего увеличения дисковой подсистемы за счет добавления внешней дисковой полки (JBOD).
Но сразу возникает несколько новых вопросов: “А нужно ли использовать экспандер? Может быть он так замедляет работу, что от него надо отказаться? У меня целых 24 (а то и еще больше) диска подключено только по 4м линиям SAS – наверное это будет очень медленно?”.
Попробуем найти ответы. Начнем с конца: 4 SAS линии по 3Gbps дают в сумме 12Gbps, а это целых 1.5 Гига-байта в секунду. Можно ли реально достичь такой пропускной способности? В принципе можно, но (а) нужно помнить, что наверное с этим потоком нужно еще что-то делать, а не просто читать или писать и (б) дисков для этого потребуется (даже при благоприятном стечении обстоятельств) заметно больше десятка. А если учесть, что при типичной работе сервера запросы к дисковой подсистеме идут в значительной степени случайные, то полосы пропускания в 12Gbps оказывается вполне достаточно – можете проверить сами на любом своем сервере, запустив perfmon (под Windows) и посмотрев на трансфер с дисков во время работы. А что до возникновения дополнительных задержек при использовании экспандеров, то они конечно есть, но “поймать” (измерить) их Вам не удастся – настолько они малы по сравнению с задержками при обращении к жесткому диску. Есть и еще один аргумент, чтобы не бояться экспандеров – в RAID-контроллерах, где количество портов больше 8, зачастую это объясняется именно наличием интегрированного на плате экспандера – например Adaptec 51245, 51645, 52445. Так что по сути, делая выбор в пользу многопортового контроллера, Вы просто приобретаете SAS экспандер на одной плате с контроллером.
Итак, использование SAS экспандеров не только не противопоказано, а вполне оправдано в подавляющем большинстве случаев!
Большое спасибо за эту и другие статьи (про RAID, например)! Изложение на высоком уровне, и в то же время доступно. Для меня это чтение было очень полезно.
ОтветитьУдалитьмне кажется что использование 1 контроллера, например 5805, с экспандером на 24 диска хуже чем использование 3-х таких контроллеров с прямым подключением (8*3=24, т.е. диски те же) за счет увеличения кэш памяти контроллеров
ОтветитьУдалить2dexter:
ОтветитьУдалитьЕсли стоит задача увеличить кэш, то имеет смысл не 24 контроллера ставить, а воспользоваться технологией Adaptec MaxIQ: http://www.adaptec.com/ru-RU/products/CloudComputing/MAXIQ/SSD-Cache-Performance/index.htm
Эффект будет в подавляющем большинстве случае лучше, а цена ниже.
Спасибо, прояснило некоторые моменты несведущему.
ОтветитьУдалитьПлохо знаком с технологией и не могу найти ответ на вопрос - можно ли active midplane при помощи SFF-8087 подключать к двум HBA (два проводка в один, два в другой) ? Заранее спасибо.
Зависит от того, что именно вкладывается в понятие "active midplane". Если это то, о чем я думаю, то нельзя. Если это что-то другое :) то может быть и можно.
ОтветитьУдалитьПод "active midplane" я понимаю экстендер, который по четырем каналам подключает к HBA много винтов. Видимо нельзя всё-таки. Спасибо.
ОтветитьУдалитьЕсли бы на бэкплейне было бы два экспандера (такие корпуса есть), то можно. Если экспандер только один - нельзя.
ОтветитьУдалитьАга. Спасибо огромное.
ОтветитьУдалитьподскажите, каким образом можно сделать доступ с двух серверов к дисковой полке с использованием протокола SAS(какое оборудование необходимо)?
ОтветитьУдалитьТ.е. задача примерно такая:
есть 2 сервера в которых установлены рейд контролеры. Нужно что бы при выходе из строя одного доступ к дискам получал другой(своего рода multipath).
Заранее благодарен.
2opt1k:
ОтветитьУдалитьЕдинственный хотя бы в какой-то степени работоспособный вариант - использовать вместо RAID-контроллеров обычные SAS HBA и что-то типа Nexenta. Краеугольным камнем будет именно ПО на серверах, которое позволит достичь желаемых целей. Вы пытаетесь на коленке сделать то, что ведущие производители дисковых систем делают годами и "вылизывают" прошивки день за днем. Честно скажу, что попытка в одиночку "уделать" EMC или IBM вызывает скорее улыбку, нежели оптимизм.