6.4.4 Избыточные дисковые системы.
Еще один важный для обсуждения вопрос при определении спецификации сервера - избыточность. Есть несколько методов повышения надежности дисковой системы из нескольких дисков. Большинство этих схем избыточности - вариации RAID (расшифровывается как избыточный массив недорогих или независимых дисков). Оригинальная спецификация RAID была разработана для замены больших и дорогих дисков мэйнфреймов и мини-компьютеров массивами небольших и дешевых дисков, предназначенных для мини-компьютеров, - отсюда слово недорогие. К сожалению, в системах RAID редко встречается что-нибудь недорогое.
RAID - это серия реализаций избыточных дисковых массивов для обеспечения различных уровней защиты и скорости передачи данных. Поскольку RAID предполагает использование дисковых массивов, лучшим интерфейсом для применения будет SCSI, поскольку он может поддерживать до 15 устройств. Уровней RAID существует 6: от нулевого до пятого. Хотя некоторые производители рекламируют свои собственные схемы избыточности, которые они называют RAID-6, RAID-7 или выше. (RAID-2 и RAID-4 нет в сетевых серверах, поэтому мы о них говорить не будем.)
Из всех уровней RAID нулевой имеет наибольшую производительность и наименьшую защищенность. Он предполагает наличие как минимум двух устройств и синхронизированную запись данных на оба диска, при этом диски выглядят как одно физическое устройство. Процесс записи данных на несколько дисков называется заполнением дисков (drive spanning), а собственно метод записи этих данных - их чередованием (data striping). При чередовании данные пишутся на всех дисках поблочно; этот процесс именуется расслоением блоков (block interleaving). Размер блока определяется операционной системой, но обычно он варьируется в пределах от 2 Кбайт до 64 Кбайт. В зависимости от конструкции дискового контроллера и HBA, эти последовательные операции записи могут перекрываться, в результате чего производительность возрастает. Так, сам по себе RAID-0 может повысить производительность, но не обеспечить защиты от сбоев. Если случается сбой диска, то вся подсистема выходит из строя, что, как правило, приводит к полной потере данных.
Вариантом чередования данных является распределение данных (data scattering). Как и при чередовании, данные записываются последовательно на несколько заполняемых дисков. Однако в отличие от чередования запись не обязательно производится на все диски; если диск занят или полон, данные могут быть записаны на следующем доступном диске - это позволяет добавлять диски к существующему тому. Как и стандарт RAID-0, комбинация заполнения дисков с распределением данных повышает производительность и увеличивает объем тома, но не обеспечивает защиты от сбоев.
RAID-1, известный как зеркалирование диска (disk mirroring), предполагает установку пар одинаковых дисков, причем каждый диск в паре является зеркальным отображением другого. В RAID-1 данные пишутся на две идентичных или почти идентичных пары дисков: когда, например, один диск портится, система продолжает работать с зеркальным диском. Если зеркальные диски имеют общий HBA, то производительность данной конфигурации, по сравнению с однодисковой, будет меньше, поскольку данные должны записываться последовательно на каждый диск.
Novell сузила определение зеркалирования и добавила понятие дублирования (duplexing). Согласно терминологии Novell, зеркалирование относится к парам дисков, когда они подсоединены к серверу или компьютеру через один HBA, в то время как дублирование подразумевает, что зеркальные пары дисков подсоединены через раздельные HBA. Дублирование обеспечивает избыточность всего дискового канала, включая HBA, кабели и диски, и позволяет несколько повысить производительность.
RAID-3 требует как минимум трех одинаковых дисков. Часто это называется технологией n минус 1 (n-1), поскольку максимальная емкость системы задается, как все количество дисков в массиве (n) минус один диск для контроля четности. RAID-3 использует метод записи, именуемый расслоением битов (bit interleaving), когда данные пишутся на все диски побитово. Для каждого записанного на n-дисках байта на диск четности пишется бит четности. Это исключительно медленный процесс, поскольку перед тем, как информация о четности сможет быть сгенерирована и записана на диск четности, данные должны быть записаны на каждый из n-дисков массива. Есть возможность увеличить производительность RAID-3 путем синхронизации механизмов вращения дисков, так чтобы они работали строго в ногу. Однако из-за ограничений по производительности использование RAID-3 резко снизилось, и сегодня продается очень немного продуктов для серверов, основанных на RAID-3.
RAID-5 - самая популярная на рынке сетевых серверов реализация RAID. Как и RAID-3, она требует, как минимум, трех одинаковых дисков. Однако, в отличие от RAID-3, RAID-5 производит чередование блоков данных без применения выделенного диска для четности. И данные, и контрольная сумма записываются по всему массиву. Этот метод допускает независимое чтение и запись на диск, а также позволяет операционной системе или контроллеру RAID проводить несколько параллельных операций ввода/вывода.
В конфигурациях RAID-5 обращение к диску происходит только тогда, когда с него считывается/записывается информация о четности или данные. Как следствие, RAID-5 имеет более высокую, чем RAID-3, производительность. На практике производительность RAID-5 может иногда достигать или даже превосходить производительность однодисковых систем. Такое повышение производительности, разумеется, зависит от многих факторов, в том числе и от того, как реализован массив RAID и какие собственные возможности есть у операционной системы сервера. RAID-5 обеспечивает также высочайший среди всех стандартных реализаций RAID уровень целостности данных, поскольку и данные, и информация о четности записаны с чередованием. Поскольку RAID-5 использует расслоение блоков, а не битов, синхронизация вращения не дает никаких преимуществ в производительности.
Некоторые производители добавили расширения к своим системам RAID-5. Одно из таких расширений - наличие встроенного в массив диска горячего резерва (hot-spare). Если случается сбой диска, то диск из горячего резерва немедленно заменяет аварийный диск и копирует на себя данные путем их восстановления по четности в фоновом режиме. Однако помните то, что восстановление диска RAID-5 оборачивается серьезным падением производительности сервера.
Системы RAID могут быть организованы как при помощи загруженного на сервере и использующего для работы его процессор ПО, так и при помощи специализированного контроллера RAID.
Программно-реализованные системы RAID отнимают значительную часть ресурсов системного процессора, равно как и системной памяти, что сильно понижает производительность сервера. Программные системы RAID иногда включаются в виде функции операционной системы (как это сделано в Microsoft Windows NT Server) или дополнения от третьих поставщиков (как это сделано в NetWare и операционной системе Macintosh).
Аппаратно-реализованные системы RAID используют выделенный контроллер массива RAID; обычно он имеет свой собственный процессор, кэш-память и ПО в ПЗУ - для выполнения дисковых функций ввода-вывода и проверки четности. Наличие выделенного контроллера для выполнения этих операций освобождает процессор сервера для выполнения других функций. Кроме того, поскольку процессор и ПО адаптера специально отлажены для выполнения функций RAID, они обеспечивают большую производительность дисковых операций ввода/вывода и лучшую целостность данных, чем программно-реализованные системы RAID. К сожалению, аппаратно-реализованные контроллеры массивов RAID, как правило, дороже своих программно-реализованных конкурентов.
RAID уровня 0
В RAID 0 используется разбиение
данніх - деление файлов на блоки,
распределяемые между накопителями.
Здесь не предусмотрена избыточность,
но обеспечивается очень хорошая
производительность.
Файл-сервер
Контроллер
дисковой матрицы
Блок 1 | Блок 2 | Блок 3 | ||
Блок 4 | Блок 5 | Блок 6 | ||
Блок 7 | Блок 8 | Блок 9 |
Накопитель 1 Накопитель 2 Накопитель 3
Диаграмма 1: RAID уровня 0.
RAID уровня 3
В RAID 3 используетсся один выведенный накопитель
для хранения информации по контролю четности
(для исправления ошибок). Данные размещаются
на оставшихся накопителях, обычно
с распределенным на уровне блоков.
D-байты данных | Файл-сервер | P-байты четности |
Контроллер
дисковой матрицы
D 1 | D 2 | D 3 | D 4 | P1-4 | ||||
D 5 | D 6 | D 7 | D 8 | P5-8 | ||||
D 9 | D 10 | D 11 | D 12 | P9-12 |
Накопитель Накопитель Накопитель Накопитель Накопитель
данных 1 данных 2 данных 3 данных 4 четности
Диаграмма 2: RAID уровня 3.
RAID уровня 5
В RAID 5 информация о четности распределяется
между всеми накопителями матрицы. Данные
распределяются на уровне байтов.
D-байты данных | Файл-сервер | P-байты четности |
Контроллер
дисковой матрицы
P1-4 | D1 | D2 | D3 | D4 | ||||
D5 | P5-8 | D6 | D7 | D8 | ||||
D9 | D10 | P9-12 | D11 | D12 | ||||
D13 | D14 | D15 | P13-16 | D16 | ||||
D17 | D18 | D19 | D20 | P17-20 |
Диаграмма 3: RAID уровня 5.
0 комментариев