株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

NetApp Copy and SyncでCIFS共有をAWS S3へコピーしてみた ~検証編~


※ 内容は投稿時点の情報に基づいています。今後の変更やアップデートにより、
 内容が最新の状況と異なる場合がありますので、あらかじめご了承ください

こんにちは、ネットワールドでストレージ担当のSEをしている河村と申します。

前回は、NetAppのデータ転送サービスである「Copy and Sync」を使って、オンプレミスONTAPのCIFS共有からAWS S3へデータコピーする検証の準備についてまとめました。本記事はその続編です。
前回の記事はこちら。
blogs.networld.co.jp

前回は、Copy and Syncに使用されるコンポーネント、Data BrokerとConsole Agentをデプロイして終わりました。
今回はデプロイした環境を使って実際にCopy and Syncの検証を実施していきます。

CIFS共有からS3への同期設定

環境の準備ができたので、CIFS共有からAWS S3へのSync Relationshipを作成します。
ソースにオンプレミスONTAPのCIFS共有、ターゲットにAWS S3バケットを指定し、Data Broker Groupを選択して同期設定を進めます。



コピーしたいボリュームを指定します。

今回はNTFS ACLの保持も確認したいので、ACLコピーに関連する設定も有効化しています。

ターゲットとなるS3バケットを指定します。


Sync Relationshipに対して細かい設定ができます。ここではデフォルトで進みます。

同期先のS3オブジェクトにタグまたはメタデータを付与する設定画面が出てきますが、デフォルトで空欄で進みます。


途中で一度失敗しました。

Data Broker側のUbuntuで「権限がなくマウントできない」旨のエラーが出ており、確認していくとドメイン環境でのCIFSクレデンシャルの書き方が原因のようで、正しい書き方にしたらマウントできました。


最終的には、Copy and Sync画面のクレデンシャルをユーザー名とドメイン名で分けて入力することで解消しました。

成功時の記入例
User Name:administrator
Domain(Optional):domain.local

失敗時の記入例
User Name:domain.local\administrator
Domain(Optional):空欄

こういう認証まわりのつまずきは、CIFS連携ではあるあるですね。

先ほど出てこなかったコピー元のCIFS共有を指定する画面も出てきました。

設定を修正して再実行したところ、同期ジョブは100%と表示され成功しました。

S3バケットへフォルダがコピーできていることも確認できました。

検証1:CIFSのフォルダ構造は維持されるか

まずはCIFS共有上のフォルダ構造が、S3バケット内で維持されるかを確認しました。
結果としては、フォルダ構造は維持されました。CIFS共有上の階層構造が、S3バケット内のオブジェクトにも反映されていることを確認できています。
S3は厳密にはファイルシステムではなくオブジェクトストレージですが、キー名のプレフィックスとして階層のように見える形で保存されます。そのため、利用者目線ではCIFS側のフォルダ構造がS3側にも展開されたように確認できます。

CIFSサーバで、\\ファイルサーバ\vol-copysync\フォルダ1\フォルダinフォルダの中に、「フォルダの中のファイル.txt」を作成しました。

AWS S3では\\バケット名\フォルダ1\フォルダinフォルダの中に、「フォルダの中のファイル.txt」がコピーされました。

検証2:NTFS ACLは維持されるか

次に、CIFS共有に設定されたNTFS ACLがどう扱われるかを確認しました。
結論から言うと、NTFS ACLは保持されます。ただし、S3上でNTFS ACLとして直接表示されたり、S3のアクセス制御としてそのまま効いたりするわけではありませんでした。
Copy and Syncでコピーしたバケット内のデータで、NTFS ACLの情報を確認することができず、おそらくS3オブジェクトのメタデータ、今回の検証では「x-amz-meta-netapp-cs-cifsacl」というメタデータにエンコードされた形で記録されたと思われます。

つまり、S3画面上で「NTFS ACLがそのまま見える」というよりは、Copy and SyncでS3からCIFSへ逆転送する際に利用できる保持情報としてS3メタデータへ格納される、という理解が正しそうです。
実際にS3からオンプレミスONTAPのCIFS共有へコピーすることで、コピーしたファイルにNTFS ACLが設定されていることも確認できました。
以下はAWS S3からオンプレミスONTAPのCIFS共有へコピーした際の手順です。
先ほどのコピー時とは逆で、ソースをAWS S3に指定するところから始まります。


ACLをコピーするチェックを付けて先に進みます。

ターゲットはオンプレミスONTAPを指定します。

ターゲットとなるONTAPのボリュームを指定します。

CIFS接続する際の認証情報を入力します。

ターゲットとなるCIFS共有を指定します。

関係を作成します。

リストア用のCIFS共有にデータがコピーされました。

NTFS ACLも保持されていました。

検証結果まとめ

今回の検証結果をまとめると、次の通りです。
・NetApp Copy and Syncを使って、オンプレミスONTAPのCIFS共有からAWS S3へデータコピー可能
・CIFS共有のフォルダ階層は、S3バケット内でも維持される
・NTFS ACLは、x-amz-meta-netapp-cs-cifsacl としてS3メタデータに保持された。ただし、S3上でNTFS ACLとして直接アクセス制御に使われるわけではない
・NTFS ACL情報は、Copy and SyncでS3からCIFS共有へコピー時に保持された

検証は以上です。
CIFS共有のデータをクラウド側へ退避したい、S3へ二次利用したい、という要件ではCopy and Syncはかなり使いやすそうです。
オンプレミスファイルサーバのクラウド連携を検討されている方は、NetApp Copy and Syncを検討されてみてはいかがでしょうか。