Сохранение файловых ACL, атрибутов и временных меток с помощью Azure Data Box

Azure Data Box позволяет сохранять списки управления доступом (ACL), временные метки и атрибуты файлов при отправке данных в Azure. В этой статье описаны метаданные, которые можно передать при копировании данных в ящик данных через блок сообщений сервера (SMB) для их загрузки в файлы Azure.

Перенесенные метаданные

Списки управления доступом, метки времени и атрибуты файлов — это метаданные, передаваемые при передаче данных из Data Box в Файлы Azure. В этой статье списки управления доступом, метки времени и атрибуты файлов называются метаданными коллективно.

Метаданные можно скопировать с помощью средств копирования данных Windows и Linux. Метаданные не сохраняются при передаче данных в хранилище BLOB-объектов. Метаданные также не передаются при копировании данных по NFS.

В последующих разделах статьи подробно описывается, как метки времени, атрибуты файлов и списки управления доступом передаются при передаче данных из Data Box в Файлы Azure.

Метки времени

Передаются следующие метки времени:

  • CreationTime
  • LastWriteTime

Следующая метка времени не передается:

  • LastAccessTime

Атрибуты файла

Атрибуты файлов как для файлов, так и для каталогов передаются, если не указано иное.

Передаются следующие атрибуты файла:

  • FILE_ATTRIBUTE_READONLY (только файл)
  • FILE_ATTRIBUTE_HIDDEN
  • FILE_ATTRIBUTE_SYSTEM
  • FILE_ATTRIBUTE_DIRECTORY (только в каталоге)
  • FILE_ATTRIBUTE_ARCHIVE
  • FILE_ATTRIBUTE_TEMPORARY (только файл)
  • FILE_ATTRIBUTE_NO_SCRUB_DATA

Следующие атрибуты файлов не передаются:

  • FILE_ATTRIBUTE_OFFLINE
  • FILE_ATTRIBUTE_NOT_CONTENT_INDEXED

Атрибуты только для чтения в каталогах не передаются.

Альтернативные потоки данных и расширенные атрибуты

Альтернативные потоки данных и расширенные атрибуты не поддерживаются в Файлы Azure, страничных BLOB-объектов или хранилище блочных BLOB-объектов, поэтому они не передаются при копировании данных.

списки управления доступом;

В зависимости от используемого метода передачи и использования клиента Windows или Linux некоторые или все списки управления доступом по умолчанию (ACL) для файлов и папок могут передаваться во время копирования данных в Файлы Azure.

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

Примечание.

Файлы с ACL, содержащими строки условных записей управления доступом (ACE), не копируются. Это известная проблема. Чтобы обойти это, скопируйте эти файлы в общий ресурс файлов Azure вручную, подключив общий ресурс, а затем используя инструмент копирования, поддерживающий копирование списков управления доступом.

Передача списков управления доступом по протоколу S МБ

Во время передачи файлов S МБ передаются следующие списки управления доступом:

  • Дискреционные списки управления доступом (DACLs) и системные списки управления доступом (SACLs) для каталогов и файлов, которые копируются в Data Box.
  • При использовании клиента Linux передаются только списки управления доступом WINDOWS NT.

Передача списков управления доступом по службе копирования данных

Во время передачи файлов службы копирования данных передаются следующие списки управления доступом:

  • Дискреционные списки управления доступом (DACLs) и системные списки управления доступом (SACLs) для каталогов и файлов, которые копируются в Data Box.

Чтобы скопировать SACLs из файлов, необходимо указать учетные данные для пользователя с seBackupPrivilege. По умолчанию пользователи в группе Администратор istrator или операторов резервного копирования будут иметь эту привилегию.

Если у вас нет SeBackupPrivilege:

  • Вы не сможете скопировать SACCl для заданий службы копирования Файлы Azure.
  • Вы можете столкнуться с проблемами доступа и получить эту ошибку в журнале ошибок: не удалось прочитать SACLs из общего ресурса из-за нехватки привилегий.

Дополнительные сведения см. в описании SeBackupPrivilege.

Передача списков управления доступом через NFS

Списки управления доступом (и атрибуты метаданных) не передаются при копировании данных по NFS.

Передача списков управления доступом по умолчанию

Даже если средство копирования данных не копирует списки управления доступом по умолчанию для каталогов и файлов, передаются в Файлы Azure при использовании клиента Windows. Списки управления доступом по умолчанию не передаются при использовании клиента Linux.

