Azure Data Box を使用すると、Azure にデータを送信するときに、アクセス制御リスト (ACL)、タイムスタンプ、およびファイル属性を保持できます。 この記事では、サーバー メッセージ ブロック (SMB) を使用して Data Box にデータをコピーして Azure Files にアップロードするときに転送できるメタデータについて説明します。
転送されたメタデータ
ACL、タイムスタンプ、およびファイル属性は、Data Box からのデータが Azure Files にアップロードされるときに転送されるメタデータです。 この記事では、ACL、タイムスタンプ、およびファイル属性をまとめて メタデータと呼びます。
メタデータは、Windows および Linux データ コピー ツールを使用してコピーできます。 BLOB ストレージにデータを転送する場合、メタデータは保持されません。 NFS 経由でデータをコピーする場合も、メタデータは転送されません。
この記事の以降のセクションでは、Data Box のデータが Azure Files にアップロードされるときにタイムスタンプ、ファイル属性、ACL がどのように転送されるかについて詳しく説明します。
タイムスタンプ
次のタイムスタンプが転送されます。
- 作成時間
- 最終更新日時
次のタイムスタンプは転送されません。
- 最終アクセス時間
ファイル属性
特に明記されていない限り、ファイルとディレクトリの両方のファイル属性が転送されます。
次のファイル属性が転送されます。
- 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 Files、ページ BLOB、またはブロック BLOB ストレージではサポートされていないため、データのコピー時に転送されません。
ACL
使用される転送方法と、Windows または Linux クライアントのどちらを使用しているかに応じて、データのコピー中にファイルとフォルダーの一部またはすべての随意および既定のアクセス制御リスト (ACL) が Azure Files に転送される場合があります。
ACL の転送は既定で有効になっています。 Data Box のローカル Web UI でこの設定を無効にすることもできます。 詳細については、「 ローカル Web UI を使用して Data Box と Data Box Heavy を管理する」を参照してください。
注
条件付きアクセス制御エントリ (ACE) 文字列を含む ACL を持つファイルはコピーされません。 これは既知の問題です。 これを回避するには、共有をマウントしてから、ACL のコピーをサポートするコピー ツールを使用して、これらのファイルを Azure Files 共有に手動でコピーします。
SMB を介した ACL 転送
SMB ファイル転送中に、次の ACL が転送されます。
- Data Box にコピーするディレクトリとファイルの任意 ACL (DACL) とシステム ACL (SACL)。
- Linux クライアントを使用する場合、Windows NT ACL のみが転送されます。
データ コピー サービスを介した ACL 転送
データ コピー サービス ファイル転送中に、次の ACL が転送されます。
- Data Box にコピーするディレクトリとファイルの任意 ACL (DACL) とシステム ACL (SACL)。
ファイルから SACL をコピーするには、 SeBackupPrivilege を使用するユーザーの資格情報を指定する必要があります。 Administrators または Backup Operators グループのユーザーは、既定でこの特権を持つことになります
SeBackupPrivilege がない場合:
- Azure Files コピー サービス ジョブの SACL をコピーすることはできません。
- アクセスの問題が発生し、エラー ログにこのエラーが表示される場合があります。 権限が不十分なため、共有から SACL を読み取れませんでした。
詳細については、 SeBackupPrivilege の詳細を参照してください。
NFS を介した ACL 転送
NFS 経由でデータをコピーする場合、ACL (およびメタデータ属性) は転送されません。
既定 ACL の転送
データ コピー ツールで ACL がコピーされない場合でも、Windows クライアントを使用すると、ディレクトリとファイルの既定の ACL が Azure Files に転送されます。 Linux クライアントを使用する場合、既定の ACL は転送されません。
次の既定の ACL が転送されます。
アカウントのアクセス許可:
- 組み込みの管理者アカウント
- SYSTEM アカウント
- Data Box でのデータのマウントとコピーに使用される SMB 共有ユーザー アカウント
次のプロパティを持つセキュリティ記述子: DACL、所有者、グループ、SACL
データとメタデータのコピー
データの ACL、タイムスタンプ、属性を転送するには、次の手順に従って Data Box にデータをコピーします。
Windows データ コピー ツール
SMB 経由で Data Box にデータをコピーするには、 robocopy
などの SMB と互換性のあるファイル コピー ツールを使用します。 次のサンプル コマンドは、すべてのファイルとディレクトリをコピーし、データと共にメタデータを転送します。
/copyall
または /dcopy:DAT
オプションを使用する場合は、必要なバックアップ オペレーター特権が無効になっていないことを確認します。 詳細については、「 ローカル Web UI を使用して 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 |
データ、属性、およびタイムスタンプをコピーします。 注: ディレクトリで CreationTime を転送するには、/dcopy:DAT オプションを使用する必要があります。 |
/B |
バックアップ モードでファイルをコピーします。 |
/r:3 |
失敗したコピーに対して 3 回の再試行を指定します。 |
/w:60 |
再試行の間に 60 秒の待機時間を指定します。 |
/is |
同じファイルを含めます。 |
/nfl |
ファイル名をログに記録しません。 |
/ndl |
ディレクトリ名をログに記録しません。 |
/np |
コピー操作の進行状況は表示されません。 |
/MT:32 or 64 |
32 個または 64 個のスレッドでマルチスレッドを使用します。 |
/fft |
任意のファイル システムのタイム スタンプの粒度を減らします。 |
/log+:<LogFile> |
既存のログ ファイルに出力を追加します。 |
これらのrobocopy
パラメーターの詳細については、「チュートリアル: SMB 経由で Azure Data Box にデータをコピーする」を参照してください。
注
/copyall
を使用してデータをコピーすると、ディレクトリとファイルのソース ACL が Azure Files に転送されます。 ソース データに対する読み取りアクセス権のみがあり、ソース データを変更できなかった場合は、Data Box 内のデータに対してのみ読み取りアクセス権が付与されます。
/copyall
は、ディレクトリとファイルのすべての ACL をデータと共にコピーする場合にのみ使用します。
Robocopy を使用して Data Box 上のファイルの一覧表示、コピー、変更を行う
robocopy
を使用してデータをコピーするときに使用する一般的なシナリオをいくつか次に示します。
Data Box にデータのみをコピーし、ディレクトリとファイルに ACL をコピーしない
データ、属性、タイムスタンプのみをコピーするには、
/dcopy:DAT
オプションを使用します。 ディレクトリとファイルの ACL はコピーされません。ディレクトリとファイルのデータと ACL を Data Box にコピーする
/copyall
を使用して、ディレクトリとファイルのすべての ACL を含むすべてのソース データをコピーします。robocopy を使用して Data Box のファイルシステムを一覧表示する
ディレクトリの内容を一覧表示するには、次のコマンドを使用します。
robocopy <source-dir> NULL /l /s /xx /njh /njs /fp /B
エクスプローラーでは、これらのファイルを一覧表示できないことに注意してください。
Data Box のフォルダーとファイルをコピーまたは削除する
1 つのファイルをコピーするには、次のコマンドを使用します。
robocopy <source-dir> <destination-dir> <file-name> /B
1 つのファイルを削除するには、次のコマンドを使用します。
robocopy <source-dir> <destination-dir> <file-name> /purge /B
上記のコマンドでは、
<source-dir>
にファイル (<file-name>
) を含めないようにする必要があります。 次に、上記のコマンドによって変換先がソースと同期され、変換先からファイルが削除されます。エクスプローラーでは、上記の操作を実行できない場合があることに注意してください。
詳細については、 robocopy コマンドの使用を参照してください。
Linux データ コピー ツール
Linux でのメタデータの転送は、2 段階のプロセスです。 まず、メタデータをコピーしない rsync
などのツールを使用してソース データをコピーします。 データをコピーした後は、 smbcacls
や cifsacl
などのツールを使用してメタデータをコピーできます。
次のサンプル コマンドでは、最初の手順を実行し、 rsync
を使用してデータをコピーします。
cp -aR /etc /opt/
rsync -avP /etc /opt (-a copies a directory)