0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ファイルシステムとストレージに関わるバックアップの課題(サイレントデータ破壊)

Last updated at Posted at 2025-05-16

バックアップ(個人ユーザー向けの場合)を、手間無く確実に行うために、相当時間をかけて研究しました。
日頃、顧客のサポートをしている中で、常に、バックアップをして下さい、と言っています。しかし、それでも、バックアップをしていない人も多いのです。そのため、2025年時点での、実務に有効な方法を次の記事にまとめました。
バックアップ計画

結論は、

ファイルを、常時接続していない外部ストレージ(HDDやSSD)に、バックアップするのは必須

です。
この理由や、その実現方法は、記事を参照してもらうと良いのですが、バックアップの知見を深める中で、技術的な課題が分かりました。ここでは、それらを補足します。

ファイルのコピーに失敗しても、それに気づかない可能性

NTFSのファイルシステムでは、サイズが一致していも、コピーに失敗していて同じでない可能性があります。

画像の例では、同じサイズですが、データは違います(実際に失敗したファイルではなく、バイナリエディタで編集)。
コピーしたファイルを開けないなら、エラーとわかりますが、ファイルを開くことができると、データのどこが変わったか分からないこともあります。

image.png

コピーに成功したかを確認するには、例えば、ハッシュ値が一致するのを確認します。

エラーチェックをしながらコピーができるFastCopyの使い方

サイレントデータ破壊(無兆候データ破壊・Silent Data Corruption)

ストレージに保存したデータは、保存した時は正確でも、時間経過とともに壊れる可能性があります。
これは、サイレントデータ破壊の1つです。

サイレントデータ破壊に備えたファイルシステムは、次があります。

NTFSのファイルシステムでのバックアップ

NTFSのファイルシステムには、サイレントデータ破壊に対処する仕組みはありません。バックアップにおいて対応するには、2025年時点では、例えば、次の方法が良いように考えます。

  • バックアップのために、ファイルをコピーした時に、ハッシュ値の一致を確認。同時に、ハッシュ値を保存。
  • バックアップは複数のストレージに行い、複数の同じバックアップを作成。これにより、サイレントデータ破壊があったファイルではなく、正常なファイルから復元できる可能性が高まる。
  • バックアップから復元時、保存したハッシュ値に一致するかどうか、復元する前に確認。

これを実現するには、FastCopyでは、例えば、次の設定でファイルをコピーします。
image.png

そして、バックアップからファイルを復元する前に、ベリファイ情報検証を実行して、サイレントデータ破壊がないか調べます。

image.png

副次ストリーム(代替データストリーム・Alternate Data Stream)について

dirやPowerShellでNTFSの代替データストリーム情報を表示する

留意点

  • Windows 11で、ReFSを、USBドライブに接続したストレージでは利用できないようです。
  • バックアップのファイルではなく、NTFSのCドライブにあるオリジナルのファイルが、サイレントデータ破壊になったかどうかを確認する良い方法は思いつきません。Windows Serverを利用し、ReFSのドライブにファイルを保存するなら良いでしょうが。
  • 開発ドライブは、ReFSなので、良さそうです。しかし、開発者向けなので、一般ユーザーには不向きです。また、「Dev Drive に何を格納すべきですか?」によると、開発用のファイル以外は目的外です。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?