SnapRAID

提供: ArchWiki
2017年8月28日 (月) 08:33時点におけるKusakata (トーク | 投稿記録)による版 (翻訳)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

SnapRAID はソフトウェア・ハードウェアディスク RAID 5/6 と同じように振る舞うフォルダベースのバックアップツールです。ディスク RAID ではないため、リアルタイムリカバリやディスク間で空き領域をまとめることはできず、バックアップは手動で実行する必要があります。

フォルダベースのバックアップであることから、SnapRAID はソフトウェア RAID よりも柔軟でシンプルです。ディスク RAID にはリアルタイムバックアップなどのメリットがありますが、複雑でパフォーマンスに多少影響があることが欠点となります。2台以上のディスクが故障したり SATA の URE が発生すると RAID 5 では全てのデータが破損しますが、SnapRAID ではそのようなことはありません。ディスクが故障してもシステムを稼働させ続けることが目的ではなく、単純にバックアップが目的であれば SnapRAID の使用が合理的です。

SnapRAID は全てのフォルダのパリティを他のディスクに保存することで機能します。パリティファイルを保存するディスクは一番大きいディスクである必要があります。他のディスクには制限がなく容量は何でもかまいません。SnapRAID が向いているのは巨大で変更することが稀なファイルを保存するメディアセンターです。SnapRAID は高い柔軟性によりいつでもディスクを追加・削除できます。また、複数の冗長ディスクもサポートしています。

ヒント:
  • ディスク RAID を設定せずにフォルダをひとつにまとめたい場合、FUSE ベースのファイルシステムを使う方法が良いでしょう (例: MHDDFS, MergerFS, unionfs-fuse)。カーネル 3.18 からマージされた Overlayfs を使うのも良いでしょう。ただし書き込みできるパスがひとつだけで作業ディレクトリを指定する必要があるなど制限が存在します。AUFS などのファイルシステムを使うにはカーネルにパッチを適用してサポートされていない古いソフトウェアを使う必要があります。
  • mergerfsAUR は mhddfs と似ていますが、ドライブを選択する際のポリシーが多数存在し最近でも更新されています。また、優れた速度を発揮します。

インストール

AUR から snapraidAURインストールしてください。

使用方法

詳しくは SnapRAID のマニュアル を読んでください。

ここでは4台のディスクにデータを保存して、別のディスクに冗長データを保存したいとします。4台のディスクは以下のディレクトリにマウントされています:

  • /mnt/sda
  • /mnt/sdb
  • /mnt/sdc
  • /mnt/sdd

そして空の冗長ディスクは以下のディレクトリにマウントされています:

  • /mnt/sde

以下のように設定ファイルを作成してください。"content" から始まる行で SnapRAID のメタデータを保存する content ファイルのパスを指定しています。

警告: SnapRAID はリカバリを作成するのに content ファイルを必要とします。できるだけデータの安全性を確保するためファイルのコピーを複数作ることが重要です。全てのディスクにファイルを作成してどこか別のところにバックアップも作成すると良いでしょう。
/etc/snapraid.conf
disk d1 /mnt/sda
disk d2 /mnt/sdb
disk d3 /mnt/sdc
disk d4 /mnt/sdd/I_only_want_to_backup_this_folder
parity /mnt/sde/SnapRAID.parity
content /mnt/sda/SnapRAID.content
content /mnt/sdb/SnapRAID.content
content /mnt/sdc/SnapRAID.content
content /var/snapraid/SnapRAID.content
exclude /lost+found/
警告: ディスクの順番によってパリティが変わります。
ヒント: exclude 行は除外するパスを指定します。全てのマウントポイントに適用されます。

バックアップ

バックアップを開始するには:

# snapraid sync

復元

ファイルやフォルダを前の状態に復元するには (できればファイルやディレクトリの完全なパスを使うようにしてください):

# snapraid fix -f FILENAME

ディスクリカバリ

/mnt/sda にマウントしているディスクが故障して交換した場合、/etc/snapraid.conf を編集してからリカバリを実行します。

以下の行を:

disk d1 /mnt/sda

以下のように変更:

disk d1 /mnt/sda_new

リカバリを実行するには:

# snapraid -d d1 -l recovery.log fix