NASを買った。数年前にSynologyのDS-220+を導入して写真置き場として使ってるので2台目となる。買ったのはQNAP TS-253Dというモデル。メーカーが揃ってないのが気になるが、DS220+より格上モデルである。なんとこれが15k円で買えた。買わんわけがない。買ってから数週間眠らせていたが、夏休みに突入したのもあって重い腰を上げてセットアップをすることにした。
| HP-A8って立てて使っていいのかな…… |
中身のHDDは新調したいところだが、このご時世気が狂うほど高い。10TB超のを2発買おうもんなら10万オーバーである。というわけで、HDDは新調せず、RATOCのRAIDケースに入れてSynologyのバックアップ用としていたWDのUltrastar DC HC530(Amazonでリファービッシュがやけに安かったときに買った)を流用することにした。NASに差して初期構築するとフォーマットされてしまうが、そもそもバックアップしか入れてないのですぐ取り直せば問題ない、という算段である。
最初に思いついたのは下記のような構成
- PCローカル(5.5TBぐらい):QNAP HDP for PC/VMを使ってQNAPに取る
- Synology(7.5TBぐらい):Synology Hyperbackupを使ってQNAP(Rsync)に取る
PCローカルの方は初回バックアップも半日ほどで終わり、問題なく完了。PC<->QNAPは2.5GbEで繋がっているのもあり、目測200MB/sほど出ていたため半日ほどでつつがなく完了。
一方、Synology->QNAPの方は15MB/sほどしか出ていない……。このままのペースでは1週間以上掛かるが?ということでGeminiに泣きつく(今思えばこれも泥沼の原因かもしれない)。
まずGeminiが指摘したのは、バックアップ対象にActive Backup for Businessのリポジトリが含まれていること。これは今までPCのイメージバックアップをSynologyで取っていたときのもので、今後QNAPで取るようになるのでそのうち消す予定だった。とりあえず入れとけばええわwとバックアップ対象に入れてしまったが、管理用の細切れデータが大量にあるからスループットに影響しているだろう(実際中にsqliteのDBファイルがある)、というのがGeminiの見立て。実際バックアップが必要かと言われたら要らんので、実行中のタスクをキャンセル、諸々リセット(バックアップ先もボリュームごと末梢)の上、上記リポジトリを除外して再実行。
……変わらん。ほんのり速くなった(10~15MB/sから20~25MB/s)が、絶望的に遅いことには変わらず、仮に初回に1週間掛けて終わったとしてもその後数百GBの差分が発生すればそのたびに丸1日バックアップが走ることになる。流石に看過できないと再びGeminiに相談。
Synologyのリソースモニタを見ていると、ディスクIOの大半はWrite側で発生している様子。そりゃHDDでランダムデータの読み書きを同時にやってたらバカでかいオーバヘッドになるだろう。これがどういうことなのかというと、先ほど出てきた管理用の細切れデータというのが答えらしい。HyperBackupには「複数バージョン」と「単一バージョン」の2つのモードがあり、Synologyナレッジセンターによると下記のような違いがある。
もう少し詳しく書くと、複数バージョンの場合は全てのファイルがいったんブロック単位にバラされた上で転送・保存される(ブロックと実データの紐付は独自のDBに保存される)ということである。これによって重複排除やバージョン管理、暗号化を実現しているとのこと。それ故、バックアップはSynology以外のシステムにはリカバリできないし、直参照もできない。
一方、「単一」の方はシンプルなファイルバックアップ。ただし、差分転送はやってくれるので毎回フルバックアップにはならないらしい。こちらはソースのディレクトリ構造がそのままバックアップ先に作成されるため、リカバリ先にも縛られないし直参照も可能。
スループットを考えると「単一」以外の選択肢はないわけだが、本当にそれでいいのかと逡巡。今回の場合、保護したいデータのほとんどは写真のRAWデータ+書き出したJPEGである。つまり、ファイル単体に対する上書き変更はほとんど発生しない(LightroomのカタログはPC内のSSDにあり、QNAP側にバックアップされるので関係ない)。そしてバイナルレベルで一致しているファイルなんてほぼ存在しない。つまり「複数」の旨みはほとんど感じられない。加えて、必ずしも有事のリカバリ先がSynology NASになるとも限らないことを考えると、ここで変なベンダーロックインを作っておくのもイマイチと判断。
というわけで最終的に落ち着いたのが以下の構成。
- PCローカル(5.5TBぐらい):QNAP HDP for PC/VMを使ってQNAPに取る
- 変わらず
- Synology(7.5TBぐらい):Synology Hyperbackupを使ってQNAP(Rsync)に取る
- ジョブを2つに分割
- アプリのパッケージ:「複数」で取る(単一では取れなかった)
- 共有フォルダ:「単一」で取る
アプリのパッケージが要るのかどうかは微妙だが、取れるものは取っておこうということでジョブを分割して対応。こっちは数十MBもないため「複数」でも一瞬で終わった。そして容量比99パーセント以上を占める共有フォルダを「単一」で取ることにした。
これを書いている今まさに「単一」での初回バックアップを取っているところである。幸いなことに安定して100MB/s出ている(Synology<->QNAPは1GbEのためほぼ理論値)。これであれば24時間もあれば完了するだろう。
とりあえずはこれでしばらく放置してみようと思う。目下の問題はゴリゴリゴリゴリうるせえことである。防音措置を考えないとなあ……(NASと同じ部屋で寝てるのが悪い)。そしてQTSが難しい。DSMすら大して使いこなせているわけではないが、QTSはUIにクセがあって取っつきにくく感じる。やっぱりSynologyで揃えていきたいなあ、と思いつつHDDのロックインはクソほど気に入らねえしどうしたものか。UGREENとかも気になるしね。とにかくHDD安くなってくれ頼む。