четверг, 29 апреля 2010 г.

Adaptec + Copy back enable

Как известно, в RAID-контроллерах Adaptec есть замечательная функция “Copy back”. Работает эта штука примерно так: в случае поломки одного из дисков (и при наличии диска Hot-Spare), произойдет обычное перестроение массива на  запасной диск (Spare); как только вместо “трупа” будет установлен новый диск, данные со Spare диска незамедлительно вернутся на свое исконное место (на уже новый диск) и Spare диск будет снова ожидать сбоя. Когда это полезно? Во-первых, если дисков много и массивов создано много, а Copy back отключен – достаточно несколько перестроений и уже без поллитры (или хотя бы без ASM) не разберешься где чьи диски стоят. А вот если Copy back работает, то все массивы останутся на своих местах. Другое применение – если стоят разнородные диски, то можно сделать один Spare диск максимального объема и он сможет защитить все массивы, независимо от того какого размера диски используются. Т.е. если есть RAID5 из 4х дисков по 146ГБ, RAID10 из 6 дисков по 300ГБ и RAID5 из 8 дисков по 450ГБ, то достаточно поставить 1 HotSpare диск на 450ГБ и он защитит все массивы. Конечно он защитит все массивы и без Copy back, но тогда при “вылете” 146ГБ диска и задействовании Spare диска, на нем “потеряется” практически 300ГБ. А вот чтобы вернуть Spare диск обратно, нужно будет “сломать” массив – перевести 450ГБ диск (бывший Spare) в состояние Fail и перестроить массив на новый 146ГБ. А что если диски были 2ТБ? Перестроение займет очень много времени и массив будет находится в критическом состоянии весьма и весьма долго. Случись в это время еще один сбой (для RAID5) и данные можно смело начинать восстанавливать из резервной копии. Если он конечно был.

Для меня всегда было очевидно (или по крайней мере довольно логично), что Copy back должен работать без ущерба отказоустойчивости. Но после того как коллегами были выдвинуты и альтернативные точки зрения, пришлось проверить “вживую”, чтобы не делать голословных утверждений. Опережая события, скажу что все прошло по плану и никаких отклонений не замечено. Теперь подробнее. Делаем RAID5 из 3х дисков, добавляем один Spare диск. После этого включаем опцию Copy back – делается это через ASM, так как по умолчанию она отключена и через BIOS не включается (Step 1 на рисунке). Затем удаляем один из дисков, начинается Rebuild (перестроение массива) на Spare (Step 2). После окончания процедуры (массив перешел в состояние Optimal), устанавливаем новый диск на место почившего. Начинает работать Copy back – идет копирование данных со спаре диска на новый (Step 3), массив в это время находится в состоянии Optimal. Если все проходит нормально, то мы возвращаемся к Step 1, где система также без ошибок. Если в момент работы Copy back случается авария на каком-то другом диске и массив переходит в критическое состояние, то операция Copy back заканчивается с ошибкой (Step 4, который фактически эквивалентен Step 2 с добавившимся сбоем еще одного диска). Массив имеет критический статус, но продолжает быть доступен для работы. В этот момент у нас есть два выхода – либо объявить имеющийся новый диск как Spare (начнется rebuild), либо сразу заменить сломавшийся последним диск – тогда тоже начнется перестроение массива.

image

Так что можно смело включать Copy back (если много дисков и массивов). В других случаях он конечно тоже не сильно помешает, но и толку особенного не будет.

4 комментария:

  1. Анонимный24 июля 2014 г., 5:55

    Хорошая статья, прояснило некоторые моменты в RAID-контроллерах работы функции Copyback спасибо автору.

    ОтветитьУдалить
  2. Хорошая фича, побольше бы таких :))

    ОтветитьУдалить

  3. А тогда что означает spare?
    https://preply.com/question/chto-oznachaet-spare

    ОтветитьУдалить
  4. *Проследуйте по этой ссылке и удвойте свою скидку*
    http://www.iherb.com/?pcode=YEAREND10&rcode=TUV034
    *Вместе с кодом YEAREND10 *
    *Отдаем почти за бесценок!*

    ОтветитьУдалить