Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | |
Дорого и медленно. 18.05.05 12:35 Число просмотров: 2425
Автор: Den <Денис Т.> Статус: The Elderman
|
|
<hardware>
|
Супер отказоустойчивый винчестер. Обсудим темочку? 17.05.05 15:09
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 17.05.05 15:17 Количество правок: 7
|
В компах есть устройства, вероятность отказа которых черезвычайно мала, а срок службы велик. Это, как правило, электронные, маломощные компоненты - микросхемы на системной плате, оперативка, сюда можно отнести и процессоры.
Существуют также и узлы, которые очень часто выходят из строя. В серверах эти системы оснащаются датчиками и дублируются. А так же предусматривается их "горячая" замена. Это кулеры, блоки питания, винчестеры. Вот собственно на последних и хотелось сконцентрировать внимание, поскольку их надежность важна не только в серверах, но и в большинстве других компьютерах.
1. Винты летят часто - с этим мало кто поспорит.
2. Мало кто дома использует РАИДы, да и в маленьких организациях тоже.
3. Резервное копироваение так же редко кто делает.
4. Не так жалко потерять "железяку", как инфу, которая на ней хранится. Кулера, БП и пр. дешевле и на них нет ценной инфы.
Собственно и возникает вопрос "Как повысить отказоустойчивость винтов не вкладывая в это приличные деньги как в РАИД"?
В связи с этим у меня возникла мысль, про реализацию которой в современных винтах я пока не слышал. Суть ее вот в чем.
Сначала рассмотрим виды отказа винта.
У винта может погореть электроника. Причем интерфейсная микруха так, что все выходные транзисторы сплавятся в один кусок кремния. Но это вызовет отказ даже физического РАИДа, поскольку в большинстве своем все диски вешаются на общий интерфейс.
У винта может отказать любая другая электроника, но это случается значительно реже, чем отказ механики. Об этом я уже упоминал, когда писал о системных платах.
Наиболее часто у винта отказывает механика, головки и "блины". Мало того, если транзистор, в отличии от электронной вакуумной лампы, можно считать практически вечным элементом, если он работает в своем нормальном режиме (напряжение, ток, мощность и температура в пределах заявленных параметров), то механика в любом случае изнашивается. Это я о пожшипниках шпинделя блинов и поворота головок, что приводит к увеличению люфта и уменьшению точности позиционирования. Кроме того во время пуска/раскрутки дисков и их останова головки труться о поверхность, хоть и вне зоны данных, но они стираются. И еще, поскольку в гермозоне могут находится микроскопические абразивные пылинки, повреждение поверхности и головок возможно во время работы винта. Магнитный слой дисков тоже не вечен и небольшой брак может проявить себя сразу же после окончания гарантийного срока. Технология изготовления головок очень высока и при незначительном изменении ее аэродинамической формы или положения может произойти контакт с поверхностью блина, что приведет к ее "сгоранию" и повреждению магнитного слоя.
Избежать отказа винта, случившегося по причине поломки механики может помочь внутренний РАИД.
Внутри современных винтов обычно два или три блина, стало быть 4 - 6 поверхностей, которые можно рассмотреть как отдельные одноголовочные винты, состовляющие РАИД. То есть информация пишется на N-1 поверхностей, а на последнюю пишется код восстановления. Получим РАИД-5 внутри винта.
В этом случае результирующая емкость винта упадет на 1/4 - 1/6, его микрокод необходимо будет проапгрейдить до умения работать в этом режиме и, может быть, комплектовать более мощным микропроцессорным контроллером.
Если же мы захотим параллельно получить прирост в производительности (скорости считывания с поверхности), то придется модернизировать головочный тракт - вместо коммутатора головок и одного сигнального процессора поставить по процессору на каждую головку.
Собственно что об этом думают посетители форума? Насколько это реализуемо? Насколько это эффективно? Насколько полезность соизмериться с затратами на внедрение? Почему пока еще подобные винты не делают? Может я что не учел?
Работая когда-то в компьютерном сервисном центре имел счастье наблюдать приходивших по несколько человек в год с проблемой полетевшего винта. Причем почти все просили восстановить данные. Мы обещали только поменять по гарантии винт бесплатно, а клиенты говорили что им побарабану по гарантии или за винт придется заплатить - у них на винте бесценная инфа. Мы успокаивали, говорили что они могут восстановить инфу с бэкапа, но клиенты даже слово бэкап слышали впервые. Ну чем можно помочь людям, если головки срезали поверхность так, что внутри горстка стружки, а винт визжит как циркулятная пила при включении.
|
|
Сегодня на iXBT в железных новостях проскочила инфа про... 24.05.05 10:24
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 24.05.05 10:25 Количество правок: 2
|
Сегодня на iXBT в железных новостях проскочила инфа про флэш_винчестеры, выпуск которых налаживает Самсунг.
Мне понравился на картинке 2.5" винт для буков. Энергопотребление 5% от обычных винтов, отсутствие шума, низкое тепловыделение, в два раза легче, в полтора раза быстрее по трансферу (я думаю по времени доступа быстрее в тысячу раз), более устойчив к вибрации.
Мое мнение - отсутствие механики даст огромную надежность, а для защиты от выпадающит битов надо бы не пожалеть и напаять девятую микросхему для ЕСС.
|
| |
Мож тогда сразу вот это, за 40 килобаксов... 26.05.05 04:05
Автор: Korsh <Мельников Михаил> Статус: Elderman Отредактировано 26.05.05 04:06 Количество правок: 1
|
супер-винт
|
| | |
Пару таких фигофен найти и продать... на безбедную старость хватит 27.05.05 13:25
Автор: Gruznov <Gruznov A. Mikhael> Статус: Member
|
|
| |
А как у него со стоимостью? 24.05.05 11:38
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
|
|
| | |
Говорили, что где-то 800-900$ 26.05.05 01:05
Автор: Gruznov <Gruznov A. Mikhael> Статус: Member
|
|
| | |
Появится в продаже через 3 месяца, тогда и посмотрим. Еще прогнозируют глобальное удешевление флэш памяти. 24.05.05 12:01
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
|
|
Почитал все мнения и в голову пришла идея как сделать похожее малой кровью: 17.05.05 21:41
Автор: Den <Денис Т.> Статус: The Elderman
|
1. На разные контроллеры EIDE вешаем диски, одинакового размера.
2. Каждый диск разбивается на два раздела, но таким образом, чтобы кол-во секторов во втором разделе равнялось кол-во кластеров в файловой системе первого раздела.
3. В драйвер файловой системы вносится изменение таким образом, что при записи кластера, к примеру в первый раздел диска на первом контроллере, драйвер файловой системы расчитывал контрольную сумму 512 байтовых блоков записываемого кластера и помещал эту контрольную сумму в сектор второго раздела диска на втором контроллере так, что номер сектора в разделе соответствовал бы номеру кластера, записанного в первый раздел диска первого контроллера. Для первого раздела второго диска обеспечиваются такие же условия.
Так как 512-байтные блоки кластера физически будут писаться на диск с чередованием сторон/головок, а контрольная сумма этих 512-байтных блоков будет находиться на диске другого контроллера (для увеличения производительности), то будем иметь raid5 для блоков данных файловой системы.
К сожалению такой подход обеспечит целостность только блоков данных файловой системы, но не ее служебной информации. С другой стороны ничто не мешает внести в драйвер ФС такие изменения, которые позволят обеспечить избыточность и для служебной информации ФС.
|
| |
Не пишутся они с чередованием секторов. Все как и на... 18.05.05 09:59
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 18.05.05 10:00 Количество правок: 1
|
> ... > Так как 512-байтные блоки кластера физически будут писаться > на диск с чередованием сторон/головок, а контрольная сумма > этих 512-байтных блоков будет находиться на диске другого > контроллера (для увеличения производительности), то будем > иметь raid5 для блоков данных файловой системы.
Не пишутся они с чередованием секторов на разные поверхности. Все как и на дискетке - сначала все 18 секторов одной головкой, потом 18 секторов другой. Только для винтов количество секторов на дорожке другое и количество секторов на треке уменьшается по мере расположения трека ближе к оси вращения. Проблема связана с отсутствием многоканального головочного тракта и отсутствия возможности мгновенно переключать головки.
> К сожалению такой подход обеспечит целостность только > блоков данных файловой системы, но не ее служебной > информации. С другой стороны ничто не мешает внести в > драйвер ФС такие изменения, которые позволят обеспечить > избыточность и для служебной информации ФС.
Если полетит одна голова на первом диске - теряем половину полезной инфы, а того, что записано на другом диске - по сектору на кластер маловато, чтоб восстановить ее.
|
| | |
Мда, об этом я как-то не подумал... Стормозил. 18.05.05 12:34
Автор: Den <Денис Т.> Статус: The Elderman
|
> Не пишутся они с чередованием секторов на разные > поверхности. Все как и на дискетке - сначала все 18 > секторов одной головкой, потом 18 секторов другой.
Мда, об этом я как-то не подумал... Стормозил.
Похоже без внесения изменений в сам HDD или, как минимум, в драйвер контроллера EIDE не обойтись.
> Только > для винтов количество секторов на дорожке другое и > количество секторов на треке уменьшается по мере > расположения трека ближе к оси вращения.
Об этом я не забыл. :)
> Проблема связана с > отсутствием многоканального головочного тракта и отсутствия > возможности мгновенно переключать головки.
Можно подробнее на этом месте? Что такое мгновенное переключение головок?
|
| | | |
Цепочка преобразования намагниченности поверхности в... 18.05.05 15:55
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> > Проблема связана с > > отсутствием многоканального головочного тракта и > отсутствия > > возможности мгновенно переключать головки. > > Можно подробнее на этом месте? Что такое мгновенное > переключение головок?
Цепочка преобразования намагниченности поверхности в биттовую последовательность примерно такова: Если головка электромагнитная, то при перемещении под ней намагниченного материала разной степени и направленности намагниченности, в катушке будет наводится ЭДС индукции. Если головка магниторезистивная, то будет меняться ее сопротивление и, соответственно, ток, протекающий через нее при постоянном приложенном напряжении. Эти колебания напряжения/тока попадают на сигнальный процессор, который, грубо говоря, распознавая форму сигнала, преобразует ее в цифровой последовательный сигнал (последовательность бит). Эти битики, скорее всего "пачками" по 8 штук, попадают в определенное место оперативки на плате винта. интерфейсная микруха потом эту инфу передаст по интерфейсу.
Когда головок несколько, то применяют коммутатор аналоговых сигналов - это почти то же самое, что и мультиплексор для цифровых сигналов. На входы управления подается информация со стороны управляющего чипа какой из входов (головок) надо скомутировать с выходом при чтении и наоборот при записи. Сигнальные процессоры дороги, чтоб цеплять их к каждой головке, да и размеры у них не маленькие.
Предположим, что сразу же после прочтения сектора первой головой нужно читать сектор под второй. Межсекторное расстояние практически равно нулю в целях экономии площади поверхности диска. Этот маленький коммутатор будет переключаться намного дольше, чам проскочет под второй головой межсекторный промежуток. Можно включить чередование секторов - то есть второй головкой пишутся сектора со смещением, тогда будет потеря времени ожидания второй головой сектора. Да и зачем это надо, если всю дорожку можно прекрасно прочитать за один оборот одной головой. Надо читать двумя - надо ставить две микрухи-обработчика.
|
| | | | |
Согласен. И коммутаторов не потребуется. 18.05.05 17:02
Автор: Den <Денис Т.> Статус: The Elderman
|
|
| |
Den, за нас уже всё написали добрые дяди из M$. Вешай два, три винта на IDE, топай в "Управление дисками" в винде, и делай там софтварные RAID'ы какие хошь: 0, 1, 5. 18.05.05 08:48
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
| | |
Дорого и медленно. 18.05.05 12:35
Автор: Den <Денис Т.> Статус: The Elderman
|
|
| | | |
На данный момент это самое дешёвое решение тем, кому реально нужен RAID. Насчёт медлительности... У меня RAID1 стоит на серваке софтварный. Специально тестил на предмет загрузки проца. Разницы средствами Диспетчера задач не заметил. 18.05.05 13:26
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
| | | | |
Это потому, что время самого чтения сектора и передачи его по шине минимум порядка на 3 больше времени, необходимой на диспетчеризацию софтварного рейда 18.05.05 14:04
Автор: amirul <Serge> Статус: The Elderman
|
|
| | | | | |
Дык, если нет разницы с дорогим стиральным порошком, то... (C) ;-) 18.05.05 14:35
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 18.05.05 14:37 Количество правок: 1
|
|
| | | | | | |
Вот именно. Я об этом самом и сказал :-) 18.05.05 15:24
Автор: amirul <Serge> Статус: The Elderman
|
|
|
[UDP] насчет избыточности, надежности и цены 17.05.05 21:10
Автор: Killer{R} <Dmitry> Статус: Elderman Отредактировано 17.05.05 21:22 Количество правок: 1
|
В винтах и так инфа пишется с избыточностью. Обычно считается что юзается код Рида-Соломона с сизбыточностью 25%, хотя кто знает производителей винтов. Может и большая там избыточность по дефолту. Ничто не мешает просто аппаратно писать один сектор сразу на два блина - емкости не потеряется, избыточность останется (хотя можно ее немного и увеличить за счет емкости конечно) а надежность возрастет. Это одна сторона медали. Типа порадовались и приступим к другой стороне Ж) Подозреваю что для тех случаев для которых предполагается юзать такую штуку избыточность мало что даст. Те если там головка механически диск отформатирует на блине с инфой то никакая избыточность (кроме дублирования конечно) уже не спасет. А относительно простые сбои (электроника, даже сами головки сгоревшие) восстановить можно путем замены сгоревших железяк в соответствующих условиях (головки тож поменять чисто для восстановления инфы, если денег конечно дофига Ж)). Теперь насчет надежности и цены - вероятность убивания инфы на таком винте конечно будет намного меньше чем на обычном, но и больше чем на реальном рэйде. Врядли такая технология спасет винт юзера если изза полетевшего подшипника перекосятся все блины сразу и все головки благополучно нарежут там дорожки Ж). Вобщем это все надо досконально рассчитать чтобы соотношение (2*обычная_цена*вероятность_потери_инфы_рэйд)/(супер_цена*вероятность_потери_инфы_супервинт) было больше единицы. Если меньше - нет смысла. И то формула это приблизетельная, на самом деле надо учитывать еще цену восстановления инфы при различных неисправностях * вероятности этих неисправностей. Вотт Ж)
[upd]
И вообще имхо то что надежность винтов снижается говорит прежде всего о том что снижается потребность в ней. Все критичные коммерческие данные (базы данных, репозитории) храняться на рэйдах и никто никогда не будет использовать супервинт вместо рэйда (хотя пожалуй рэйд из винтов которые сами по себе маленькие рэйды вполне ничего так, но оно погоды не сделает). А обычным юзверям (сужу по своей домолокалке) супернадежность мало нужна. Бывают конечно единичные случаи типа диплома/свадебного фильма в единственном экзмпляре... Но дураки они всегда будут..
|
| |
Ну чтож, можно и про стандартные методы применения кодов... 18.05.05 09:43
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 18.05.05 09:47 Количество правок: 2
|
> В винтах и так инфа пишется с избыточностью. Обычно > считается что юзается код Рида-Соломона с сизбыточностью > 25%, хотя кто знает производителей винтов. Может и большая
Ну чтож, можно и про стандартные методы применения кодов обнаружения и коррекции ошибок поговорить.
Ну да, в погоне за емкостью и скоростью возникает проблема "некачественного" чтения. Мало того, я думаю что в самых современных винтах она имеет место быть при чтении каждого сектора или 99% чтений. Решать проблему начали давно - в конец сектора писали дополнительно 4-6 байт ЕСС, которых вполне хватит для обнаружения двойных и исправления одиночных ошибок. Однако инженеры идут дальше - есть возможность повысить плотность и скорость в два раза, но ошибок будет немерено (причины по запросу объясню отдельно), получите решение - в конец надо будет записать несколько десятков байт - погнали, делаем. Увеличение кода ЕСС до размеров данных не имеет смысла, так как потребуется читать вдвое больше, а при этом и увеличение скорости в два раза невелируется, как, впрочем и двухкратное увеличение плотности.
Все бы ничего, но код восстановления пишется рядом с самими данными. При повреждении участка поверхности накроется все. Хотя бы потому, что полностью живой код не восстановит полностью уничтоженные данные, если он меньше по размерам.
> там избыточность по дефолту. Ничто не мешает просто > аппаратно писать один сектор сразу на два блина - емкости > не потеряется, избыточность останется (хотя можно ее
Это зеркало получится - двухкратная потеря полезной емкости.
> немного и увеличить за счет емкости конечно) а надежность > возрастет. Это одна сторона медали. Типа порадовались и
> приступим к другой стороне Ж) Подозреваю что для тех > случаев для которых предполагается юзать такую штуку > избыточность мало что даст. Те если там головка механически > диск отформатирует на блине с инфой то никакая избыточность > (кроме дублирования конечно) уже не спасет. А относительно > простые сбои (электроника, даже сами головки сгоревшие) > восстановить можно путем замены сгоревших железяк в > соответствующих условиях (головки тож поменять чисто для > восстановления инфы, если денег конечно дофига Ж)). Теперь
Теоретически, только сколько денег это будет стОить и кто возьмется. Может у нас в России есть такие лаборатории? Не " на коленках в подвале" ли специ там работают?
> насчет надежности и цены - вероятность убивания инфы на > таком винте конечно будет намного меньше чем на обычном, но > и больше чем на реальном рэйде. Врядли такая технология > спасет винт юзера если изза полетевшего подшипника > перекосятся все блины сразу и все головки благополучно > нарежут там дорожки Ж). Вобщем это все надо досконально
Ну здесь уже говорили, что прямое попадание молнии может грохнуть любой массив, даже аппаратный на реальных дисках.
> рассчитать чтобы соотношение > (2*обычная_цена*вероятность_потери_инфы_рэйд)/(супер_цена*в > ероятность_потери_инфы_супервинт) было больше единицы. Если > меньше - нет смысла. И то формула это приблизетельная, на > самом деле надо учитывать еще цену восстановления инфы при > различных неисправностях * вероятности этих неисправностей. > Вотт Ж)
Кто ж знает эти вероятные_потери. Я полагаю, что и сами производители тоже не знают, так как до них не все полетевшие винты по гарантии доходят. К тому же они могут не утруждать себя "работой над ошибками".
> [upd] > И вообще имхо то что надежность винтов снижается говорит > прежде всего о том что снижается потребность в ней. Все > критичные коммерческие данные (базы данных, репозитории) > храняться на рэйдах и никто никогда не будет использовать > супервинт вместо рэйда (хотя пожалуй рэйд из винтов которые > сами по себе маленькие рэйды вполне ничего так, но оно > погоды не сделает). А обычным юзверям (сужу по своей > домолокалке) супернадежность мало нужна. Бывают конечно > единичные случаи типа диплома/свадебного фильма в > единственном экзмпляре... Но дураки они всегда будут..
Вот это интересно сколько подобных случаев было и величина ущерба, когда про полетевшем винте не было резервной копии и было жаль потерянных данных.
|
|
|