понедельник, 10 августа 2009 г.

LUN, RAID array и другие…

В последнее время все чаще возникают вопросы про то, как нужно создавать RAID-массивы и, как следствие, возникают недопонимания и разночтения про такие понятия как LUN и RAID. Разночтения возникают из-за того, что контроллеры разных производителей работают немного по-разному (в плане логической организации) и человек, привыкший работать например с контроллерами Adaptec, имеет сложности, объясняя владельцу контроллера LSI, что именно нужно сделать.

Начну с очевидного: RAID-контроллеры позволяют создать несколько логических дисков “поверх” имеющихся физических дисков. Обратите внимание, что “логические” они именно с точки зрения RAID-контроллера, так как сервер видит их как вполне себе отдельные физические диски. Скажем, если к нашему абстрактному RAID-контроллеру подключено 8 дисков по 1ТБ и сделано два логических диска на 1ТБ и на 7ТБ, то операционная система сервера будет “думать”, что к серверу подключено два диска – на 1ТБ и на 7ТБ (а то, что дисков на самом деле 8, будет “скрыто” за RAID-контроллером).

RAID-LUN-01

Часто для обозначения этих самых “логических” дисков применяется термин LUN (его можно читать как Logical UNit, но правильнее – Logical Unit Number, так как исторически этот термин применялся именно для нумерации дисков на SCSI шине).

RAID-контроллеры позволяют по-разному создавать логические диски “поверх” физических. Одни (3Ware, старые контроллеры LSI) позволяют создать RAID-массив из произвольного числа дисков и потом разделить его на несколько частей (именно это чаще всего имеют в виду, когда говорят про “разбиение массива на LUNы”):

RAID-LUN-02

Другие контроллеры (новые LSI, Adaptec), напротив, не позволяют делить созданные RAID-массивы на части, но зато позволяют на одних и тех же дисках создать несколько массивов (причем, массивы могут быть созданы разного уровня):

RAID-LUN-03

Во втором случае, говорить про “нарезание” LUNов на массиве конечно не совсем корректно (и зачастую сильно затрудняет понимание), но общий смысл остается неизменным – в обеих случаях мы создаем несколько логических дисков на одном и том же наборе дисков физических. Именно так и следует понимать фразу наподобие “выделите под эти данные отдельный LUN”. Речь идет только о том, что для обсуждаемой задачи не требуется весь объем жестких дисков, входящих в RAID-группу, и следует создать средствами контроллера логических диск нужного размера, независимо от того, как это реализовано в используемом контроллере.

Понравился пост? Подпишись через RSSRSS, EmailEmail или twitter!

15 комментариев:

Анонимный комментирует...

побольше бы таких понятных разъяснений. спасибо.

Анонимный комментирует...

Шикарно!
Спасибо за статью, всё предельно ясно.

Komil Gulboev комментирует...

Рунет такого еще не видал, спасибо огромное афтору!!!

Анонимный комментирует...

Спасибище!
Все коротко и ясно.

dkny комментирует...

Да, коротко и по делу. А то заладили "сделайте LUN пдо систему..." ;) Спасибо!

Анонимный комментирует...

Ответье пожалуйста на вопрос.
Один LUN – один раздел, или один LUN – несколько разделов (для одного сервера).
Суть вопроса в следующем: как “правильнее разбить” дисковое пространство, для
одного сервера? Разбивать один виртуальный диск на разделы средствами ОС или
создавать сразу несколько LUN-ов средствами EVA? Дисковая группа одна.
На что это влияет: производительность, доступность?
Заранее спасибо.

Andrew Ivanov комментирует...

Всегда удобнее держать один раздел на одном LUN. Никаких преимуществ от нескольких разделов на одном LUN нет. Если к лимиту лунов на EVA пока не приблизились, то я бы однозначно советовал несколько лунов.

Анонимный комментирует...

Какой планировщик ввода-вывода, в ОС Linux, необходимо задействовать для
оптимальной работы дисковой системы внешнего "интеллектуального" СХД?
СХД EVA презентует серверу виртуальный диск, "похожий" на физический,
но не имеющий шпинделей и головок, т.е. рабоющий не с физическими дисками,
а с порциями дискового (виртуального) пространства внутри дисковой группы.
Распределением же, данных по дискам и их оптимизацией занимается ПО внутри
EVA, т.е. внутри находится свой планировщик "ввода-вывода".
Может имеет смысл использовать noop, как для SSD-дисков и Flash-дисков,
не имеющих шпинделей и головок?

Andrew Ivanov комментирует...

Я бы не советовал задумываться о планировщике. Эффект будет незаметным, а проблем можно найти на свою голову достаточно. Если мало производительности - добавляйте драйвы, апгрейдите систему.
Внешний массив ничем (по сути своей) не отличается от встроенного RAID-контроллера. И там, и там "некое виртуальное дисковое пространство" без конкретной привязки к дорожкам и цилиндрам.
Лучше всего изучить HP EVA Best Practice, например здесь: https://secure.europe.hp.com/h41111/rfg_formprocessor/SWD_Installed_Base/pl/pl/pdf/TWP_4AA3-2641ENW.PDF
Следование этим рекомендациям дас гораздо больший эффект.

Анонимный комментирует...

Здравствуйте. Я правильно понимаю, что лун может занимать даже не весь физический дик, а его часть? Ну т.е. исходя из первого примера: LUN0 и LUN1 в RAID5 занимают разные участки памяти на тех же дисках, так?

Andrew Ivanov комментирует...

Абсолютно верно - LUN может занимать только часть дискового пространства. Не совсем правильно говорить, что часть физического диска (так как часто LUN по объему больше чем физический диск, входящий в массив). Но на одном наборе дисков могут быть созданы несколько LUN-ов.

Анонимный комментирует...

Глупый вопрос, но все же любопытно, можно ли LUN назначить на диск, не входящий в какой либо RAID массив?

Анонимный комментирует...

Спасибо огромное, доступно понятно и главное просто

Анонимный комментирует...

Добрый день! Хочу уточнить по 2 группе контроллеров: допустим у меня есть 6 дисков 15к и 6 дисков 7.2к. По-вашему я не смогу собрать из них два различных рейда, указав какие именно диски должны входить в эти рейды?

Unknown комментирует...

Есть рэйд 10, 12 дисков, 2 луна, на одном из лунов заканчивается место, нужно узнать возможно ли увеличить место заменой дисков на большие по объему, но не все 12, а минимальное количество если это возможно, полка ds3524, без подключений и прочего, нужна теория