【2026年10月31日時点の情報です】
自宅では、Web サーバー(myserver)と KVM のホスト(kvmhost)が、毎朝 NAS(Synology DS224+)の共有フォルダ ServerBackup にバックアップを送っています。ただ、NAS のバックアップは、NAS の管理者のパスワードが漏れたり、ランサムウェアにやられたりすると、まとめて消されてしまいます。
そこで、DSM の「Snapshot Replication」で ServerBackup のスナップショットを毎日取り、決めた日数のあいだは管理者でも消せない「変更不可(イミュータブル)」にすることにしました。
入れてみると、2つの落とし穴がありました。
| No. | 落とし穴 | 分かったきっかけ |
|---|---|---|
| 1 | 共有フォルダのごみ箱に、消したはずの古いバックアップが 136GB たまっていた | NAS の空きを調べたとき |
| 2 | 変更不可が、最初に手で取った1つにしか付いておらず、毎日の分には付いていなかった | 翌朝、スナップショットの一覧を見たとき |
この記事では、スナップショットの設定と、2つの落とし穴の見つけ方・直し方を、実際の画面と数字のまま書きます。
この記事で使っている NAS は、2ベイの Synology DS224+ です。
※登場するユーザー名、ホスト名、IP アドレスなどは、セキュリティのため実際とは異なる架空のものに置き換えています。
場面1:ServerBackup のスナップショットを毎日取る
スナップショットは、共有フォルダのある時点の状態を、Btrfs の仕組みでそのまま残すものです。中身を丸ごと写すわけではなく、変わったところだけを持つので、場所はあまり取りません。組み込みでいえば、フラッシュの書き換えで古いページを消さずに残しておき、あとからその時点の並びを呼び出せるようにする感じです。
Snapshot Replication を開いて、共有フォルダ ServerBackup に次のように設定しました。
| No. | 項目 | 設定 |
|---|---|---|
| 1 | 対象 | 共有フォルダ ServerBackup |
| 2 | スケジュール | 毎日 7:00(サーバーのバックアップが届く 5:00 のあと) |
| 3 | 保持 | 14 個 |
| 4 | 変更不可(イミュータブル) | 有効、7日のつもりだった(場面5で、これが落とし穴だったと分かる) |
| 5 | スナップショット フォルダを表示 | オフのまま |
場面2:最初の1つを手で取ると、ロックと盾の印が付く
設定のあと、「スナップショットの作成」で最初の1つを手で取りました。一覧には、2つの印が付きました。
| No. | 印 | 意味 |
|---|---|---|
| 1 | ロック(鍵の印) | 保持の決まり(14個)で、自動では消されない。手で取ったものには、初めから付く |
| 2 | イミュータブル(盾の印) | 変更不可。決めた日数(7日)のあいだは、管理者でも消せない |
ロックが付いた手動の分は、14個を超えても残り続けます。要らなくなったら、変更不可の日数が過ぎてから、「編集」でロックを外して消します。
場面3:落とし穴1 消したはずのバックアップが、ごみ箱に 136GB
myserver と kvmhost は、NAS に送るときに「8日より古いバックアップを消す」ようにしています。ところが、NAS の一覧に #recycle というフォルダがありました。共有フォルダのごみ箱です。気になったので、ServerBackup の中の大きさを、myserver から rclone で数えました。
for d in myserver kvmhost WordPress "#recycle"; do
printf "%-16s " "$d"; sudo rclone size "sftp:/ServerBackup/$d" --ignore-checksum 2>/dev/null | grep -E "Total size" || echo "(読めない)"
donefor d in … ; do … done: ServerBackup の中のフォルダを、1つずつ調べる。rclone size sftp:/ServerBackup/…: NAS の中のフォルダの、ファイルの合計の大きさを出す。読むだけで、何も変えない。| grep -E "Total size": 合計の大きさの行だけを取り出す。|| echo "(読めない)": 読めなかったときに、そう表示する。
myserver Total size: 31.826 GiB (34172716097 Byte)
kvmhost Total size: 2.694 GiB (2892502694 Byte)
WordPress Total size: 1.798 GiB (1931006699 Byte)
#recycle Total size: 136.145 GiB (146184151593 Byte)本当に要るバックアップは約36GB で、その約4倍の 136GB がごみ箱でした。共有フォルダのごみ箱が有効だと、rclone が「古いものを消す」としても、実際には消えずに #recycle へ移るだけです。消したつもりの古いバックアップが、ずっとここにたまっていたことになります。
場面4:ごみ箱を止めて空にしても、空きはすぐには戻らない
バックアップの置き場は、スナップショットで控えが残るので、ごみ箱は要りません。止めないと、また毎日たまっていきます。
- DSM の「コントロールパネル」→「共有フォルダ」を開く
- ServerBackup を選んで「編集」を押す
- 「ごみ箱を有効にする」のチェックを外して「保存」
- もう一度 ServerBackup を選び、「ごみ箱を空にする」を押す
確かめると、ごみ箱は空になっていました。
sudo rclone size "sftp:/ServerBackup/#recycle" --ignore-checksum 2>&1 | grep -E "Total size|directory not found"rclone size:
接続先のフォルダの、ファイルの合計の大きさを出す。"sftp:/ServerBackup/#recycle":
NAS の ServerBackup のごみ箱のフォルダ。#が入っているので、"で囲む。--ignore-checksum:
Synology の SFTP では、rclone のファイルの確かめ(チェックサム)がうまく動かないので、確かめを飛ばす。2>&1:
エラーの表示も、ふつうの表示と一緒に次へ渡す。ごみ箱のフォルダがないときのエラーも見られるようにするため。| grep -E "Total size|directory not found":
合計の大きさの行か、「フォルダがない」というエラーの行だけを出す。
Total size: 74 B (74 Byte)残った 74 バイトは、ごみ箱のフォルダの中の小さな管理用のファイルです。
ただし、NAS の空きはすぐには増えません。ごみ箱を空にする前に、場面2で最初のスナップショットを手で取っていたからです。そのスナップショットは 136GB の中身を持ったままで、しかも7日の変更不可が付いているので、その間は消せません。7日が過ぎてからロックを外して消すと、約136GB が空きに戻ります。
スナップショットを入れる前に、共有フォルダのごみ箱を空にしておけば、この待ちはありませんでした。
場面5:落とし穴2 毎日の分に、変更不可が付いていない
翌朝、Snapshot Replication で ServerBackup のスナップショット リストを開きました。7:00 の分は取れていましたが、印が違います。

