瞬間移動!!メタデータの移行
〜 Linuxでお馴染み「rsync」編

 2021.07.12  ストレージチャンネル編集部

Name:小原 誠(Makoto Kobara)

July, 2021

はじめに

ファイルサーバーからのデータ移行を取り上げる「瞬間移動」ブログシリーズ、今回は、データのアクセス権限やタイムスタンプといったデータに付随する情報、いわゆる「メタデータ」の移行について、前々回の「XCP」Linux 編前回の「Cloud Sync」Linux編に続き、Linux編のまとめとして、「rsync」を取り上げます。

  1. ファイル同期ツール「rsync」とは
  2. 「rsync」を利用したLinux環境でのファイル移行
    (移行元/先ファイルサーバーにNetApp ONTAP 9を利用している場合)
  3. Linux環境でのメタデータの移行のまとめ

「そもそもメタデータってどんなものがあるの?」「Windows環境の場合は?」といった内容については、これまでの記事を御覧ください。記事の末尾にリンクを掲載しています。

ファイル同期ツール「rsync」とは

「rsync」は、オープンソースのファイル同期ツールで、次のような特徴があります(サイトはこちら)。

  1. 歴史も長くインターネット上にも多くの記事が公開されており、Unix系で著名なツール
  2. 転送データ量を最小限に抑えるアルゴリズムを搭載
  3. 豊富な同期設定オプション

この「瞬間移動!!」ブログシリーズの中ではこれまで、ネットアップ純正ツールを利用したLinux環境でのメタデータ移行を取り上げてきましたが、今回はLinux編のまとめとして、rsyncの検証結果も取り上げてみます。

「rsync」でのメタデータ移行

今回は、移行ツールとしてrsyncを利用し、これまでの記事と同様に移行元/先ファイルサーバーにネットアップの ONTAP 9 を利用したファイルサーバーを用意、Linux環境(NFS)でのメタデータ移行を検証しました。検証項目は前々回のXCPと同様です。

今回は検証のため、NFSv4.1プロトコルを利用し、NFSv4.1 ACLの移行も確認します。またファイルサーバーには、ONTAP 9 を搭載した Cloud Volumes ONTAP for Google Cloud を利用し、Google Cloud 上で検証しました。

  • 移行元ファイルサーバー:Cloud Volumes ONTAP 9.8P1 for Google Cloud
  • 移行先ファイルサーバー:同上
  • 移行ツール:rsync version 3.1.3 protocol version 31
    • 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(サロゲートペア有効化)
  • 移行ツールをインストールしたNFSクライアント含めて、全て同じNFSv4.xドメインに所属し、ユーザー/グループIDをマッピング

移行評価環境(概要)〜 rsyncでのLinux環境のメタデータ移行

図1 移行評価環境(概要)〜 rsyncでのLinux環境のメタデータ移行

また、rsyncは以下のオプションで実行しています。
(アーカイブモードで、ハードリンクやNFSv4.x ACL含めてコピーし、スパースファイルはスパース状態のままコピーする、というオプションです。オプションの説明詳細はこちらをご参照ください)

sudo rsync -aHXSv --filter='-x! system.nfs4_acl' <移行元ディレクトリパス> <移行先ディレクトリパス>

この環境での評価結果について表 1に記します。
この通り、rsyncではほぼ全てのメタデータを移行することが出来ました。さすがですね。

表1 rsyncでのLinux環境 のメタデータの移行評価結果

#

メタデータの種類

一般的な確認ポイント

可否

1

ファイル名 /ディレクトリ名

  • 特殊な文字に対応できるか
  • (JIS第3水準、第4水準の漢字、サロゲートペア)

  • 長い名前に対応できるか

(※1)

  • レターケース(大文字小文字)を判別できるか

2

アクセス権

  • パーミッションを正しく移行できるか(RWXビット)
  • 特殊パーミッションを正しく移行できるか(SUID/GUID/スティッキービット)
  • ACL(Access Control List)を正しく移行できるか

3

所有者

  • 所有者情報(オーナー、グループ)を正しく移行できるか

(※2)

4

タイムスタンプ

  • タイムスタンプを移行できるか/どの精度まで移行できるか
    • 最終inode更新日時(ctime: last change time)
    • 最終更新日時(mtime: last modification time)
    • 最終アクセス日時(atime: last access time

一部可(※3)

5

リンク

  • シンボリックリンク、ハードリンクをそのまま移行できるか

(※4)

6

スパース属性

  • スパースファイルをそのまま移行できるか

(※5)

※1:4096文字未満まで対応できます(但しNFSのマウントポイントパス名を含む。またLinuxクライアント(NFSクライアント)がパス名(PATH_MAX)4096文字未満まで対応していることが前提)

※2:rsyncを動作させるLinuxクライアント(NFSクライアント)が、NFSサーバー(ONTAP)と同じNFSv4ドメインに所属し、ユーザー名・グループ名のIDマッピングができている必要があります。

※3:最終更新日時(mtime)のみそのまま移行できます(ミリ秒以下含む)。

※4:シンボリックリンク、ハードリンクともに、リンクのまま移行できます。

※5:スパース状態のまま移行できます。

まとめ

今回のブログでは、rsyncを利用したLinux環境(NFS)でのメタデータ移行の評価結果についてご紹介しました。結果からも分かる通り、rsyncも優れた移行ツールです。

それでは、これまでご紹介してきたネットアップ純正ツール「XCP」や「Cloud Sync」は、rsyncと比べて、どのような利点があるのでしょうか。

XCPはrsyncと比較してもメタデータ移行でも遜色なく、さらに、高速にデータを移行できるという特徴があり、特に大量のファイルを格納したファイルサーバーの移行で大きな威力を発揮します(詳細は、「瞬間移動!!」ブログシリーズのこちらの兄弟記事を御覧ください)。ネットアップ製品をお使いのお客様にとって、Linux環境のデータ移行の場面でXCPは無料で使える強力な移行ツールになるでしょう。

一方でCloud Syncは、様々なプロトコル変換機能を持ち、SaaSベースのGUIにより、アプリ開発者の方でも手軽に利用できます。スケジュール実行や転送経路暗号化も可能です。例えば日々の業務の中でクラウドへ定期的にデータを同期するような場面でも、有力な選択肢になるでしょう。

このように、利用シーンや用途に応じて、これらツールを使い分けいただくことをオススメします。

ネットアップでは、プロフェッショナルサービス部門による有償のデータ移行サービスも提供しています(詳細はこちら)。大規模なファイルサーバー移行は、分析や計画といった事前作業含めて自力でこなすには大変な一大イベントです。ぜひ弊社窓口までお気軽にご相談ください。

「瞬間移動!!」ブログシリーズのメタデータ移行については、今回が最終号です。
ご清覧ありがとうございました!

Name:小原 誠(Makoto Kobara)

Title:ネットアップ合同会社 システム技術本部 ソリューション アーキテクト部 シニアソリューションアーキテクト

Bio:ストレージプロダクトの要素技術研究開発に始まり、ITインフラ分野におけるコンサルティング(IT戦略立案)からトランスフォーメーション(要件定義、設計構築、運用改善、PMO)まで官公庁・自治体、製造業、サービス業、通信・ハイテク業など業種を問わず、計20年以上従事。ネットアップにおいてはソリューションアーキテクトとして、クラウドソリューション領域を中心に、マーケティング活動や、パートナー企業との共同ソリューション開発、ユーザー企業での導入支援等を実施。


RECENT POST「ネットアップSEブログ」の最新記事


瞬間移動!!メタデータの移行〜 Linuxでお馴染み「rsync」編