spare disks что это
Spare disks что это
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами рассмотрели ошибку «windows не удается получить доступ к указанному устройству». Идем дальше и поговорим на тему систем хранения данных и RAID массивов, а именно разберем вопрос чем отличаются Global Hot Spare и Dedicated Hot Spare при добавлении диска горячей замены. Уверен, что многие знают эти отличия, но для новичков это будет полезно.
Что такое Global Hot Spare и Dedicated Hot Spare
Если вы хоть раз настраивали сервер, то наверняка задавались вопросом его отказоустойчивости, которая может быть на разных уровнях, например два блока питания или дисковая подсистема, которая для сервера очень важна. Потеря данных просто неприемлема в современной модели бизнеса. Для этого существует технология RAID, где за счет избыточности достигается некий баланс безопасности и денег.
Существует много видов RAID массивов и у каждого свое количество дисков которое может выйти, прежде чем весь массив развалится. Для дополнительной защиты принято выделять один или несколько запасных дисков горячей замены, которые должны успеть подменить выходящий из строя диск, до момента его замены. Существует два вида дисков горячей замены, это Global Hot Spare и Dedicated Hot Spare.
Из схемы видно, что выделенные диски будут являться резервными только для группы A и B, а вот глобальный Hot Spare для всех массивов.
Что применяется первым из Global Hot Spare и Dedicated Hot Spare
Предположим, что у вас есть два виртуальных диска, для каждого из них есть по одному Dedicated Hot Spare и два общих Global Hot Spare, если выходит из строя один из дисков виртуального массива, вопрос, куда буду переноситься данные? Правильный ответ:
Как начинается процесс восстановления поврежденного диска RAID
Если у вас в системе есть назначенные Global Hot Spare и Dedicated Hot Spare и они полностью отвечает требованиям восстановления поврежденного диска RAID, восстановление начнется автоматически. Hot Spare диски должны быть запланированы до начала восстановления и должны соответствовать всем требованиям для виртуального диска. Если вы удалите виртуальный диск, то Dedicated Hot Spare станет Global Hot Spare.
FAQ : RAID : Общие вопросы
Избежать описанной проблемы можно или с помощью установки на RAID контроллер BBU (см. ниже), или посредством подключения всего сервера через источник бесперебойного питания (UPS) с функцией программируемого выключения.
Существуют три разновидности BBU :
Обратите внимание: резервирование позволяет восстановить данные, находившиеся на неисправном диске, если все диски подключены к одному и тому же RAID контроллеру.
«Резервный» диск может быть создан одним из двух способов:
В течение процесса автоматического восстановления система продолжает нормально функционировать, однако производительность системы может слегка ухудшиться.
Для того, что бы использовать восстанавливающую особенность резервирования, Вы должны всегда иметь резервный диск ( Hotspare ) в вашей системе. В случае сбоя дисковода, резервный дисковод автоматически заменит неисправный диск, и данные будут восстановлены. После этого, системный администратор может отключить и удалить неисправный диск, заменить его новым диском и сделать этот новый диск резервным.
В этом разделе использованы материалы с сайта «3dnews».
В: Нужно ли заниматься архивированием данных в случае использования RAID?
О: Конечно да! RAID это вовсе не замена архивированию, основное его назначение это повышение скорости и надежности доступа к данным в нормальном режиме работы. Но только регулярное архивирование данных гарантировано обеспечит их сохранность при любых отказах оборудования, пожарах, потопах и прочих неприятностях.
Spare disks что это
Добрый день уважаемые читатели и гости блога, я хочу продолжить с вами тему серверных технологий, а именно хочу поговорить про отказоустойчивость. Когда многие слышат это слово, то у них две ассоциации с ним, первое это технологий рейд массивов и контроллеров, а второе это репликация. В данном материале мы поговорим про первый вариант, а именно про Reudant Array of Independed Disks, или как в простонародье RAID.
Что такое RAID и зачем он нужен?
Акроним RAID (Reudant Array of Independed Disks) избыточный массив независимых дисков, впервые был использован в 1988 году исследователями из института Беркли Паттерсоном (Patterson), Гибсоном (Gibson) и Кацем (Katz). Они описали конфигурацию массива из нескольких недорогих дисков, обеспечивающих высокие показатели по отказоустойчивости и производительности.
Наиболее «слабой» в смысле отказоустойчивости частью компьютерных систем всегда являлись жесткие диски, поскольку они, чуть ли не единственные из составляющих компьютера, имеют механические части. Данные записанные на жесткий диск доступны только пока доступен жесткий диск, и вопрос заключается не в том, откажет ли этот жесткий диск когда-нибудь, а в том, когда он откажет.
Обычно RAID используется в больших файл серверах или серверах приложений, когда важна, высока скорость и надежность доступа к данным. Сегодня RAID находит применение так же в настольных системах, работающих с CAD, мультимедийными задачами и когда требуется обеспечить высокую производительность дисковой системы.
Можно ли использовать в RAID массиве диски разного размера?
Да. можно. Но, при этом, используемая емкость у ВСЕХ дисков будет равна емкости наименьшего диска.
Из этого следует, что добавлять в уже существующий RAID массив можно только диски такого же или большего размера
Можно ли использовать в RAID массиве диски разных производителей?
Да, можно. Но при этом надо иметь ввиду, что точные размеры дисков одинаковой емкости (36/73/146. ГБ) у разных производителей могут отличаться на несколько килобайт. Когда вы создаете новый RAID массив, на это можно не обращать внимание, но если вы добавляете диски к уже существующему массиву (например, меняете вышедший из строя диск), то важно, чтобы новый диск был больше чем старые, или точно такого же размера.
Что такое Write Through и Write Back?
Это способ записи данных, полученных RAID контроллером, на дисковый массив. По другому эти способы еще называются так: прямая запись (Write Through) и отложенная запись (Write Back). Какой из этих способов будет использоваться определяется в BIOS-е контроллера (либо при создании массива, либо позднее).
Write Back работает быстрее, но при этом надо помнить, что в случае сбоя питания все данные, которые находились в этот момент вкэш-е, будут потеряны. Причем, управляющая ОС (а следовательно и приложение, записывавшее эти данные) ничего об этом «не узнают», так как они уже получили сообщение от контроллера об успешном завершении записи. Например, если в кэше находились данные транзакции сервера СУБД, то СУБД будет уверенна, что с данными все хорошо, хотя на самом деле это не так.
Избежать описанной проблемы можно или с помощью установки на RAID контроллер BBU (см. ниже), или посредством подключения всего сервера через источник бесперебойного питания (UPS) с функцией программируемого выключения.
Кстати, некоторые RAID контроллеры не позволяют включить функцию Write Back без установленного BBU.
Что такое BBU и зачем он нужен?
Существуют три разновидности BBU:
Что такое Hotswap?
Что такое Hot Spare (Hotspare)?
Обратите внимание: резервирование позволяет восстановить данные, находившиеся на неисправном диске, если все диски подключены к одному и тому же RAID контроллеру.
«Резервный» диск может быть создан одним из двух способов:
В течение процесса автоматического восстановления система продолжает нормально функционировать, однако производительность системы может слегка ухудшиться.
Для того, что бы использовать восстанавливающую особенность резервирования, Вы должны всегда иметь резервный диск ( Hotspare ) в вашей системе. В случае сбоя дисковода, резервный дисковод автоматически заменит неисправный диск, и данные будут восстановлены. После этого, системный администратор может отключить и удалить неисправный диск, заменить его новым диском и сделать этот новый диск резервным.
Что такое Copyback Hot Spare?
Copyback Hot Spare это функция RAID контроллера, которая позволяет пользователям закрепить физическое расположение диска «горячего резерва» (Hot Spare), что позволяет улучшить управляемость системы.
Что такое JBOD?
JBOD (Just a Bunch of Disks) это способ подключить диски к RAID контроллеру не создавая на них никакого RAID. Каждый из дисков доступен так же, как если бы он был подключен к обычному адаптеру. Эта конфигурация применяется когда необходимо иметь несколько независимых дисков, но не обеспечивает ни повышения скорости, ни отказоустойчивости.
Что такое размер страйпа (stripe size)?
Нужно ли заниматься архивированием данных в случае использования RAID?
О: Конечно да! RAID это вовсе не замена архивированию, основное его назначение это повышение скорости и надежности доступа к данным в нормальном режиме работы. Но только регулярное архивирование данных гарантировано обеспечит их сохранность при любых отказах оборудования, пожарах, потопах и прочих неприятностях.
shared hotspare для mdadm
(сомневался сюда писать или в системное администрирование)
Я обнаружил, что в интернете очень мало (и не очень внятно) объяснено, как mdadm работает с общими (глобальными) дисками горячей подмены. В заметке я опишу, что это такое, и объясню, почему shared hotspare не отмечены в /proc/mdstat как общие, а вместо этого выглядят как вполне себе локальные.
Что такое hot-spare?
(Я пишу не для новичков, так что галопом по европам)
Если массив обладает избыточностью и один из его дисков вышел из строя, то существует возможность восстановить избыточную информацию на резервный диск. Если диск добавляется в массив руками (админу пришло письмо о сбое, он прочитал письмо, проснулся/оделся, приехал на работу, вынул сбойный диск, вставил запасной, добавил его в массив, дал команду на восстановление избыточности), то такой диск называется cold-spare. Просто «запасной диск».
Если же в сервере есть простаивающий диск, на который осуществляется восстановление избыточности сразу после сбоя любого из дисков массива, то такой диск называется hot-spare. Главное достоинство — оно отребилдится (восстановит избыточность) даже если админ письмо прозевал или не успел вовремя приехать.
Локальные hot-spare
Обычно запасной диск добавляется для массива, то есть если в массиве сбой, то его резервный диск и используется. Если сбой происходит в соседнем массиве, то hot-spare из «чужого» массива не используется.
Это на самом деле логично — если у нас стоит выбор — использовать hot-spare для восстановления избыточности системного раздела или раздела с данными, то надо восстанавливать избыточность раздела с данными. А если системный раздел уже «занял» hot-spare, то будет бяка. Более того, некоторые производители предлагают 1EE hotspare, в которой резервный диск используется и для хранения данных (пустое место «размазано» между дисками массива, обеспечивая возможность быстрого ребилда и увеличивая производительность в нормальном режиме).
Глобальные (общие) hot-spare
Однако, бывает так, что массивов с данными много. И им всем нужны hot-spare диски. Но дисков жалко. И тогда возникает желание иметь «общий» диск, который может быть использован для любого из массивов (а ещё лучше 2-3 таких диска).
Это было вступление. Теперь переходим к сути вопроса.
linux md
mdadm (ядерный модуль в DM-стеке) не поддерживает shared hot-spare. Диск может быть добавлен как hot-spare только в конкретный массив.
Но mdadm поддерживает!
spare-group
Для возможности распределять диски между разными массивами есть понятие spare-group, то есть группа, в пределах которой возможно перекидывание дисков. Таких групп может быть много — и hot-spare переносятся только между ними.
Как легко понять из вышенаписанного про mdadm/linux md, в /proc/mdstat нет и не может быть ничего про spare-group. Потому что это личные мысли и соображения mdadm’а, а ядро про это ни сном, ни духом (файлы-то в /proc создаются модулями ядра. ).
Таким образом, обеспечивать shared hot-spare можно только с с помощью mdadm. Тут два варианта: если группа указана для массива, собирающегося при загрузке (/etc/mdadm/mdadm.conf), то там можно указать hot-spare, примерно так:
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=1.2 spares=1 spare-group=myhostparegroupname name=server:1 UUID=18219495:03fda335:3f1ad1ee:a5f5cd44
devices=/dev/sda,/dev/sdb,/dev/sdc
ARRAY /dev/md2 level=raid1 num-devices=2 metadata=1.2 spare-group=myhostparegroupname name=server:2 UUID=18219495:03fda335:3f1ad1ee:a5f5cd45
devices=/dev/sdd,/dev/sde
Дописано по сравнению с выводом mdadm тут только spare-group. Обратите внимание — во втором массиве НЕТ hot-spare, однако, т.к. группа указана, то в случае сбоя будет использоваться диск из другого массива с той же самой группой. В нашем случае это будет /dev/md1.
Самих групп при этом на одной системе может быть несколько.
Local && global hotspare
А вот тут, увы, йок. Насколько я знаю, mdadm не поддерживает одновременно и локальные (которые будут принадлежать только одному массиву) и общие hotspare. Если есть два массива с одним spare-group, то все hot-spare из одного массива могут быть использованы на благо другого.
Сценарий не такой редкий, как кажется. Вот простенькая топология:
SYS_ARRAY
DATA_ARRAY
2 hot-spare
Логично было бы один hot-spare сделать принадлежащим только DATA_ARRAY, а второй сделать общим, чтобы использовался и как резерв для SYS_ARRAY, и как «второй уровень резерва» для DATA_ARRAY.
Увы, увы, увы, этого нет (если меня разубедят в комментариях, я буду очень рад).
Глоссарий по RAID технологии
RAID Levels 0 (Уровень 0 или Striping): Блоки данных размещаются последовательно на нескольких дисководах, обеспечивая более высокую скорость доступа, чем при размещении на одном дисководе. Этот уровень не обеспечивает никакой избыточности.
RAID Levels 1 (Уровень 1 или Mirroring): Дисководы объединены в пары и являются зеркальным отражением друг друга. Все данные на 100 процентов продублированы, но при этом занимают в два раза больше дискового пространства.
RAID Levels 3 (Уровень 3): Данные «разбросаны» по нескольким физическим дисководам. Помимо данных на одном из дисководов хранится информация о четности, которая может использоваться для восстановления данных.
RAID Levels 5 (Уровень 5): Данные «разбросаны» по нескольким физическим дисководам. Помимо данных на дисководах хранится информация о четности, которая может использоваться для восстановления данных. В отличие от RAID Levels 3 информация о четности распределена по всем дисководам для их равномерной загрузки.
RAID Levels 0+1 (Уровень 0+1): Комбинация RAID 0 и RAID 1. Этот уровень обеспечивает избыточность за счет зеркалирования.
RAID Levels JBOD (Уровень JBOD): сокращение от «Just a Bunch of Drives» (Только Связка Дисководов). Каждый дисковод используется независимо, как если бы они были подключены к обыкновенному контроллеру дисководов. Этот уровень не обеспечивает избыточность данных.
RAID Levels 10 (Уровень 10): Комбинирует (объединяет) RAID 0 и RAID 1, т.е. зеркалирование группы дисководов, объединенных в RAID 0 для обеспечения максимального быстродействия. Этот уровень обеспечивает избыточность за счет зеркального отражения.
RAID Levels 30 (Уровень 30): Комбинирует (объединяет) RAID 0 и RAID 3, т.е. используется контрольная сумма для группы дисководов, объединенных в RAID 0 для обеспечения максимального быстродействия. Информация о четности может использоваться для восстановления данных.
RAID Levels 50 (Уровень 50): Комбинирует (объединяет) RAID 0 и RAID 5, т.е. используется перемещаемая контрольная сумма для группы дисководов, объединенных в RAID 0 для обеспечения максимального быстродействия. Информация о четности может использоваться для восстановления данных.
Ready (Готов): SCSI дисковод находится в состоянии «готов», если он включен и доступен, чтобы быть сконфигурированным в течение текущего сеанса, но остается не сконфигурированным.
Online (Активизирован): SCSI дисковод находится в «активном» состоянии, если он включен, был определен как часть группы дисководов; и работает должным образом.
Standby (Ожидание): SCSI дисковод находится в состоянии «ожидание», если он включен, способен работать должным образом, но не было определен, как часть какой-либо группы дисководов.
Rebuild (Восстановление): SCSI дисковод находится в состоянии «восстановления» во время этого процесса. В течение этого процесса, данные восстанавливаются и записываются на дисковод. Это состояние также именуется состоянием ‘Write-Only’ (WRO) («Только для записи»).
Segment Size (Размер Сегмента) – параметр, задаваемый вместе с размером полосы (stripe size) и представляет собой размер данных, который будет прочитан или написан за одну операцию. Размер сегмента (также известный как «размер строки кэша») должен быть основан на размере полосы, который Вы выбрали. Обычно по умолчанию размер сегмента принимается равный 8КБайт.
Stripe Width (Ширина Полосы) – количество разбитых на полосы SCSI дисководов в пределах группы дисководов.
Striping Disk Drives (Разметка дисководов) – метод, позволяющий объединить несколько дисководов в RAID в один логический диск. Разметка включает в себя разбиение полезного объема каждого дисковода на полосы (страйпы – stripe), которые могут быть размером от одного сектора (512 байт), до нескольких мегабайт. Размер страйпов определяется исходя из типа программного обеспечения и интенсивности обмена данными. Затем эти страйпы вкруговую послойно объединяются, так что общий объем массива составлен из страйпов поочередно всех дисководов.
Большинство современных операционных систем таких, как NT, UNIX, NetWare, поддерживают перекрытие (т.е. одновременное выполнение) операций ввода-вывода, совершаемых на разных дисководах. Следует иметь в виду, что для достижения максимальной скорости ввода-вывода необходимо равномерно распределить обращения к дисководам так, чтобы каждый дисковод работал максимально возможное время. В многодисковой системе без разметки равномерная загрузка дисководов практически невозможна. На некоторых дисководах будут находиться файлы, к которым обращения будут происходить часто, обращение же к файлам на других дисководах будет происходить лишь изредка. Оптимальная работа приложений с интенсивным вводом-выводом на дисковод достигается в том случае, когда размер страйпов достаточно велик, чтобы одна запись умещалась в одном страйпе. В этом случае можно быть уверенным, что данные и операции чтения-записи будут равномерно распределены между дисководами, входящими в состав массива. В этом случае каждый дисковод будет обслуживать свою операцию, что, в свою очередь, позволит довести количество одновременно выполняемых операций до максимума.
В однопользовательской системе для приложений с интенсивным обменом и большим размером записей выгодно использовать небольшой размер страйпов. В этом случае скорость обмена возрастает вследствие того, что происходит одновременное считывание разных частей одной и той же записи с разных дисководов. К сожалению, небольшой размер записи практически полностью исключает одновременное выполнение разных операций чтения-записи, так как все дисководы участвуют в каждой операции. Это не страшно при работе в операционных системах типа DOS, так как такие операционные системы не «умеют» выполнять несколько одновременных обращений к дисководу. Видео- и аудио-приложения, а также медицинские приложения, работающие с длинными записями, будут работать в оптимальном режиме при небольшом размере страйпов массива. Потенциальным недостатком использования маленьких страйпов является то, что для достижения предельной скорости работы массива придется обеспечить синхронизацию вращения дисководов. Если этого не делать, то в каждый момент времени диски будут иметь разный угол поворота. А это значит, что операция чтения или записи не будет завершена до тех пор, пока все диски не повернуться в необходимое положение. В этом случае, чем больше дисководов в массиве, тем ближе среднее время завершения операции к наихудшему случаю – одиночного диска, находящегося в наиболее невыгодном положении. Синхронизация вращения дисков гарантирует, что все дисководы начнут и закончат чтение одновременно. В этом случае среднее время доступа массива в точности соответствует среднему времени доступа одиночного дисковода.