Действительно ли стоит использовать vdmfec для резервных копий на внешний SATA/жесткие диски с интерфейсом IDE?

Поддержка драйвера работает тот же путь со всем открытым исходным кодом: кто-то решает поцарапать их собственный зуд.

Иногда драйвер предоставляется компанией, обеспечивающей аппаратные средства, так же, как в Windows. Intel делает это для их микросхем сети, 3ware делает это для их RAID-контроллеров и т.д. Эти компании решили, что это находится в их интересах обеспечить драйвер: их "зуд" состоит в том, чтобы продать продукт пользователям Linux, и это означает гарантировать, что существует драйвер.

В лучшем случае компания упорно работает для получения их драйвера в соответствующую исходную основу, которая поставлется с дистрибутивами Linux. Для большинства драйверов, который означает ядро Linux. Для графических драйверов это означает X.org. Существует также CUPS для драйверов принтера, ГАЙКА для драйверов UPS, НОРМАЛЬНЫХ для драйверов сканера, и т.д. Очевидное преимущество выполнения этого - то, что дистрибутивы Linux, сделанные после драйвера, приняты, будет иметь поддержку аппаратных средств из поля. Самая большая оборотная сторона - то, что это - больше работы для компании для координирования с проектом с открытым исходным кодом вложить их драйвер для тех же основных причин, для двух отдельных групп трудно скоординировать что-либо.

Затем существуют те компании, которые принимают решение предложить их исходный код драйвера непосредственно, только. Обычно необходимо загружать исходный код драйвера с их веб-сайта, создавать его в системе и устанавливать его вручную. Такие компании обычно меньше или специализированные производители без достаточного количества сотрудников, которых они могут сэкономить усилие скоординировать с соответствующим проектом с открытым исходным кодом получить их драйвер в исходную основу того проекта.

Редкое небольшое количество компании обеспечивает драйверы только для двоичного файла вместо исходного кода. Примером являются более усовершенствованные 3D драйверы от компаний как NVIDIA. Обычно причина этого состоит в том, что компания не хочет выдавать информацию, о которой они чувствуют себя собственными. Такие драйверы часто не работают со столькими же дистрибутивов Linux сколько с предыдущими случаями, потому что компания, обеспечивающая аппаратные средства, не потрудилась восстанавливать их драйвер для отслеживания изменений ABI и API. Для конечного пользователя или поставщика дистрибутива Linux возможно настроить драйвер, обеспеченный как исходный код для отслеживания таких изменений, таким образом, в предыдущих двух случаях, драйвер может обычно делаться работать с большим количеством систем, чем двоичный драйвер будет.

Когда компания не обеспечивает драйверы Linux, кто-то в сообществе просто решает сделать это. Существуют некоторые большие классы аппаратных средств, где это распространено, как с UPSes и принтерами. Это берет редкого пользователя, который a) имеет аппаратные средства; b) имеет время; c) имеет навык; и d) имеет наклон провести время для разработки драйвера. Для распространенного оборудования это обычно не проблема, потому что с миллионами пользователей Linux, эти немного людей действительно существуют. Вы попадаете в беду с редкими аппаратными средствами.

5
10.04.2011, 14:37
1 ответ

Добавление Кодов с коррекцией ошибок (ECC) к Вашим резервным копиям является определенно хорошей вещью. Вы обмениваете некоторое количество дополнительного пространства для получения некоторой устойчивости в форме избыточности данных.

vdmfec похож на миленький инструмент. По умолчанию это принимает размер блока b=1024 байтов, и это выписывает блоки N=18 для каждый блоки K=14 входа. Это означает, что по умолчанию, выходной размер расширяется N-K=4 блоками для каждых 14 блоков для увеличения размера приблизительно 29%. Можно играть с параметрами K и N для получения более или менее дублирования, хотя мое чувство состоит в том, что значения по умолчанию, вероятно, хорошо для большей части использования.

Необходимо знать о нескольких потенциальных глюках, все же. Во-первых, согласно странице справочника:

Обратите внимание, что N, K, и blocksize параметры НЕ записаны в вывод! Необходимо указать те же параметры при выполнении декодера. (На самом деле декодер способен к явному обнаружению недопустимого коэффициента теплопроводности, но неправильный blocksize или значения N будут приводить к сбойным блокам и декодировать отказ.)

Поэтому не забудьте документировать конкретные параметры, которые Вы используете для каждых из Ваших резервных копий. Даже если Вы всегда используете значения по умолчанию, это может быть хорошая идея явно зарегистрировать те значения, так как значения по умолчанию могут измениться в более новых версиях программы.

Во-вторых, в странице справочника говорится это:

Декодер способен к чтению из non-seekable медиа, таких как каналы, однако, недостаточные наполнения буфера не обнаруживаются и приведут к отказу. Кроме того, при чтении из канала должен быть считан весь файл. При чтении из искания - способный поток может быть быстрее, потому что только K хорошие блоки из N должен быть считан.

Это означает, что является лучшим (и самым безопасным) помещать vdmfec в последний раз в Вашем конвейере команд при создании резервных копий. Например:

tar -cf - /data | gzip | vdmfec > /backups/data.tgz.vdm

Путем выполнения vdmfec кодируя в последний раз при поддержке, это означает, что можно использовать vdmfec декодер на seekable файле вместо на канале non-seekable при восстановлении, и таким образом избегает потенциальных проблем, которые могут возникнуть при использовании каналов. Например:

vdmfec_decode /backups/data.tgz.vdm | zcat | tar -xf -

Таким образом, я сказал бы это vdmfec хороший инструмент должен использовать для создания резервных копий более устойчивыми против потери данных из-за ошибок вызванный неисправностью медиа. Сегодняшние жесткие диски используют еще более высокие плотности расположения битов для достижения их когда-либо увеличивающихся мощностей мультитерабайта, таким образом, я думаю, что определенно стоит добавить некоторое дополнительное дублирование к резервным копиям, только для безопасности.

И наконец: Другой инструмент, который имеет подобную функцию к vdmfec par2 (страница справочника), но это работает совершенно другим способом. par2 может быть более подходящий инструмент, если Вы находите, что Вы должны split Ваши архивные файлы, с тех пор par2 был разработан для добавления ECC к большим файлам, разделенным на многочисленные меньшие файлы (например, для регистрации на двоичные группы USENET).

4
27.01.2020, 20:41
  • 1
    , который я передаю вывод по каналу vdmfec для разделения (так как файлы на VFAT ограничены 4 ГБ, и мои резервные копии, значительно больше). –  Rob 12.04.2011, 22:42
  • 2
    @Rob: В этом случае я рекомендую изучить par2. Кратко, par2 работы путем выполнения как выполняющий последующую обработку шаг на больших архивных файлах. Это создает много файлов, содержащих коды дублирования, которые могут использоваться для восстановления исходных файлов, должны они быть поврежденными. Число и размер файлов дублирования настраиваются. –  Steven Monday 12.04.2011, 23:29
  • 3
    @Steven я не вижу то, что я получаю от использования par2, что я уже не имею с vdmfec. –  Rob 13.04.2011, 04:58
  • 4
    я также нашел другой инструмент, zfec pypi.python.org/pypi/zfec, хотя я думаю, что он использует тот же алгоритм в качестве vdmfec –  Rob 13.04.2011, 04:59
  • 5
    @Rob: Это было просто предложение. Если vdmfec работы для Вас, затем продолжайте использовать его! Просто убедитесь, что Вы можете восстановить от своих резервных копий, когда/если время настает. –  Steven Monday 13.04.2011, 07:06

Теги

Похожие вопросы