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

Отключение кэширования файлов при копировании больших файлов в Windows 2012, Windows 2012R2

У меня огромные проблемы с резервным копированием Hyper-V на нескольких HOSTS. Во время резервного копирования, выполняемого программой, некоторые машины становятся недоступными, хост начинает умирать и т. Д. Мы отслеживали это не в самой программе, а в копировании файлов. Простое копирование файла с диска D на C размером 30 ГБ приведет к отключению HOST во время передачи файлов. Использование оперативной памяти перед копированием файла составляет 48 ГБ из 64 ГБ. Когда вы начинаете передачу файла размером 30 ГБ, использование оперативной памяти изменяется, и через 1 минуту 64 сервера из 64 начинают сканирование и даже RDP, физический доступ перестает работать, пока не будет выполнено копирование файла. Таким образом, во время резервного копирования серверы могут быть доступны в течение нескольких часов.

Это DELL Server R515 с RAID-контроллером в режиме обратной записи. Я заметил это на других серверах Windows 2012. Я пытался использовать некоторые старые решения для отключения кеша с 2003 года, но ни одно из них не работает. Я тестировал его на серверах IBM и Dell, и поведение было очень похожим. Использование оперативной памяти растет. Сначала он начинается со скорости копирования 700 МБ / с, а затем, после использования оперативной памяти, он идет медленно. Так что вопрос в том, как отключить кеширование файлов или ограничить его нормальными значениями.

Пожалуйста, не предлагайте использовать robocopy или другие инструменты «копирования», потому что, хотя это может решить проблему с копированием с помощью внешнего программного обеспечения, моя проблема на самом деле связана с резервными копиями, сделанными сторонним программным обеспечением, на которое я не имею никакого влияния. Хотелось бы, чтобы "Проводник" вел себя нормально :-)

Кому-то интересно ... так оно и было на Windows Server 2012. Помогло обновление до Windows Server 2012 R2. Microsoft отказалась исправить это, потому что они сказали, что это проблема с Dell (они выполнили все устранение неполадок и указали на проблемы с кешем), а Dell отказалась помочь, потому что, по-видимому, сервер был куплен без лицензии, что верно лишь частично, потому что сервер был фактически куплен по лицензии Dell, но через реселлера, который, скорее всего, продавал из 2 разных источников.

Мы купили новую лицензию, и после этого серверы заработали. Все еще боль.

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

По сути, во время копирования вы постоянно отправляете запросы ввода-вывода быстрее, чем диски могут обработать, в результате чего система начинает сканировать. Хотя отключение кэширования с обратной записью (как на уровне ОС, так и на уровне карты RAID) может дать несколько лучшую производительность, реальное решение состоит в том, чтобы запланировать такую ​​работу на время низкой загрузки (например, в ночные часы) или, в качестве альтернативы, вы можете уменьшить количество копий. скорость (чтобы не сжигать все доступные IOPS).

Запустите это как администратор в командной строке:

fsutil behavior set memoryusage 0 

Вы можете установить для этой записи три значения: 0 - не установлено, 1 - по умолчанию и 2 - увеличено.