世界を動かす技術を、日本語で。

フレームワークラップトップとディスクでのS3における10TBのセルフホスティング

2025年10月5日原文(jamesoclaire.com)

概要

  • S3ストレージの自宅ホスティング体験談
  • FrameworkラップトップとJBODの活用
  • ZFSとgarage S3による運用安定性
  • メンテナンスやアップグレードの成功
  • ZFSとUSB接続の注意点

S3自宅ホスティングの始まり

  • 大容量ストレージ を安価に求め、 自宅でS3互換ストレージ を構築
  • AppGoblinのSDKで 上位10万アプリのトラッキング 用データ保存ニーズ
  • 中古Frameworkラップトップ をサーバー用途に採用
    • 画面なし、古いモデルでサーバーに最適
  • JBOD(Just a Bunch Of Disks) を追加購入し容量拡張
  • OSは ZFS + garage S3 構成で運用

運用と安定性

  • 数ヶ月間、 意識せずに安定稼働
  • 約10TBの使用実績
  • 長期間放置後の再起動 でも問題なく復旧
  • garage S3の バージョンアップ もトラブルなし
  • garage v1からv2への メジャーアップグレードも円滑

ZFSとUSB接続の課題

  • ZFSの利用方法が非標準 (JBODとラップトップをUSB接続)
  • garage S3の メタデータもJBOD/ZFS上に配置 していた
    • 高負荷時にZFSの問題が発生
  • メタデータをラップトップ本体へ移動 し、ZFS関連の不具合を解消

まとめと所感

  • 自作S3ストレージの運用成功体験
  • garage S3とZFSの 組み合わせによる高い信頼性
  • USB接続時は ZFS運用に注意が必要
  • 適切な構成変更で 安定運用を実現

Hackerたちの意見

静かに成功したセルフホスティングをシェアしたかったんだ。

「何かを動かすコンピュータを持っている」って今は「セルフホスティング」って呼ばれてるのが変な感じ。まるで今は全てのコンピュータが誰かのものだって前提があるみたいで、自分のを使ってるって明言しないといけないみたい。

このJBODはSSDで構成されてるの?その量のHDDだと結構うるさいかもね。

自分もS3に興味があって、Garageがどんなことを提供してくれるのか、Minioみたいな成熟した代替品と比べてすごく気になってる。聞いたところによると、小さい(数キロバイト)ファイルには結構合ってるみたい?

Minioが最近、コミュニティ版から機能を削除し始めたよ。 https://news.ycombinator.com/item?id=44136108

Minioが管理UIの99%をこっそり削除して、ユーザーを有料プランに誘導しようとした時は本当にがっかりした。新しいMinioのイメージを取得した後、ある日突然消えたんだ。オンラインでその変更の証拠は、混乱したユーザーたちのGitHubの議論だけだった。

これについてはしばらく考えてたんだ。MinIO、Garage、Cephを比較中。最近の動きから考えると、MinIOはあまり賢い選択じゃないかもね、他のコメントでも指摘されてたし。Garageはまあまあだけど、最近はGitの活動があまり見られないから、これも放置されるんじゃないかって心配してる。で、Cephが残るんだけど、学習曲線は高いかもしれないけど、オブジェクト、ブロック、ファイルの柔軟性が一番あるからね。近いうちに9つのOSDでシングルノードをセットアップしてみるつもりだけど、もし誰かアドバイスがあれば教えてほしいな。

すごいね!フレームワークのマザーボードを交換して、NASのバックアップに変えようとしてるところなんだ。あなたのZFSの設定についてもう少し教えてもらえる?スナップショットを送る場所が欲しいだけなんだけど、USB接続の速度や、うっかり抜いてデータを失うことが心配でさ。

Garageについての以前の議論: https://news.ycombinator.com/item?id=41013004

Garage、大好き!ほんとに使いやすいよね。古いOdroid HC2でGarageを動かしてるんだけど、主にk8s Veleroのバックアップ用で、設定したらあとは放置でOK。

古いDell T30に2x10TBのSeagate ExosをZFS RAID1モード(ミラー)で使う方がいいかな。これ、毎日ちょっとドキドキするだろうな…毎日バックアップしててもね。Dell T30も不安はあるけど、ディスクを他のデバイスに繋げられるし、簡単に抜けるケーブルで配線する必要もないからね ;) でも、Garageは良さそうだね :-) 投稿ありがとう。

ZFSを結構前から使ってるんだけど、ある時気づいたんだ。データの量によっては、数時間の損失は許容できるって。だからミラーの代わりに、2つの別々の1ディスクプールを作って、数時間ごとにプライマリプールの自動スナップショットを取って、それを他のプールにzfs send/recvしてる。これでディスクの柔軟性が増すし、例えば一つはSSD、もう一つはHDDにしてもいいし、読み取り速度と稼働時間のトレードオフはあるけどね。必要に応じて、もう一つのディスクは外付けにして、数日ごとに接続することもできるよ。もっと大事なデータ用にミラーのRAIDプールも持ってるけど、ZFSに関する記事はほとんどRAIDのことばかりで、上で説明したようなハードウェアの負担が少ない設定についてはあまり触れられてないんだよね。

Hacker Newsで議論の続きを見る