| No. | スナップショット | ロック | イミュータブル(変更不可) |
|---|---|---|---|
| 1 | 2026-10-30 07:00(毎日の分) | なし | なし |
| 2 | 2026-10-29 13:36(手で取った最初の分) | あり | あり |
毎日の分にロックがないのは、正しい状態です(ロックがあると、14個を超えても自動で消えなくなります)。ところが、変更不可の盾の印もありません。これでは、毎日の分は消そうと思えば消せてしまい、スナップショットを入れた目的が半分になります。
ServerBackup を選んで「設定」を開くと、「スケジュール」タブの「イミュータブル スナップショットを有効化」のチェックが外れていました。保護期間の欄には「7」日が、灰色で入っていました。

- 「イミュータブル スナップショットを有効化」にチェックを入れる
- 「保護期間」が「7」日になっていることを確かめる
- 「OK」を押す
7日にしたのは、サーバーのバックアップを NAS に7日分残しているのと、長さをそろえるためです。設定を変えたあとに取られる分から変更不可になるので、今朝の分には盾の印は付きません。
その次の朝(10/31)、もう一度スナップショット リストを開きました。

| No. | スナップショット | ロック | イミュータブル(変更不可) |
|---|---|---|---|
| 1 | 2026-10-31 07:00(毎日の分) | なし | あり |
| 2 | 2026-10-30 07:00(毎日の分、設定を変える前) | なし | なし |
| 3 | 2026-10-29 13:36(手で取った最初の分) | あり | あり |
設定を変えたあとの毎日の分に、盾の印が付きました。これからは、毎日の分が7日のあいだ変更不可になります。
場面6:保持ポリシーの欄の読み方
スナップショットの概要には、保持ポリシーの欄に次のような行が並んでいました。

| No. | 表示 | 意味 |
|---|---|---|
| 1 | すべてのスナップショットの有効期間は 1 日です | 取ってから1日のものは、すべて残す |
| 2 | 24 毎時, 7 毎日, 2 毎週, 1 月間 | 1時間ごと・1日ごと・1週ごと・1か月ごとに、決めた数を残す |
| 3 | 14 最新スナップショット | 新しいほうから14個は残す |
どれかの条件に当たるものは残すという決まりなので、多めに残す側に働きます。スナップショットは1日1回なので、実際には14日分残ると考えてよく、消えすぎる心配はありません。
まとめ
| No. | 分かったこと |
|---|---|
| 1 | 共有フォルダのごみ箱が有効だと、サーバーが古いバックアップを消しても、#recycle に移るだけで残り続ける。バックアップの置き場のごみ箱は止める |
| 2 | スナップショットを入れる前に、ごみ箱を空にしておく。あとから空にしても、変更不可のスナップショットが中身を持っていて、その日数が過ぎるまで空きは戻らない |
| 3 | 手で取ったスナップショットには、ロックと変更不可が付く。毎日の分は、「スケジュール」タブの「イミュータブル スナップショットを有効化」にチェックがないと、変更不可にならない |
| 4 | 設定したら、翌朝の一覧で、毎日の分に盾の印が付いているかを確かめる |
| 5 | 保持ポリシーは、どれかの条件に当たれば残す決まりで、多めに残す側に働く |
同じ NAS では、空きが1TB 以上消えていた原因(「NAS の空きが消えた原因は Synology Drive の古い版だった」)と、パスワードを変えたらバックアップが止まりかけた件(「NAS のパスワードを変えたら、毎日のバックアップが止まりかけた」)も書いています。
DS224+ を選んだ理由や最初の設定は「Synology DS224+ の記事」に、自宅サーバーと NAS の記事の一覧は「自宅サーバー構築メモ」にまとめています。



コメント