Передаются следующие списки управления доступом по умолчанию:

  • Разрешения учетной записи.

    • Встроенная учетная запись Администратор istrator
    • УЧЕТНАЯ ЗАПИСЬ SYSTEM
    • S МБ предоставить общий доступ к учетной записи пользователя, используемой для подключения и копирования данных в Data Box
  • Дескрипторы безопасности с этими свойствами: DACL, Owner, Group, SACL

Копирование данных и метаданных

Чтобы перенести списки управления доступом, временные метки и атрибуты для ваших данных, используйте следующие процедуры для копирования данных в Data Box.

Средство копирования данных Windows

Чтобы скопировать данные в Azure Data Box через SMB, используйте инструмент копирования файлов, совместимый с SMB, например robocopy. Следующая примерная команда копирует все файлы и каталоги, передавая метаданные вместе с данными.

При использовании параметра /copyall или /dcopy:DAT убедитесь, что необходимые права оператора резервного копирования не отключены. Дополнительные сведения см. в разделе Использование локального веб-интерфейса для администрирования Data Box и Data Box Heavy.

robocopy <Source> <Target> * /copyall /e /dcopy:DAT /B /r:3 /w:60 /is /nfl /ndl /np /MT:32 or 64 /fft /log+:<LogFile>

где

Вариант Описание
/copyall Копирует все атрибуты.
/e Копирует подкаталоги, включая пустые каталоги.
/dcopy:DAT Копирует данные, атрибуты и метки времени. Примечание. Параметр /dcopy:DAT необходимо использовать для передачи CreationTime в каталогах.
/B Копирует файлы в режиме резервного копирования.
/r:3 Задает 3 попытки для неудачных копий.
/w:60 Задает время ожидания 60 секунд между повторными попытками.
/is Включает одни и те же файлы.
/nfl Не регистрирует имена файлов.
/ndl Не регистрирует имена каталогов.
/np Не отображает прогресс операции копирования.
/MT:32 or 64 Использует многопоточность с 32 или 64 потоками.
/fft Уменьшает детализацию отметок времени для любой файловой системы.
/log+:<LogFile> Добавление выходных данных в существующий файл журнала.

Дополнительные сведения об этих параметрах robocopy см. в разделе Учебное пособие. Копирование данных в Azure Data Box через SMB

Примечание.

Если вы используете /copyall для копирования данных, исходные списки ACL для каталогов и файлов передаются в службу Файлов Azure. Если у вас есть доступ только для чтения к исходным данным и вам не удалось изменить исходные данные, у вас будет доступ только для чтения к данным в Data Box. Используйте /copyall только в том случае, если планируется копировать все списки ACL для каталогов и файлов вместе с данными.

Использование средства Robocopy для перечисления, копирования и изменения файлов в Data Box

Ниже приведены некоторые распространенные сценарии, которые вы используете при копировании данных robocopy.

  • Копирование в Data Box только данных, без списков управления доступом для каталогов и файлов

    Используйте параметр /dcopy:DAT, чтобы скопировать только данные, атрибуты и метки времени. Списки управления доступом для каталогов и файлов не копируются.

  • Копирование данных и списков ACL для каталогов и файлов в Data Box

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

  • Перечисление содержимого файловой системы Data Box с помощью средства Robocopy

    Используйте эту команду, чтобы получить список содержимого каталога:

    robocopy <source-dir> NULL /l /s /xx /njh /njs /fp /B

    Обратите внимание, что в проводнике не разрешено выводить список этих файлов.

  • Копирование и удаление папок и файлов в Data Box

    Используйте эту команду, чтобы скопировать один файл:

    robocopy <source-dir> <destination-dir> <file-name> /B

    Используйте эту команду, чтобы удалить один файл:

    robocopy <source-dir> <destination-dir> <file-name> /purge /B

    В команде выше в <source-dir> не должен быть указан файл: <file-name>. Затем приведенная выше команда синхронизирует назначение с источником, что приводит к удалению файла из места назначения.

    Обратите внимание, что обозреватель файлов может не позволить выполнить указанные выше операции.

Дополнительные сведения см. в статье Использование команд Robocopy.

Средства копирования данных Linux

Перенос метаданных в Linux — это двухэтапный процесс. Во-первых, вы копируете исходные данные с помощью средства, например rsync, который не копирует метаданные. После копирования данных вы можете скопировать метаданные с помощью такого инструмента, как smbcacls или cifsacl.

Следующие ниже примеры команд выполняют первый шаг, копируя данные с помощью rsync.

cp -aR /etc /opt/ 
rsync -avP /etc /opt (-a copies a directory)

Следующие шаги