Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Касаемо ЖД - это до сих пор для меня остается загадкой. 30.01.07 12:07 Число просмотров: 4206
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 30.01.07 12:10 Количество правок: 1
|
Касаемо ЖД - это до сих пор для меня остается загадкой.
> :) Неа! ЖД не являются отказоустойчивыми по > следующим причинам:
Смотря что вкладывать в понятие отказоустойчивости.
> 1. КС сектора ЖД расчитывается для всех данных сектора, что > не позволяет исправить ошибку в случае искажения при чтении > и служит лишь проверкой на корректность прочитанных с > носителя (блина ЖД) данных. > > 2. КС сектора ЖД, как и сами данные сектора, располагается > на том же носителе (блине ЖД). >
Так в чем же загадка КС винта? Я слышал про размерность в 4 и 6 байт для 512 байтного сектора. Пока не знаю точно, возможно ли обеспечить обнаружение и восстановление искаженный данных сектора такой маленькой КС.
Знаю, что возможно восстановить (предварительно обнаружив) целый байт в полкило, дополнительно приписав КС, размерностью в 24 байта, при условии, что испорчен только один байт. Далее могу посчитать вероятность того, что искажение данных вообще не будет обнаружена, сколько байт может быть испорчено, чтоб их можно было обнаружить, но не восстановить и пр.
Могу догадываться только об одном, что КС винта мала для того, чтоб восстановить хотя бы пару бит, но достаточна, чтоб гарантировано определить искажение нескольких бит.
> В чем, конкретно, мое заблуждение??? > Подозреваю, что заблуждаюсь не я...
Ну и по поводу "отказоустойчивости" РАИДа: Ну избыточный он, ну храниться все, что нужно для восстановления на отдельном винте, все равно это замкнутая система, как и отдельно взятый винт. Если расплющить под пресом это устройство, то оно так же откажет, как и отдельно взятый винт.
Если десяток-полтора винтов сидят на одной скайзи шинке, то если хотя бы у одного винта прогорит контроллер интерфейса так, что закоротит всю скайзи шину, то какого бы не был уровня РАИД, он откажет как один диск.
Чаще отказывет механика и поверхность винта - правильно! Ни что не мешает внутри одного диска организовать РАИД, главное чтоб блинов/поверхностей у него было больше одного. Просто представим, что это не просто винт, а несколько одноблиновых винтов. На одну поверхность пишем избыточность, а на остальные - данные. Оторвет ли голову, погорит ли она, поцарапается ли поверхность, винт будет жив. А уж если погорит контроллер - извиняйте батько, но можно махнуть и винт опять жив, и данные не потеряны, разве что система немного постояла/отдохнула.
Послесловие: не советую ни кому писать драйвер, реализующий функцию РАИДа на одном винте.
Ну и если вернуться к сетке, то для обнаружения искажения достаточно и пары байт. Если пакеты пойдут битые, то сетка сразу просядет так, что никто не будет дожитаться 65536 пакета. А восстанавливать данные никому не надо, это не РАИД, который данные хранит, в сетке можно и повторить посылку.
|
|
|