Symptoms
Используемая команда для копирования похожа на следующую:
robocopy command "robocopy \\x.x.x.x\copyfrom\ \\y.y.y.y\copyTo\sample /COPY:DATSO /W:1 /R:1"
Здесь приведен пример файлов после копирования:
Пользователь пытался скопировать из нескольких исходных устройств, но результат был одинаковым.
Во время поиска и устранения неисправностей были внесены следующие изменения, но проблема не была устранена.
- Установите для параметра windowsTimeUpdate значение 1
- Включите функцию поддержки общего доступа к файлам SMB1.0/CIFS на хосте robocopy и перезагрузите ПК
- Программы и компоненты > Включение и выключение функций Windows > Поддержка общего доступа к файлам SMB1.0/CIFS
- Обычно этот флажок снят, установите флажок и перезагрузите компьютер.
Сетевые трассировки показывают большое количество ответов «access denied» на запросы SMB SETINFO.
Cause
Robocopy работает надлежащим образом. Команда изменяет значение mtime дважды, сначала оно будет сброшено до 1980. Если запись данных будет выполнена успешно, то значение mtime будет изменено снова на время последнего изменения. Однако, если включить автоматическую блокировку при создании FLR, когда Robocopy сбросит mtime до 1980, то она активирует защищенное состояние как WORM_OK, поэтому файл становится доступен только для чтения и мы не сможем записать данные, включая изменение mtime, из-за чего появляется сообщение «access is denied».
===========================================================
Пустой файл с размером 0 байт становится доступным только для присоединения, поскольку FLR считает, что он не содержит данные, которые необходимо защищать, поэтому состояние должно быть WORM_CLEAN. Это означает, что функция автоматической блокировки НЕ действует на пустой файл, как и должно быть, поэтому пустые файлы mtime будут соответствовать ожиданиям.
Resolution
Следующее временное решение позволит правильно обновить mtime.
(1) Сначала создайте файловую систему FLR в целевом массиве.
(2) Отключите автоматическую блокировку (параметр в свойствах файловой системы).
(3) Выполните robocopy для всех файлов, которые нужно поместить под защиту FLR, на целевой массив.
(4) Включите автоматическую блокировку (установите флажок).
(5) Если необходимо добавить новые файлы в файловую систему FLR, сначала отключите автоматическую блокировку.
(6) Затем выполните Robocopy для новых файлов на целевую FLR.
(7) Снова включите автоматическую блокировку.
Affected Products
PowerStore, Dell EMC Unity, VNX/VNXe