Name:小原 誠(Makoto Kobara)
July, 2021
はじめに
ファイルサーバーからのデータ移行を取り上げる「瞬間移動」ブログシリーズ、今回は、データ移行の場面における、アクセス権限やタイムスタンプといったいわゆる「メタデータ」の移行について、Linux環境(NFS)の場合を取り上げます。
- メタデータにはどんなものがある? Linux編
- ネットアップ純正ツール「XCP」Linux版でのメタデータ移行
Windows環境でのメタデータ移行については、これまで「XCP」「Cloud Sync」「robocopy」について取り上げていますので、そちらを御覧ください。
メタデータにはどんなものがある? Linux編
ファイルサーバーからのデータ移行で取り扱いに注意が必要なメタデータには様々なものがあります。この記事では、Linux環境(NFS)のファイルサーバーでのメタデータの種類と、移行にあたっての一般的な確認ポイントをご紹介します。Windows環境(CIFS/SMB)の場合については、こちらの記事を御覧ください。
表 1 メタデータの種類と移行にあたっての一般的な確認ポイント 〜 Linux編
# |
メタデータの種類 |
一般的な確認ポイント |
---|---|---|
1 |
ファイル名/ |
|
2 |
アクセス権 |
|
3 |
所有者 |
|
4 |
タイムスタンプ |
|
5 |
リンク |
|
6 |
スパース属性 |
|
※1:NetApp ONTAP 9は、ボリュームの設定により、これら特殊な文字を名前に含めることができます。詳細はこちら をご参照ください。
※2:NetApp ONTAP 9は、ファイル名は最長256文字(終端文字含む)、パス名は最長4096文字(終端文字含む)の、長い名前に対応できます。NFSクライアントとして利用するLinuxクライアント側の上限については、Linuxカーネルの設定をご確認下さい。例えば ”getconf” コマンドで確認できます。
ファイル名の長さ: getconf NAME_MAX <マウントポイント>
パス名の長さ: getconf PATH_MAX <マウントポイント>
※3:NetApp ONTAP 9は、大文字小文字を判別できます。
※4:Unix系では大きく、従来の RWXビットの形式を受け継ぐ『POSIX ACL』と、WindowsのNTFS-ACLのようによりきめ細やかなアクセス制御が可能な『NFSv4.x ACL』の2種類があります。NetApp ONTAP 9は、NFSv4.x ACL に対応しています。
※5:NetApp ONTAP 9はナノ秒までの時刻精度に対応しています。
なお、これらのメタデータの移行可否は、移行元/先ファイルサーバーの仕様(ファイルシステム仕様及びプロトコル仕様)と、移行ツールの仕様の組み合わせにより決まります。つまり、仮に移行ツール自体がメタデータを正しく扱えるとしても、移行先ファイルサーバー側が対応できないと移行できませんのでご注意ください。
ネットアップ純正ツール「XCP」Linux版でのメタデータ移行
「XCP」は、ネットアップ純正のファイルサーバー移行ツールで、移行先のファイルサーバーにネットアップ製品をお使いのユーザーであれば、ユーザー登録をすることで無料でご利用いただけます(詳細はこちら)。
XCPの最大の特徴はその同期速度で、並列処理により高い性能を発揮します。また、データ移行作業に着手する前に、ファイル数やフォルダ階層構造等を調べる分析機能も持っています。
今回は、移行ツールとしてXCPのLinux版を利用し、移行元/先ファイルサーバーにネットアップの ONTAP 9 を利用したファイルサーバーを用意、Linux環境(NFS)でのメタデータ移行を検証しました。
今回の検証のため、NFSv4.1プロトコルを利用し、NFSv4.1 ACLの移行も確認します。また、以前ご紹介したXCP Windows版の検証ではファイルサーバーに仮想化製品の ONTAP Select を利用していましたが、今回は Google Cloud 上で動作する Cloud Volumes ONTAP for Google Cloud を利用し、Google Cloud 上で検証しました。
- 移行元ファイルサーバー:Cloud Volumes ONTAP 9.8P1 for Google Cloud
- 移行先ファイルサーバー:同上
- 移行ツール:NetApp XCP NFS Release 1.6.3 for Linux
- Google Cloud のCompute Engine(CentOS 8.3)上にインストール
- 移行元/先ファイルサーバー(Cloud Volumes ONTAP)の設定
- SVM(Storage Virtual Machine) NFS設定:
- v4.1 = enabled(NFS v4.1 アクセスを有効化)
- v4.1-acl = enabled(NFS v4.1 ACL を有効化)
- ボリューム設定:
- security = unix(アクセス権管理をUnixスタイルに)
- language = utf8mb4(サロゲートペア有効化)
- SVM(Storage Virtual Machine) NFS設定:
- 移行ツールをインストールしたNFSクライアント含めて、全て同じNFSv4.xドメインに所属し、ユーザー/グループIDをマッピング
図1 移行評価環境(概要)〜 XCP for LinuxでのLinux環境のメタデータ移行
XCPは以下のオプションで実行しています。
(『NFSv4.x ACLを含めてコピーする』というオプションです)
sudo xcp copy -acl4 <コピー元NFSサーバー>:<コピー元エクスポートパス> <コピー先NFSサーバー>:<コピー先エクスポートパス> |
この環境での評価結果について表 2に記します。
この通り、一部のメタデータでは一部制限はあるものの、概ね移行ができることを確認できました。
表2 XCP for LinuxでのLinux環境のメタデータ移行評価結果
# |
メタデータの種類 |
一般的な確認ポイント |
可否 |
---|---|---|---|
1 |
ファイル名 /ディレクトリ名 |
|
可 |
|
可(※1) |
||
|
可 |
||
2 |
アクセス権 |
|
可 |
3 |
所有者 |
|
可(※2) |
4 |
タイムスタンプ |
|
一部可(※3) |
5 |
リンク |
|
可(※4) |
6 |
スパース属性 |
|
可(※5) |
※1:4096文字未満まで対応できます(但しNFSのマウントポイントのパス名を含む)
※2:XCPを動作させるLinuxクライアント(NFSクライアント)が、ファイルサーバー(NFSサーバー)と同じNFSv4ドメインに所属し、ユーザー名・グループ名のIDマッピングができている必要があります。
※3:最終更新日時(mtime)のみそのまま移行できます(ナノ秒精度)。最終アクセス日時(atime)の一部(ディレクトリ)と、最終inode更新日時(ctime)は、XCPによるファイルコピー時に置き換わることになるためご注意下さい。
※4:シンボリックリンク、ハードリンクともに、リンクのまま移行できます。
※5:スパース状態のまま移行できますが、割り当てられるファイルシステムブロックが若干増える場合があります(アライメントの違いから)。
まとめと次回予告
今回のブログでは、Linux環境(NFS)でのファイルサーバーのデータ移行について、特にメタ移行の観点で、メタデータの種類と移行にあたっての確認ポイントの解説、そして XCP Linux版での評価結果をご紹介しました。
XCP Linux版ではメタデータの移行も十分できており、処理の高速性や使いやすさもあって、Linux環境ではかなり強力な移行ツールになることと思います。
次回は、おなじくネットアップ純正の移行ツール「Cloud Sync」を利用した、Linux環境でのメタデータ移行について、取り上げます。
Name:小原 誠(Makoto Kobara)
Title:ネットアップ合同会社 システム技術本部 ソリューション アーキテクト部 シニアソリューションアーキテクト
Bio:ストレージプロダクトの要素技術研究開発に始まり、ITインフラ分野におけるコンサルティング(IT戦略立案)からトランスフォーメーション(要件定義、設計構築、運用改善、PMO)まで官公庁・自治体、製造業、サービス業、通信・ハイテク業など業種を問わず、計20年以上従事。ネットアップにおいてはソリューションアーキテクトとして、クラウドソリューション領域を中心に、マーケティング活動や、パートナー企業との共同ソリューション開発、ユーザー企業での導入支援等を実施。
- カテゴリ:
- ハイブリッド
- キーワード:
- クラウド