HN 日本語サマリー

← 一覧へ戻る
インフラ・DevOps

バックアップストレージの作成は面倒だ

Creating Backup Storage Sucks (smarmelling.com)

43 pointsby smarmelling39 コメント

要約

この記事は、個人が自身のデバイスのために無料のバックアップストレージを構築する際の困難と、その解決策を探る旅について述べています。著者は、Linuxの知識を活用し、Syncthing、Restic、Tailscaleなどのツールを駆使して、3-2-1バックアップ戦略(3つのコピー、2つの異なるメディア、1つのオフサイトコピー)を実装しようと試みました。特に、複数のデバイス間でのファイル同期と、モバイルデバイスからのアクセス方法に焦点を当てています。

全文翻訳

バックアップストレージの作成は面倒だ 2026年8月31日 個人ストレージ ストレージを作成し、それを同期することは、常に何かがうまくいかず、意図した通りに機能せず、必要な時に機能しない活動の一つです。そこで、可能な限り自分でこれを修正しようと決めました。ここ数ヶ月で、すべての有用なファイルをデバイス間で適切に同期するために役立つであろう多くの有用なLinuxの知識を学びました。特に、これらすべてを完全に無料で行うためにこの知識を使いたいと思っていました。自分のファイルを見るためだけに、プロバイダーにこれ以上お金を払う気はありませんでした。自分で作成し所有している同じファイルです。以前Google Oneストレージでこの間違いを犯し、二度と繰り返したくありませんでした。標準的な3-2-1バックアップ手法には慣れていましたが、それを実装しようとしたり、真剣に考えたりしたことはありませんでした。なので、今回はその時でした。 知らない方のために説明すると、3-2-1バックアップとは、ストレージは以下の状態であるべきということです:3つのコピー、2つの異なるストレージメディア、1つのオフサイトコピー。 私にとってそれは以下のことを意味しました: 1. 動作中のレイヤー 2. ハードドライブ 3. クラウドプロバイダー この記事では、これらの各レイヤーのために私が下した選択について詳しく説明します。多くの間違いを犯したかもしれませんが、これは個人的な旅として共有するものであり、決して模倣すべきもの(誰も模倣しないでしょうが)ではないことを前もってお伝えしておきます。 私のレイヤー 1. 動作中のレイヤー 動作中のレイヤーの計画を始めたとき、理想的な世界は、私の2台のミニPCとラップトップを含むすべてのドライバー間で同期でき、さらにスマートフォンやタブレットからも同じファイルにアクセスできる世界だと気づきました。私は主に2つのワークステーションから作業します。私のメインドライバーであるX1 Minisforumと、自宅で作業していないときに使用するLenovoラップトップです。技術的には仕事用のコンピューターもありますが、データが完全に異なるため、ストレージの目的ではカウントされません。これらのデバイスはすべて非常に異なる制約があるため、これらをどのように調整するかについて考える必要がありました。 これが私がたどり着いた方法です: 私のメインのMinisforumミニPCが真実のファイル保持者となり、デイリードライバーとして機能します。ホームディレクトリには、すべてのデバイス間で同期され、維持する必要があるSyncフォルダが含まれています。これは、常にオンになっているNASとして機能する2台目のミニPC、GMKtec M3にSyncthing経由で同期されます。私は他のデバイスからこのミニPCに主にsshまたはtailscale経由でアクセスします。そして最後に、Syncthing経由でラップトップをSyncに同期します。 私のラップトップは残念ながらWindowsなので、Linuxをインストールするのが怠惰でした(それは将来のプロジェクトです)。そのため、Syncthingをインストールする手順は少し異なりましたが、(Windowsだったことを考えると非常に驚きましたが)うまく機能したようです。 重要なのは、Syncthingはバックアップではないということです。これらの各デバイスはローカルにファイルのコピーを保持しますが、互いに同期するため、1つのデバイスが破損して変更を他のデバイスにプッシュすると、他のデバイスも破損します。したがって、これは1つのレイヤーとしてカウントされます。これらのマシンはバックアップではありません。 Syncthingは非常によく機能しますが、一貫した同期を望む場合は、デバイスが頻繁にオンになっている必要があるという制約があります。 スマートフォンは全く別の獣です。他のマシンにあるすべてのファイルを保存するにはストレージが不十分であり、たとえ十分だったとしても、それが機能するようにするのは大変なことです。Syncのサイズは実際には私にとってはかなり小さいです。わずか12GBですが、128GBの私の携帯電話に収まるほど小さくはありません。残念ながら、アプリが多すぎます。 余談:12GBのコンテンツしかないことに笑うかもしれませんが、私はミニマリストで、実際に必要なものだけを保存するのが好きで、このフォルダをかなり頻繁に整理しようとしています。使用しなくなったファイルのログを保持するアーカイブフォルダをM3のホームフォルダに持っています。 私が採用した解決策は、M3にTailscaleを設定し、iPhoneからTailscaleに接続し、ファイルがローカルに存在しない場合でもRunestoneを使用してローカルでファイルを表示することでした。これの欠点は、ファイルにアクセスしたいときは常にTailscale接続が必要になることですが、それ以外は驚くほどうまく機能します。 当初、iOSのウォールドガーデンのおかげで、Androidタブレットの方がバックアップの設定が簡単だと思っていました。しかし、これほど間違っているとは思いませんでした。私の必要な問題をすべて解決するRunestoneの同等物がないことが判明しました。これは、私が信じられないほど醜く、壊れやすい回避策を作成する必要があることを意味しました。しかし、今のところは機能しています。 私がしなければならなかったことは、Tailscaleを設定し、それをTotal Commanderというアプリに接続することでした。これは単なるファイルリーダーであり、Tailscaleから来るローカルファイルにアクセスできるLAN用の拡張機能を取得しました。Total Commanderはファイルを変更するためにファイルを読み込むだけなので、それらのファイルを開く別のアプリを取得する必要がありました。多くのMarkdownリーダーを試しましたが、どれもひどかったので、Acodeに落ち着きましたが、より良い代替手段をすぐに探し直すでしょう。さらに、Total Commanderは新しいファイルを作成できないため、新しいファイルを作成したい場合、見つけた唯一の回避策は、既存のファイルのコピーを作成してそれを変更することです。 これが非常に醜いことは理解しています、どうか判断しないでください。 これらすべての中で、私の結論は次のとおりです:Tailscaleは真の王であり、Syncthingは素晴らしいです。iOSは私が覚えていたよりも優れており、AndroidはWindowsとほぼ同じくらい悪くなっています。 2. ハードドライブ このレイヤーは、単純なバックアップを保持できる静的なハードドライブです。私はこれにresticを使用し、バックアップがタイムリーで効率的であることを確認したかったのですが、これはハードドライブに最適なファイルシステムとは何かという深い探求につながりました。私のハードドライブはデフォルトでFAT32になっており、12GBのデータを移動しているだけでNetflixライブラリ全体をバックアップしているような感覚でした。いくつかの調査の結果、Windowsとの簡単な互換性を維持したい場合、より優れたext4を使用できず、代わりにexFATを使用する必要があることがわかりました。これはFAT32よりわずかに優れていましたが、ext4よりはるかに劣っていました。そのため、「Windowsはひどい」と何度も悪態をついた後、諦めてexFATに移行することを受け入れました。 さらに調査した結果、FAT32の利点は実際には私が気にかけているものではないことに気づき、怠惰になってFAT32のままにしました。 計画する次のステップは、バックアップを自動化する方法でした。resticの使用を勧められたので、試しました。それは、すべての情報を含む、圧縮され暗号化された素敵なフォルダを作成しました。そして、毎週日曜日の夜にSyncフォルダをバックアップするようにsystemdを設定しました。 resticは、バックアップのために存在する最高のものの1つです。それがやるべきことに対して信じられないほどよく機能します。いくつかの欠点がありますが、例えば、解凍に予想以上に時間がかかったことに驚きましたが、おそらく多くの情報を非常にうまく圧縮する必要があるのでしょう。12GBのデータを、多くの重複排除によりほぼ6GBに減らすことができました。これはすべてローカルで行う場合です。もしネットワーク経由でこれを行うと、3番目のレイヤーで見たように、少し不安定になる可能性があります。 3. クラウドプロバイダー これには多くの制約がありました。サブスクリプションを支払うつもりはなかったので、無料ストレージオプションで遊ぶ必要がありました。最も簡単なのはGoogle Driveのように見えました。無料で15GBが提供され、従来のバックアップ方法に接続するための良い方法があります。問題は、Google DriveがGmailとストレージを共有していることです。そのため、十分なスペースを確保するために不要なメールを削除するという面倒な手順を踏む必要がありました。それが完了すると、10GB以上のストレージが残り、もう1つのresticバックアップには十分でした。 写真は少しトリッキーでした。元々、サブスクリプションを支払うことに抵抗がなかった頃に、iPhoneの写真アプリからGoogleフォトに写真がバックアップされていました。移行するのは少し時間がかかり、結局バックアップ経由でコピーし直すことになるので、あまり有益ではなかったでしょう。そのため、少し異なる解決策を選びました:Sync内にPhotosというフォルダを作成し、us