データ重複除去環境のデータ移行方法

データ重複除去環境のデータ移行仕事のこと

はじめに

先日、ファイルサーバーを新しいものに更改するという仕事をしました。
その時、Windowサーバーのデータ重複除去機能を使っていたのですが、この機能に関する情報があまりないように感じました。
特にデータ重複除去環境のデータ移行方法については、ネットで検索しても見つけることができなかったので、今後のために記録しておきます。

データ重複除去の概要

データ重複除去機能の概要については、以下で確認してください。

今回のケース

今回の仕事の内容と環境はこんな感じでした。

  • 旧ファイルサーバー(Windows 2012)から新ファイルサーバー(Windows 2016)に更改し、Dドライブのデータをすべて移行する。
  • 新旧ファイルサーバーは、共にデータ重複除去機能を有効に設定済み。
  • 旧ファイルサーバーのディスク容量は917GBで、233GBが使用済みになっている。ただしデータ重複除去機能の効果により実際のファイル容量は2.4TBになる。(ディスクの容量よりもファイルの容量が大きい!?)
  • 新ファイルサーバーのディスク容量は2.1TB用意されている。(やはりディスクの容量よりもファイルの容量が大きい!!)

データ移行方法

先ほどのマイクロソフトのサイトにも少し書いてありますが、データ重複除去機能が有効になっている環境でrobocopyを使用すると、データを破壊する可能性があるとのこと。

特定の Robocopy コマンドによってチャンク ストアが破損することがあるため、データ重複除去での Robocopy の実行はお勧めしません。 チャンク ストアは、ボリュームのシステム ボリューム情報フォルダーに格納されます。 データ チャンクは移行先ボリュームにコピーされないため、フォルダーが削除されると、ソース ボリュームからコピーされた最適化済みファイル (再解析ポイント) が破損します。

https://docs.microsoft.com/ja-jp/windows-server/storage/data-deduplication/interop#robocopy

これを回避するために「一度 重複解除をOFFにして『非最適化処理』をした後に移行する」といった情報はあったのですが、それをやるには旧ファイルサーバーに十分なディスク空き容量が必要になるので今回はできません。

さらに調べてみると、壊れる可能性があるチャンクストアは、ドライブのルートにある特別なフォルダ(「System Volume Information」フォルダ)にあり、通常アクセスしないフォルダだけど robocopyでドライブ全体をコピーするとこのフォルダの中身を上書きしてしまうため、データの破壊が起きるようです。

なので今回はドライブ全体ではなく、フォルダー単位でrobocopyを実行しました。
robocopyのオプションも特別なものは使用していません。ちなみにこんな感じです。

robocopy \\192.168.XXX.XXX\Share d:\Share /MIR /COPY:DATSO /R:1 /W:1 /LOG:d:\robocopy_Share.log /NP /NFL /NDL

今回、新旧ファイルサーバーはともにデータ重複除去機能が有効になっていますが、そのままコピーすると一時的に実際のファイル容量でコピーされます。
つまり今回のケースでは、移行先には2.4TB以上の空き容量が必要になりますが、新ファイルサーバーにはそれだけの容量がないため、そのままではコピーできません。

空き容量不足の回避方法

フォルダー単位に分けてコピーする際、新ファイルサーバーのディスク空き容量を確認。適宜データ重複除去タスクを手動実行して空き容量を確保しながら移行作業をすすめていきました。

データ重複除去タスクの手動実行方法は以下の通りです。
PowerShellで以下のコマンドを実行します。

Start-DedupJob D: -Type Optimization

実行されたタスクはバックグラウンド実行されるので、以下のコマンドで状況を確認します。

Get-DedupJob

データ容量によってタスクの実行時間もそれなりにかかります。この時は1TBで1時間程かかりました。

移行結果

時間と手間はかかりましたが、無事にデータ移行は完了しました。
現在、新ファイルサーバーで運用していますが問題は発生していません。

ちなみに新ファイルサーバーのデータ重複除去の状況はこんな感じで、重複除去率は93%になり 2.29TBも節約できているらしいです。

またディスクのプロパティを見ても、ファイル容量は2TB以上あるにもかかわらず、実際のディスク容量は176GBしか利用していないことがわかります。

まとめ

  • データ重複除去機能が設定してあっても、ドライブ全体でなければrobocopyでデータ移行できる。
  • コピーするときは実際のファイルサイズでコピーされる。
  • 移行先に十分な空き容量が確保できない時は、データ重複除去タスクを手動実行して空き容量を確保しながら移行する。

以上、データ重複除去環境でのデータ移行についてでした。

タイトルとURLをコピーしました