ВСЕ О RAID-МАССИВАХ
Слово RAID слышим все чаще и чаще, а спроси обычного пользователя, что это такое — в большинстве случаев в ответ не дождешься ничего, кроме "ну", да "э-э-э"... Если же кто скажет: "Это штука, которая благотворно влияет на скорость работы винчестеров и надежность хранения информации", — то, считай, повезло. Забавно. Дешевый RAID-контроллер сейчас можно найти почти в каждой материнке, а у нерасторопного юзера даже в мыслях нет поинтересоваться, за что же он там деньги заплатил. Зато когда ткнешь его носом, разжуешь и все по полочкам разложишь — удивляется, спрашивает озадаченно: "И как же это я раньше без этого обходился-то, а?"
RAID? Я думал, это средство от насекомых…
Однако давай начнем с самого начала. Итак, что же такое RAID? К счастью, мы с тобой не чайники, и знаем, что RAID — это Redundant Array of Inexpensive Disks, т.е. избыточный массив недорогих дисков. Главная фишка заключается в том, что несколько дисков можно объединить в одно устройство, называемое дисковым массивом, которое, помимо большого объема, будет обладать либо повышенной скоростью работы по сравнению с отдельным диском, либо повышенной надежностью хранения данных, либо сразу и тем и другим.
Есть несколько способов объединения дисков в массивы. Эти способы называются level'ами (уровнями) RAID. Существуют 8 сертифицированных базовых уровней (0..7) и немереная куча их комбинаций.
Благодаря незамысловатым идеям, лежащим в основе, сделать RAID уровней 0, 1, 5 и JBOD — как два байта переслать. Сегодня на это способна любая приличная ось и каждая мало-мальски продвинутая материнка.
RAID 0. Что бы ты ни думал, глядя на это название, знай, что RAID нулевого уровня, строго говоря, RAID'ом не является, так как никакой избыточности (redundant) здесь нет и в помине. А относится он к рейдам лишь потому, что это тоже дисковый массив. Зато этот способ объединения дисков — самый быстрый из всех. В этом рейде диски работают параллельно, часть информации идет на один диск, часть — на другой. Скорость работы вырастет во столько раз, сколько винчей ты в этот рейд поставишь. Правда, во столько же раз возрастают шансы, что вся эта система сбойнет к чертовой матери. А уж если RAID 0 дохнет, то навсегда. Восстановить хранившуюся на нем инфу можно разве что высасыванием недостающих фрагментов из пальца. Хотя, если на дисках нет эксклюзивной инфы (или если просто не забывать про бэкап), то возможностью разом увеличить производительность дисковой системы вдвое-втрое, на мой взгляд, ни в коем случае не стоит пренебрегать.
В системе такой массив выглядит как обычный диск, емкость которого равна суммарному объему всех установленных винчей (если они одинаковые) или объему наименьшего винча, помноженному на общее число винчей в массиве (если диски имеют разный объем). На более вместительных дисках в этом случае останется свободное пространство, которое, увы, скорей всего, использовать не удастся. Хотя, пожалуй, мы чуть позже еще обсудим этот вопрос.
RAID 1. В рейде этого уровня одна и та же информация одновременно пишется на несколько дисков, т.е. выполняется так называемое зеркалирование, или mirroring.
Надежность такого решения велика, поскольку если один из винчестеров вдруг накроется, то на втором вся информация останется в целости и сохранности. Круто? Согласен! Одна беда — в системе такой рейд выглядит как один жесткий диск. И его объем равен объему меньшего из дисков зеркальной пары. Обидно, да? Покупаешь два диска, а работаешь, по сути, с одним. И скорость работы в точности такая же, как и у одного винча (хотя теоретически может быть и больше). Впрочем, если ты работаешь с информацией, потеря которой может обойтись тебе гораздо дороже стоимости второго диска, то RAID первого уровня как раз для тебя.
RAID 5. Если ты можешь позволить себе купить как минимум три диска, советую тебе приглядеться к рейду пятого уровня. Это промежуточный вариант, при котором данные распараллеливаются и записываются сразу на несколько дисков (как в RAID 0). Но при этом на каждый диск заносится еще и дополнительная избыточная информация, которая при выходе из строя одного из винчей массива позволяет оставшимся дискам скооперироваться и восстановить данные, хранившиеся на их погибшем товарище. Короче говоря, RAID 5 является своеобразным компромиссом между скоростными характеристиками рейда нулевого уровня и надежностью первого. Скорость чтения этого рейда тем выше, чем больше винчестеров тебе удастся в него запрячь. А вот скорость записи, из-за того что контроллеру приходится конкретно париться над расчетом корректирующих кодов, будет, возможно, даже ниже, чем у одиночного диска.
Ну, а пока ты копишь деньги на три харда, можешь развлечь себя расчетами общей емкости дискового массива в RAID 5. Формула проста: его емкость равна V*(N-1) (где N — количество дисков, а V — вместимость наименьшего).
JBOD (Just a Bunch Of Drives). А это и не уровень RAID вовсе. А так, просто объединение нескольких винчестеров таким образом, что они воспринимаются системой как один диск, но большой. Склеивать можно винчестеры разных емкостей. Ничего для повышения отказоустойчивости и производительности здесь нет. Даже не знаю, почему я об этом заговорил. Видимо потому, что JBOD поддерживают сейчас практически все RAID-контроллеры :).
И это работает? Железно!
Для того чтобы заиметь в своем компе RAID, нужна железяка, которая называется RAID-контроллер. Такие контроллеры продаются отдельно или встраиваются на материнки. Условно их можно разделить на три группы.
Первую паяют для использования дисков с продвинутыми интерфейсами (SCSI, FC-AL, SSA) для работы в супербыстрых и супернадежных системах. На таких контроллерах стоит собственный проц, кэш, они поддерживают многие уровни RAID и щеголяют переизбытком всевозможных функций (проверка целостности, горячее резервирование, горячая замена — из них самые необходимые). Сами по себе такие контроллеры стоят до чертиков, не говоря уже про диски.
Вторая группа RAID-контроллеров рассчитана на пользователей победнее. В основном характеристики таких контроллеров мало чем отличаются от характеристик устройств первой группы, да и стоят эти девайсы ненамного меньше. Зато работают они со значительно более дешевыми дисками (с ATA или Serial ATA интерфейсом), на чем и экономится куча бабок.
RAID-контроллеры третьей группы предназначены для тех, кому нужен рейд, но у кого нет на него денег. На таких девайсах нет ни проца, ни кэша, уровни поддерживаются лишь самые простые, а функции урезаны по самое не хочу. Такой контроллер стоит смешных денег, но несмотря на это некоторую пользу можно извлечь и из него.
От винта!
Проведем эксперимент. Предположим, что на наших с тобой материнках есть RAID-контроллер, поддерживающий RAID 0 и 1. Давай прикинем, как его можно использовать.
Ну, перво-наперво, конечно, мы обзаводимся двумя одинаковыми винчами или — что вероятней — докупаем пару к тому, что уже имеется. В рейд желательно ставить жесткие диски одной марки — надежней будет. Но даже если винчи разные, ничего страшного не случится. Главное подсуетиться, чтобы винчи были одинакового объема, иначе больший диск "подрежется" по размеру меньшего. А мне лично всегда обидно, когда дисковое пространство пропадает впустую.
Что дальше? А дальше ты подключаешь винчи куда надо, заводишь машину, караулишь момент, когда будет написано, как войти в RAID Setup, жмешь заветную кнопочку, и… опа! Мы там!
Как и у всего ширпотреба, в меню твоего контроллера, скорее всего, будет представлен минимальный набор пунктов — Create RAID Set, Delete RAID Set и Rebuild. Не бог весть что, конечно, но, с другой стороны, и запутаться нельзя.
Пробежимся по списку.
Создать RAID проще простого — выбираешь пункт Create, потом — тип массива (Mirroring или Striping), указываешь диски и все! Впрочем, если ты выберешь Striping (т.е. если ты сооружаешь рейд-массив нулевого уровня), тебе, возможно, придется еще указать порядок чередования винчестеров (если вдруг ты всунул их больше двух) и размер блока чередования. Не знаешь, какой размер блока поставить? Используй значение по умолчанию.
Удалить еще проще — выбираешь пункт Delete, нужный RAID Set, и недрогнувшей рукой подтверждаешь свой выбор.
Обновление чуточку посложней. Пройдемся по возможным ситуациям.
Ситуация первая: было зеркало (RAID 1), но стало тесно и ты решил поставить винчи побольше. Нет проблем! Существует два варианта действий. Первый вариант: в безопасное место сбрасываешь с рейд-массива всю инфу, удаляешь его, ставишь новые винчи, организуешь новый рейд, переписываешь сохраненную инфу обратно.
Вариант второй (продвинутый): вынимаешь из зеркала один винч, на его место вставляешь новый. Делаешь Rebuild массива с оставшегося диска. Вынимаешь второй диск, на его место ставишь другой, новый, и снова делаешь Rebuild с того диска, который поставил перед этим. Размеры партиций правишь с помощью прог для разбивки винчей. Все.
Ситуация вторая: решил поменять накопители в рейде нулевого уровня… Единственный способ это сделать — через бэкап, как при апгрейде зеркала. Поочередная замена с ребилдом, ясное дело, не покатит, так как на каждом винче хранится только часть данных.
Готовимся к неприятностям
Рано или поздно винч сдохнет. На то он и винч. Действуй, сохраняя хладнокровие. Когда умирает один из винчей зеркала, достаточно просто заменить покойника новым хардом, и сделать ребилд диска, оставшегося в живых. Если отбрасывает блины какой-то из дисков чередующегося массива — меняешь винчестер и монтируешь рейд по новой.
По понятным причинам отказ RAID 0 не может пройти незамеченным, а вот об отказе одного винча в RAID 1 можно вообще никогда не узнать, особенно если и контроллер дешевенький, и комплектуется он по-настоящему тупой утилитой. Хотя нет! Если сдохнет и второй винч, правда откроется. Хотя предпринимать что-либо уже будет поздно. Да, и, кстати, совсем не факт, что данные на винчи пишутся и хранятся так, как надо. И если в случае с RAID 0 все, опять же, сразу вылезает на поверхность, то при работе с RAID 1 об этом можно узнать только после издыхания одного из винчей. То есть опять-таки тогда, когда о восстановлении инфы можно даже не заикаться. Происходит же все это безобразие потому, что дешевые контроллеры не умеют делать проверку целостности — применительно к RAID 1 это значит сравнивать содержимое винчей зеркальной пары. Поэтому мой тебе совет — не провоцируй свои дисковые массивы на суицид. Не вынимай хард из рейд-массива первого уровня и не ходи с ним к другу. Ну, если уж сделал так, то, вернув на место, обязательно делай ребилд с нужного диска. И если у тебя продвинутый контроллер, умеющий делать consistency check (проверку целостности), то регулярно пользуйся этой функцией.
Кстати, конфигурировать рейд можно, не только колупаясь в неудобном биосе, но и с помощью приятных GUI'евин, входящих в комплект контроллера. Например, контроллеры на Silicon Image Sil3112A комплектуются конфигом SATALink, позволяющим настроить и винчи, и рейд.
Win на выдумки хитра
Желание пользоваться всякими продвинутыми технологиями в нас мирно сосуществует с яростным нежеланием за это платить. Именно поэтому появилось море девайсов, где микруха, отвечающая за характерную функцию, заменена софтом. Но мы не жалуемся, а с радостью заюзываем подобные… эмуляции. Возьмем, к примеру, программные RAID-массивы. Возможности для их создания есть и в специфически ориентированной Netware, и в не слишком широко распространенном Linuxe'e, и во всячески унижаемых окнах, основанных на коде NT (NT4.0/2000/XP).
Само собой, программные RAID-массивы имеют целый ряд недостатков. Во-первых, программный рейд очень сильно зависит от операционной системы, ее стабильности. В случае падения оси, данные с массивов всех уровней RAID, кроме первого, скорее всего, восстановить не удастся. Во-вторых, как ты догадываешься, выполнение программ лежит на плечах процессора, и это означает, что программный рейд будет кушать некоторую часть процессорных ресурсов, а его производительность будет зависеть от текущей загрузки процессора. При этом производительность системы в свою очередь будет зависеть и от нагрузки на RAID. В-третьих, даже при работе в RAID 1 могут возникнуть сложности. К примеру, при отказе ведущего диска без правки boot.ini загрузиться тебе не удастся.
Честно говоря, раньше я думал, что основное преимущество программной организации рейда — цена, а точнее, ее отсутствие. Но после сравнительного тестирования я понял, что это все же не единственная положительная сторона такого подхода. Впрочем, прежде чем переходить к тестированию, стоит, пожалуй, взглянуть на то, что мы будем тестить.
Я его слепила из того, что было…
Я уже упоминал, что средство построения программного рейда встроено в Windows 2000/XP. Как пользователи мелких и мягких мы можем в любой момент сделать себе RAID 0, 1, 5 или JBOD, не потратив ни одного честно заработанного рубля.
Однако объясняю по пунктам: все начинается с подключения дисков к компьютеру, его включения и ожидания загрузки окон. Полюбоваться на новые устройства можно в Панель управления -> Администрирование -> Управление компьютером -> Управление дисками. После этого ты должен выбрать нужные диски и преобразовать их в динамические. Сделать это необходимо, поскольку интересующие нас софтверные рейды являются динамическими томами, а последние, в свою очередь, могут быть созданы лишь на динамических дисках.
Теперь можно творить. Динамические тома (созданные с помощью ее, Windows, собственного средства управления дисками) — это и есть нужные нам программные рейд-массивы. Определившись, чего бы ты хотел иметь, заходишь в меню Действие -> Все задачи и выбираешь создание тома. Запустится мастер, который проведет тебя за ручку через весь несложный процесс. От тебя потребуется указать тип тома (составной (JBOD), чередующийся (RAID 0), Зеркальный (RAID 1), RAID 5), диски, на которых он будет создан, его метку и выбрать метод представления тома в системе. Да, форматирование лучше выбирай быстрое, иначе засидишься до утра. Дельце сделано? RAID-массив готов? Пользуйся!
Размеры динамических томов можно легко изменять (Действие -> Все задачи -> Расширить том). К тому же софтверные массивы гораздо удобнее аппаратных в плане распределения объема. Можно отвести под создание томов с избыточностью лишь часть пространства, а остальное использовать под другие нужды, создавая тома других видов. Здесь не может быть ситуации с потерей части диска при использовании винчестеров разного объема, как при аппаратном рейде, так как на оставшемся "лишним" куске свободного пространства можно запросто организовать еще один том.
Для удаления динамического тома все в том же меню Действие -> Все задачи нужно выбрать Удаление тома и начхать на предупреждение о возможных потерях инфы (если тебе и в самом деле на это начхать). Кстати, убрать можно не только том, но и зеркало от какого-то тома, лишив его тем самым устойчивости к отказам (команда Разделить зеркальный набор).
Если ты решил вдруг создать какой-то продвинутый рейд средствами популярной Windows 2000 Professional — приготовься к облому. Она ничего, кроме RAID 0, делать не умеет. И говорит, что если мы хотим уровень 1 или 5, то нам надо раскошелиться на Server редакцию. Можно, конечно, решить эту задачу в лоб и переставить окна, но на самом деле ни для кого не секрет, что редакции Windows отличаются лишь набором дополнительного софта в дистрибутиве, а данное ограничение растет из реестра и может быть легко поправлено софтинкой NTSwitch.
Кучи вариантов обновления, как в случае с аппаратным рейдом, не предложу. Возможно, я их не знаю, а, быть может, их попросту нет. Мне кажется, единственно правильный образ действий выглядит так: сначала следует слить всю информацию в теплое сухое место, затем произвести все необходимые манипуляции над выбранным томом, после чего переместить сохраненные данные туда, куда нужно.
Замучили проблемы?
Даже создание на рульном динамическом томе не придает RAID 0 отказоустойчивости. Поэтому при его отказе инфа пойдет прахом. Том RAID 1 при отказе или ошибках одного из дисков в окне Управление дисками помечается как Отказавшая избыточность. Если не хочешь потерять всю инфу — жми Реактивизацию диска как можно скорей. А если не помогает — значит, диск умер: нужно удалить текущее зеркало и создать новое на другом диске. О сбое RAID 5 сообщается точно таким же образом, но в этом случае, если реактивизация диска не помогает, нужно пользоваться командой Восстановить том (понятное дело, это замена одного из разделов тома, и для этого необходим динамический диск с достаточным объемом свободного пространства).
В принципе, вот и все премудрости организации программного рейда. Абсолютно никаких сложностей. Нулевой и первый уровни при небольшом количестве дисков просты как валенки.
Комментарии
doci.nnm.ru
Положить картиночки в архив, и на рапиду — это мощно.
зачем их выкладывать-то,
но архивчик скачаю
Слово RAID слышим все чаще и чаще, а спроси обычного пользователя, что это такое — в большинстве случаев в ответ не дождешься ничего, кроме "ну", да "э-э-э"... Если же кто скажет: "Это штука, которая благотворно влияет на скорость работы винчестеров и надежность хранения информации", — то, считай, повезло. Забавно. Дешевый RAID-контроллер сейчас можно найти почти в каждой материнке, а у нерасторопного юзера даже в мыслях нет поинтересоваться, за что же он там деньги заплатил. Зато когда ткнешь его носом, разжуешь и все по полочкам разложишь — удивляется, спрашивает озадаченно: "И как же это я раньше без этого обходился-то, а?"
RAID? Я думал, это средство от насекомых…
Однако давай начнем с самого начала. Итак, что же такое RAID? К счастью, мы с тобой не чайники, и знаем, что RAID — это Redundant Array of Inexpensive Disks, т.е. избыточный массив недорогих дисков. Главная фишка заключается в том, что несколько дисков можно объединить в одно устройство, называемое дисковым массивом, которое, помимо большого объема, будет обладать либо повышенной скоростью работы по сравнению с отдельным диском, либо повышенной надежностью хранения данных, либо сразу и тем и другим.
Есть несколько способов объединения дисков в массивы. Эти способы называются level'ами (уровнями) RAID. Существуют 8 сертифицированных базовых уровней (0..7) и немереная куча их комбинаций.
Благодаря незамысловатым идеям, лежащим в основе, сделать RAID уровней 0, 1, 5 и JBOD — как два байта переслать. Сегодня на это способна любая приличная ось и каждая мало-мальски продвинутая материнка.
RAID 0. Что бы ты ни думал, глядя на это название, знай, что RAID нулевого уровня, строго говоря, RAID'ом не является, так как никакой избыточности (redundant) здесь нет и в помине. А относится он к рейдам лишь потому, что это тоже дисковый массив. Зато этот способ объединения дисков — самый быстрый из всех. В этом рейде диски работают параллельно, часть информации идет на один диск, часть — на другой. Скорость работы вырастет во столько раз, сколько винчей ты в этот рейд поставишь. Правда, во столько же раз возрастают шансы, что вся эта система сбойнет к чертовой матери. А уж если RAID 0 дохнет, то навсегда. Восстановить хранившуюся на нем инфу можно разве что высасыванием недостающих фрагментов из пальца. Хотя, если на дисках нет эксклюзивной инфы (или если просто не забывать про бэкап), то возможностью разом увеличить производительность дисковой системы вдвое-втрое, на мой взгляд, ни в коем случае не стоит пренебрегать.
В системе такой массив выглядит как обычный диск, емкость которого равна суммарному объему всех установленных винчей (если они одинаковые) или объему наименьшего винча, помноженному на общее число винчей в массиве (если диски имеют разный объем). На более вместительных дисках в этом случае останется свободное пространство, которое, увы, скорей всего, использовать не удастся. Хотя, пожалуй, мы чуть позже еще обсудим этот вопрос.
RAID 1. В рейде этого уровня одна и та же информация одновременно пишется на несколько дисков, т.е. выполняется так называемое зеркалирование, или mirroring.
Надежность такого решения велика, поскольку если один из винчестеров вдруг накроется, то на втором вся информация останется в целости и сохранности. Круто? Согласен! Одна беда — в системе такой рейд выглядит как один жесткий диск. И его объем равен объему меньшего из дисков зеркальной пары. Обидно, да? Покупаешь два диска, а работаешь, по сути, с одним. И скорость работы в точности такая же, как и у одного винча (хотя теоретически может быть и больше). Впрочем, если ты работаешь с информацией, потеря которой может обойтись тебе гораздо дороже стоимости второго диска, то RAID первого уровня как раз для тебя.
RAID 5. Если ты можешь позволить себе купить как минимум три диска, советую тебе приглядеться к рейду пятого уровня. Это промежуточный вариант, при котором данные распараллеливаются и записываются сразу на несколько дисков (как в RAID 0). Но при этом на каждый диск заносится еще и дополнительная избыточная информация, которая при выходе из строя одного из винчей массива позволяет оставшимся дискам скооперироваться и восстановить данные, хранившиеся на их погибшем товарище. Короче говоря, RAID 5 является своеобразным компромиссом между скоростными характеристиками рейда нулевого уровня и надежностью первого. Скорость чтения этого рейда тем выше, чем больше винчестеров тебе удастся в него запрячь. А вот скорость записи, из-за того что контроллеру приходится конкретно париться над расчетом корректирующих кодов, будет, возможно, даже ниже, чем у одиночного диска.
Ну, а пока ты копишь деньги на три харда, можешь развлечь себя расчетами общей емкости дискового массива в RAID 5. Формула проста: его емкость равна V*(N-1) (где N — количество дисков, а V — вместимость наименьшего).
JBOD (Just a Bunch Of Drives). А это и не уровень RAID вовсе. А так, просто объединение нескольких винчестеров таким образом, что они воспринимаются системой как один диск, но большой. Склеивать можно винчестеры разных емкостей. Ничего для повышения отказоустойчивости и производительности здесь нет. Даже не знаю, почему я об этом заговорил. Видимо потому, что JBOD поддерживают сейчас практически все RAID-контроллеры :).
И это работает? Железно!
Для того чтобы заиметь в своем компе RAID, нужна железяка, которая называется RAID-контроллер. Такие контроллеры продаются отдельно или встраиваются на материнки. Условно их можно разделить на три группы.
Первую паяют для использования дисков с продвинутыми интерфейсами (SCSI, FC-AL, SSA) для работы в супербыстрых и супернадежных системах. На таких контроллерах стоит собственный проц, кэш, они поддерживают многие уровни RAID и щеголяют переизбытком всевозможных функций (проверка целостности, горячее резервирование, горячая замена — из них самые необходимые). Сами по себе такие контроллеры стоят до чертиков, не говоря уже про диски.
Вторая группа RAID-контроллеров рассчитана на пользователей победнее. В основном характеристики таких контроллеров мало чем отличаются от характеристик устройств первой группы, да и стоят эти девайсы ненамного меньше. Зато работают они со значительно более дешевыми дисками (с ATA или Serial ATA интерфейсом), на чем и экономится куча бабок.
RAID-контроллеры третьей группы предназначены для тех, кому нужен рейд, но у кого нет на него денег. На таких девайсах нет ни проца, ни кэша, уровни поддерживаются лишь самые простые, а функции урезаны по самое не хочу. Такой контроллер стоит смешных денег, но несмотря на это некоторую пользу можно извлечь и из него.
От винта!
Проведем эксперимент. Предположим, что на наших с тобой материнках есть RAID-контроллер, поддерживающий RAID 0 и 1. Давай прикинем, как его можно использовать.
Ну, перво-наперво, конечно, мы обзаводимся двумя одинаковыми винчами или — что вероятней — докупаем пару к тому, что уже имеется. В рейд желательно ставить жесткие диски одной марки — надежней будет. Но даже если винчи разные, ничего страшного не случится. Главное подсуетиться, чтобы винчи были одинакового объема, иначе больший диск "подрежется" по размеру меньшего. А мне лично всегда обидно, когда дисковое пространство пропадает впустую.
Что дальше? А дальше ты подключаешь винчи куда надо, заводишь машину, караулишь момент, когда будет написано, как войти в RAID Setup, жмешь заветную кнопочку, и… опа! Мы там!
Как и у всего ширпотреба, в меню твоего контроллера, скорее всего, будет представлен минимальный набор пунктов — Create RAID Set, Delete RAID Set и Rebuild. Не бог весть что, конечно, но, с другой стороны, и запутаться нельзя.
Пробежимся по списку.
Создать RAID проще простого — выбираешь пункт Create, потом — тип массива (Mirroring или Striping), указываешь диски и все! Впрочем, если ты выберешь Striping (т.е. если ты сооружаешь рейд-массив нулевого уровня), тебе, возможно, придется еще указать порядок чередования винчестеров (если вдруг ты всунул их больше двух) и размер блока чередования. Не знаешь, какой размер блока поставить? Используй значение по умолчанию.
Удалить еще проще — выбираешь пункт Delete, нужный RAID Set, и недрогнувшей рукой подтверждаешь свой выбор.
Обновление чуточку посложней. Пройдемся по возможным ситуациям.
Ситуация первая: было зеркало (RAID 1), но стало тесно и ты решил поставить винчи побольше. Нет проблем! Существует два варианта действий. Первый вариант: в безопасное место сбрасываешь с рейд-массива всю инфу, удаляешь его, ставишь новые винчи, организуешь новый рейд, переписываешь сохраненную инфу обратно.
Вариант второй (продвинутый): вынимаешь из зеркала один винч, на его место вставляешь новый. Делаешь Rebuild массива с оставшегося диска. Вынимаешь второй диск, на его место ставишь другой, новый, и снова делаешь Rebuild с того диска, который поставил перед этим. Размеры партиций правишь с помощью прог для разбивки винчей. Все.
Ситуация вторая: решил поменять накопители в рейде нулевого уровня… Единственный способ это сделать — через бэкап, как при апгрейде зеркала. Поочередная замена с ребилдом, ясное дело, не покатит, так как на каждом винче хранится только часть данных.
Готовимся к неприятностям
Рано или поздно винч сдохнет. На то он и винч. Действуй, сохраняя хладнокровие. Когда умирает один из винчей зеркала, достаточно просто заменить покойника новым хардом, и сделать ребилд диска, оставшегося в живых. Если отбрасывает блины какой-то из дисков чередующегося массива — меняешь винчестер и монтируешь рейд по новой.
По понятным причинам отказ RAID 0 не может пройти незамеченным, а вот об отказе одного винча в RAID 1 можно вообще никогда не узнать, особенно если и контроллер дешевенький, и комплектуется он по-настоящему тупой утилитой. Хотя нет! Если сдохнет и второй винч, правда откроется. Хотя предпринимать что-либо уже будет поздно. Да, и, кстати, совсем не факт, что данные на винчи пишутся и хранятся так, как надо. И если в случае с RAID 0 все, опять же, сразу вылезает на поверхность, то при работе с RAID 1 об этом можно узнать только после издыхания одного из винчей. То есть опять-таки тогда, когда о восстановлении инфы можно даже не заикаться. Происходит же все это безобразие потому, что дешевые контроллеры не умеют делать проверку целостности — применительно к RAID 1 это значит сравнивать содержимое винчей зеркальной пары. Поэтому мой тебе совет — не провоцируй свои дисковые массивы на суицид. Не вынимай хард из рейд-массива первого уровня и не ходи с ним к другу. Ну, если уж сделал так, то, вернув на место, обязательно делай ребилд с нужного диска. И если у тебя продвинутый контроллер, умеющий делать consistency check (проверку целостности), то регулярно пользуйся этой функцией.
Кстати, конфигурировать рейд можно, не только колупаясь в неудобном биосе, но и с помощью приятных GUI'евин, входящих в комплект контроллера. Например, контроллеры на Silicon Image Sil3112A комплектуются конфигом SATALink, позволяющим настроить и винчи, и рейд.
Win на выдумки хитра
Желание пользоваться всякими продвинутыми технологиями в нас мирно сосуществует с яростным нежеланием за это платить. Именно поэтому появилось море девайсов, где микруха, отвечающая за характерную функцию, заменена софтом. Но мы не жалуемся, а с радостью заюзываем подобные… эмуляции. Возьмем, к примеру, программные RAID-массивы. Возможности для их создания есть и в специфически ориентированной Netware, и в не слишком широко распространенном Linuxe'e, и во всячески унижаемых окнах, основанных на коде NT (NT4.0/2000/XP).
Само собой, программные RAID-массивы имеют целый ряд недостатков. Во-первых, программный рейд очень сильно зависит от операционной системы, ее стабильности. В случае падения оси, данные с массивов всех уровней RAID, кроме первого, скорее всего, восстановить не удастся. Во-вторых, как ты догадываешься, выполнение программ лежит на плечах процессора, и это означает, что программный рейд будет кушать некоторую часть процессорных ресурсов, а его производительность будет зависеть от текущей загрузки процессора. При этом производительность системы в свою очередь будет зависеть и от нагрузки на RAID. В-третьих, даже при работе в RAID 1 могут возникнуть сложности. К примеру, при отказе ведущего диска без правки boot.ini загрузиться тебе не удастся.
Честно говоря, раньше я думал, что основное преимущество программной организации рейда — цена, а точнее, ее отсутствие. Но после сравнительного тестирования я понял, что это все же не единственная положительная сторона такого подхода. Впрочем, прежде чем переходить к тестированию, стоит, пожалуй, взглянуть на то, что мы будем тестить.
Я его слепила из того, что было…
Я уже упоминал, что средство построения программного рейда встроено в Windows 2000/XP. Как пользователи мелких и мягких мы можем в любой момент сделать себе RAID 0, 1, 5 или JBOD, не потратив ни одного честно заработанного рубля.
Однако объясняю по пунктам: все начинается с подключения дисков к компьютеру, его включения и ожидания загрузки окон. Полюбоваться на новые устройства можно в Панель управления -> Администрирование -> Управление компьютером -> Управление дисками. После этого ты должен выбрать нужные диски и преобразовать их в динамические. Сделать это необходимо, поскольку интересующие нас софтверные рейды являются динамическими томами, а последние, в свою очередь, могут быть созданы лишь на динамических дисках.
Теперь можно творить. Динамические тома (созданные с помощью ее, Windows, собственного средства управления дисками) — это и есть нужные нам программные рейд-массивы. Определившись, чего бы ты хотел иметь, заходишь в меню Действие -> Все задачи и выбираешь создание тома. Запустится мастер, который проведет тебя за ручку через весь несложный процесс. От тебя потребуется указать тип тома (составной (JBOD), чередующийся (RAID 0), Зеркальный (RAID 1), RAID 5), диски, на которых он будет создан, его метку и выбрать метод представления тома в системе. Да, форматирование лучше выбирай быстрое, иначе засидишься до утра. Дельце сделано? RAID-массив готов? Пользуйся!
Размеры динамических томов можно легко изменять (Действие -> Все задачи -> Расширить том). К тому же софтверные массивы гораздо удобнее аппаратных в плане распределения объема. Можно отвести под создание томов с избыточностью лишь часть пространства, а остальное использовать под другие нужды, создавая тома других видов. Здесь не может быть ситуации с потерей части диска при использовании винчестеров разного объема, как при аппаратном рейде, так как на оставшемся "лишним" куске свободного пространства можно запросто организовать еще один том.
Для удаления динамического тома все в том же меню Действие -> Все задачи нужно выбрать Удаление тома и начхать на предупреждение о возможных потерях инфы (если тебе и в самом деле на это начхать). Кстати, убрать можно не только том, но и зеркало от какого-то тома, лишив его тем самым устойчивости к отказам (команда Разделить зеркальный набор).
Если ты решил вдруг создать какой-то продвинутый рейд средствами популярной Windows 2000 Professional — приготовься к облому. Она ничего, кроме RAID 0, делать не умеет. И говорит, что если мы хотим уровень 1 или 5, то нам надо раскошелиться на Server редакцию. Можно, конечно, решить эту задачу в лоб и переставить окна, но на самом деле ни для кого не секрет, что редакции Windows отличаются лишь набором дополнительного софта в дистрибутиве, а данное ограничение растет из реестра и может быть легко поправлено софтинкой NTSwitch.
Кучи вариантов обновления, как в случае с аппаратным рейдом, не предложу. Возможно, я их не знаю, а, быть может, их попросту нет. Мне кажется, единственно правильный образ действий выглядит так: сначала следует слить всю информацию в теплое сухое место, затем произвести все необходимые манипуляции над выбранным томом, после чего переместить сохраненные данные туда, куда нужно.
Замучили проблемы?
Даже создание на рульном динамическом томе не придает RAID 0 отказоустойчивости. Поэтому при его отказе инфа пойдет прахом. Том RAID 1 при отказе или ошибках одного из дисков в окне Управление дисками помечается как Отказавшая избыточность. Если не хочешь потерять всю инфу — жми Реактивизацию диска как можно скорей. А если не помогает — значит, диск умер: нужно удалить текущее зеркало и создать новое на другом диске. О сбое RAID 5 сообщается точно таким же образом, но в этом случае, если реактивизация диска не помогает, нужно пользоваться командой Восстановить том (понятное дело, это замена одного из разделов тома, и для этого необходим динамический диск с достаточным объемом свободного пространства).
В принципе, вот и все премудрости организации программного рейда. Абсолютно никаких сложностей. Нулевой и первый уровни при небольшом количестве дисков просты как валенки.