СЕКРЕТЫ OPENEDGE: УПРАВЛЕНИЕ БАЗАМИ ДАННЫХ OPENEDGE ПРИ ПОМОЩИ OPENEDGE MANAGEMENT
ПОВЫШЕНИЕ НАДЕЖНОСТИ ПРИ ПОМОЩИ RAID-МАССИВОВ.
Очень важно понимать термины надежность и производительность применительно к дискам. Надежность – это свойство дисковой системы оставаться стабильной при отказе одного или более дисков и быть доступной при таких отказах для пользователей. Производительность – это возможность диска предоставить информацию пользователям наиболее эффективным и быстрым образом.
Резервирование почти всегда повышает надежность дисковой системы. Общепринятым способом достижения надежности является использование RAID-массивов (Redundant Array of Inexpensive Disks – дисковый массив недорогих дисков с избыточностью). Существуют два типа RAID-массивов:
- Программный. Программный RAID – дешевый. Однако он всегда будет менее производительным, чем аппаратный RAID, так как он нагружает CPU сервера необходимостью управления дополнительными операциями ввода-вывода.
- Аппаратный. Наиболее часто используются уровни RAID 0, RAID 1, RAID 5 и RAID 10. Главное различие между этими уровнями RAID – различный уровень фокусировки на надежность и производительность.
Следующий раздел обсуждает различные уровни RAID-массивов:
- RAID 0: Чередование
- RAID 1: Зеркалирование
- RAID 10 или 1 + 0
- RAID 5
Вполне возможно построить дисковую систему имеющую одновременно высокую надежность и высокую производительность. Тем не менее, стоимость системы, которая обладает этими двумя качествами всегда намного выше, чем просто надежная или просто производительная система.
RAID 0: ЧЕРЕДОВАНИЕ
RAID 0: Чередование обладает следующими характеристиками
- Высокая производительность – прирост производительности для случайного чтения и записи
- Низкая надежность – нет защиты от сбоев
- Повышенный риск – При сбое одного диска весь массив повреждается
Иллюстрация показывает как работает чередование
На иллюстрации 1 массив RAID 0 состоит из трех дисков. Данные распределены по всем трем дискам. Количество информации, размещаемое на одном диске, называется chunk или stripe (дословно – кусок, полоска). На иллюстрации видно, как страйпы физически распределяются по всему RAID-массиву.
Примечание: размер страйпа является настраиваемой величиной – от самой малой (8K) до довольно больших значений (несколько мегабайт). Возможность изменения размера страйпа зависит от конкретного производителя оборудования. Обратитесь к документации производителя, чтобы узнать, каким образом изменить данный параметр.
Тестирование показало, что размер страйпа 128K и больше является оптимальным с точки зрения быстродействия для базы данных OpenEdge с размером блока базы 8K. (Блок 8k наиболее эффективный размер блока для базы данных OpenEdge). В операционной системе этот набор страйпов выглядит для пользователя как обычная файловая система или «диск». На иллюстрации 1, к примеру, зададим размер страйпа равным 128K. В этом случае файл размером 384K распределится по всем трем дискам. Для чтения такого файла все три диска выполнят операцию чтения одновременно.
С одной стороны такое размещение данных на дисках дает выигрыш в производительности, но есть и проблемы – если происходит сбой хотя бы одного диска, то разрушается весь RAID-массив.
RAID1: ЗЕРКАЛИРОВАНИЕ
RAID 1: Характеристики:
- Средняя производительность – лучше чем у обычных дисков из-за использования стратегии «оптимистичного чтения»
- Дороговизна – высокая стоимость на единицу объема – 100% избыточность. Это справедливо и для контроллеров,если нам нужно обеспечивать отказоустойчивость и на этом уровне
- Высокая надежность – потеря диска не вызывает перерывов в работе
- Хорош для последовательного чтении и записи – последовательные файлы лучше размещать на RAID1-устройстве.
Иллюстрация показывает пример зеркалирования
На иллюстрации 2 диск слева является основным диском, второй диск работает как параллельный или зеркальный диск ( зеркальная информация на этом диске маркируется буквой P). Роль параллельного диска – хранить точную и синхронную копию всей информации, которая расположена на основном диске. Если основной диск отказывает, то информация может быть получена с параллельного диска.
Удостоверьтесь, что система хранения поддерживают горячую замену «hot swap». В этом случае замена вышедшего из строя диска может производиться без остановки системы. Большинство RAID1 устройств обладают таким свойством. Необходимо отметить, что период ресинхронизации после такой замены оказывает заметное влияние на производительность массива.
Оба диска на самом деле содержат одинаковые данные . При операциях чтения, диск у которого головки чтения/записи находятся ближе всего к запрашиваемым данным и выполняет чтение. Это называется оптимистическим чтением («optimistic read»). Данная функция позволяет массиву быть до 15 процентов призводительнее, чем одиночный диск. Настраивая зеркалирование важно не перепутать физические и логические разделы, ведь зеркалирование имеет смысл только для физических дисков.
RAID 10 ИЛИ 1 + 0
RAID 1 + 0, более известный как RAID10 имеет следующие характеристики:
- Высокая надёжность – используется зеркалирование и чередование
- Высокая производительность – хорош для случайного чтения и записи
- Дорогой – такой же дорогой, как и RAID1
RAID 10 снимает проблему надежности для массивов с чередования путем добавления зеркалирования.
На иллюстрации 3 диски изображенные слева – основные диски. Информация этих основных дисков зеркалируется на диски изображенные справа (так же как и в RAID1). Основные диски объединены между собой чередованием (Это — RAID0) . Иными словами говоря, RAID10 является массивом типа RAID0, сегментами которого являются массивы RAID1 .
Данное решение самое производительное относительно других рассмотренных конфигураций. RAID10 поддерживает и чередование (striping) и оптимистичное чтение (optimistic read). Это наиболее предпочтительная конфигурация для большинства приложений, так как она предоставляет высокую производительность и доступность наряду с низкими затратами на балансировку нагрузки.
RAID 5
RAID 5 обладает следующими характеристиками:
- Высокая надежность – предоставляет хорошие средства для защиты от сбоев
- Не самый дорогой – дешевле чем RAID1
- Низкая производительность – низкая производительность по записи из-за расчета блоков контрольных сумм. Работающий в режиме восстановления от сбоя массив работает очень медленно, так как утерянные данные восстанавливаются из контрольных сумм.
RAID 5 дешевле, чем другие типы RAID. Потери в емкости массива составляют всего 20 процентов. Это место необходимо для хранения информации о контрольных суммах для восстановления (сравните с RAID 1 или 10, где такие потери составляют 50 процентов). Как бы то ни было – эта экономия на стоимости в самом начале проекта сведется на нет потерей производительности в процессе работы с массивом.
Недостаток RAID5 сильнее всего проявляется во время операций записи, которые в системах OLTP ((Online Transaction Processing) оперативная обработка транзакций) происходят очень часто. Каждая операция записи на диск средствами ОС порождает несколько операций записи на дисковом массиве: сохраняются собственно сами данные, затем вычисляется контрольная сумма для восстановления, которая записывается тоже. Все операции проходят через один и тот же контроллер, таким образом, запись обходится в три раза дороже, чем на обычном диске: происходят запись информации, расчет четности, запись четности.
Зеркалируемые системы обычно подключаются через два контроллера, чтобы позволить параллельную запись. Если ваше приложение использует только чтение в 100% случаев, то вы можете использовать RAID5. Иначе RAID1 или RAID10 будут лучшим способом защитить ваши данные.
Заявления о том, что RAID5 разделы «такие же быстрые» как RAID1 или RAID10 должны быть внимательно проверены. В тестах или в мелкосерийных задачах, которые не могут использоваться для полноценного тестирования RAID5 потолок производительности массива не достигается, так как есть кэш-память, которая полностью справляется с нагрузкой. Несмотря на это, на реальных производственных задачах, где кэш уже не сможет справляться со своей задачей, вы очень хорошо стукнетесь об этот потолок производительности. Даже создание резервной копии производит значительное количество операций на запись и заполняет кэш, сильно понижая таким образом производительность.
Примечание: Progress Software Corporation не рекомендует использовать RAID5 для баз данных OpenEdge если для этой базы данных свойственна высокая активность на запись.
На иллюстрации 4 показан пятидисковый RAID5-массив. Заметьте, что информация о четности (предваряемая на иллюстрации символом P) перемежается вместе с основной информацией на всех дисках. Если даст сбой один диск, то данные потеряны не будут. Но, тем не менее производительность такого массива резко снизится, так как информация, размещенная на потерянном диске будет восстанавливаться путем расчета из информации о контрольных суммах. Этот процесс состоит из трех шагов:
- Получить контрольную сумму
- Вычислить данные из информации, полученной в п1
- Передать данные пользователю
Вычисление потерянных данных – ресурсоемкая операция для CPU, каждое чтение создает проблемы производительности для операций ввода-вывода.
OPENEDGE И СЕТЕВОЕ ХРАНЕНИЕ ДАННЫХ
OpenEdge поддерживает надежное хранение данных на сетевых устройствах при условии поддержки вашей операционной системой протокола NFS версии 3.0. Несмотря на то, что такое окружение поддерживается, оно все равно не рекомендуется для использования — возможны значительные проблемы в производительности. Трафик NFS проходит по той же самой сети, что и трафик клиентов – здесь и кроется потенциальное узкое место. Кроме того, несетевые операции ввода-вывода используют предназначенные для этой цели контроллеры, которые значительно быстрее сетевых.
Сетевые хранилища данных (SAN) более популярны, чем использование NFS . Можно приобрести одно устройство хранения и присоединить его к нескольким серверам через специальное свитч-устройство. К среде SAN применимы те же самые правила как и для RAID-массивов. SAN поддерживает целостность базы данных. Множество компьютеров имеют доступ к дискам SAN. По этой причине вы должны внимательно следить за тем, чтобы не присоединить один и тот же раздел к разным хостам. Разница между трафиком SAN и NFS состоит в том, что сеть SAN предназначена как раз для операций ввода/вывода и не объединена с трафиком пользователей. Более того — необходимы специальные контроллеры. При отведении разделов на SAN разным устройствам необходимо следить за тем, чтобы высоконагруженные логические разделы разных хостов не соседствовали на одних и тех же физических дисках. Иначе проблемы с производительностью гарантированы на все сто процентов.
В документации производителя оборудования должна быть освещена тема наблюдения за активностью дисков в массиве. Некоторые SAN имеют возможность автоматической балансировки активности ввода-вывода, что уменьшает необходимость частого мониторинга данного ресурса.
РЕЗЮМЕ
Диски являются самым важным ресурсом. Как правило, лучше купить более совершенные диски, чем быстрый процессор. Начните с покупки надежной системы хранения данных, добейтесь оптимальной конфигурации под ваши нужды, обеспечьте бесперебойный и быстрый доступ к данным, отслеживайте производительность и утилизацию дискового пространства. Обязательно прогнозируйте необходимость расширения объема для вашей дисковой системы.
Метка:OpenEdge, OpenEdge Management