Назад | Перейти на главную страницу

Каким масштабом потери или повреждения данных я рискую, если включу буфер записи на файловом сервере?

Я нашел множество статей в Интернете с предупреждениями о риске потери или повреждения данных для дисков с включенным буфером записи в случае потери питания. Однако я не нашел ничего, что действительно относилось бы к масштаб риска.

Я хочу создать зеркальный файловый сервер в Storage Spaces на Windows Server 2016 для небольшого офиса редактирования видео. Производительность очень важна (отсюда следует учитывать буфер записи), и наш сервер будет обрабатывать в основном два типа важных операций записи: загрузка отснятого материала и сохранение файла проекта или документа.

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

Что касается загрузки отснятого материала, я ожидаю, что любое прерывание работы сервера вызовет видимый сетевой сбой для любой передачи файлов в процессе. Следовательно, если сбой питания не произошел через несколько секунд после завершения сетевой части передачи файла, они будут знать о необходимости перезапустить передачу файла, как только сервер снова будет в сети. Поскольку я знал, что сервер выходит из строя, я мог бы посоветовать офису использовать программу синхронизации, чтобы предположительно перезаписать любые поврежденные файлы локальными мастер-копиями.

Что касается сохранения документов и файлов проекта, большинство из них должно быть настолько крошечным, чтобы иметь минимальный риск даже оказаться в буфере во время сбоя. А если бы это было не так, то наличие автосохранения или открытой версии на компьютере пользователя дало бы ему второй шанс. Единственный риск, который я действительно вижу, - это если сбой питания произошел именно тогда, когда они сохранили и закрыл файл, и эта программа не сохраняла автоматические сохранения.

Моя оценка точна, или я что-то упустил? Может ли повреждение в этой ситуации повлиять на большее количество данных, чем было записано?

Спасибо

Редактировать: Подчеркну, что особо не ищу выводов о том, что мне делать в этом сценарии. Я просто хочу правильно понять возможности, чтобы принять осознанное решение о реальности этого риска.

Многие веб-страницы, которые я читал по этой проблеме, до сих пор были удручающе неоднозначными, особенно в отношении различий между «кэшированием записи» и «очисткой буфера кэша записи».

Может ли повреждение в этой ситуации повлиять на большее количество данных, чем было записано?

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

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

Лучшее решение: увеличивайте объем и скорость твердотельного хранилища, пока не получите удовлетворительную производительность.

Изменить: чтобы было ясно, я имею в виду более агрессивную опцию «отключить очистку буфера кеша записи». «Включить кэширование записи», включенное по умолчанию для многих типов внутренних дисков, обычно является приемлемым компромиссом, поскольку Windows пытается очистить буфер и усилить записи.

Вы должны были различать включен буфер записи и отключена очистка буфера. Чтобы полностью понять разницу, начнем с основного.

Жесткие и твердотельные накопители почти всегда имеют частный кэш DRAM, используемый для кратковременного хранения и объединения входящих записей, что значительно повышает их производительность записи. В качестве справки, учтите, что быстрый SATA SSD перекачивает> 500 МБ / с последовательных записей с включенным буфером и только ~ 5 МБ / с с отключенным буфером. Жесткие диски показывают менее серьезную деградацию производительности, но все же.

В то же время, если эти частные кэши DRAM не защищены от потери мощности, может произойти серьезное повреждение данных (вплоть до потери всей файловой системы). Чтобы предотвратить эту проблему без полного снижения производительности, существует несколько возможностей:

  • использовать диски с кэшами записи, защищенными от потери мощности (например: корпоративные SSD и некоторые новые механические жесткие диски с поддержкой NV)
  • использовать аппаратный RAID-контроллер с кэш-памятью, защищенной от потери мощности, отключение кэш DRAM частного диска
  • использовать дешевое потребительское оборудование с включенным незащищенным кешем DRAM, но выдача периодических промывок чтобы гарантировать согласованность файловой системы (но не данных, так как влияние на производительность будет очень большим).

При использовании подходов, подобных программному RAID (например, Linux MDRAID, ZFS, Storage Spaces и т. Д.), Вам следует никогда отключите дисковые кеши, если вы не готовы платить очень высокую цену за производительность. Лучше всего оставить кеш записи включенным и позволить вашей ОС / файловой системе свободно выдавать команды синхронизации / сброса DRAM в любое время. Таким образом, вы увеличиваете производительность включенного кеша, не рискуя уничтожить всю файловую систему. Обратите внимание, что данные приложений не защищены автоматически: любое приложение, желающее обеспечить надежность данных должен периодически сбрасывается сама (например, базы данных).

С другой стороны, вам следует НИКОГДА отключите очистку кеша DRAM, если вы не На 200% уверен ваши диски / карта RAID имеют защищенный кеш обратной записи. Однако в этом случае оставление включенного сброса не принесет большого вреда, поскольку почти любой недавний диск / карта просто игнорирует сбросы, когда его защищенный кэш DRAM находится в работоспособном состоянии.