LinuxでBackblaze B2をマウント — NetDriveの実験的Ubuntuビルド
NetDriveの実験的なLinuxビルドで、Backblaze B2バケットを通常のUbuntuマウントポイントとしてマウントする方法。GitHubでのインストール、バケット設定、確認手順を解説。
あるバックアップ管理者は、ヘッドレスなUbuntuサーバー群で毎晩スナップショットジョブを実行し、各夜のtarballをオフサイト保管のためBackblaze B2バケットにアーカイブしている。既存のスクリプトはtarとrsyncでローカルパスに書き込むやり方をすでに知っている — これをB2ネイティブAPIやb2コマンドラインツールを中心に書き直すとなると、これまで問題なく動いていたジョブのために新しい認証処理と新しいエラーコードへの対応が必要になる。NetDriveのLinuxビルドはこの書き直しを回避する。B2バケットを通常のUbuntuマウントポイントとしてマウントするため、ローカルディスク上の/mnt/backups/nightly.tar.gzに書き込んでいた同じスクリプトを、変更なしにB2バックのパスへ書き込ませられる。

UbuntuでBackblaze B2をマウント
NetDrive を使えば Google Drive、OneDrive、S3、SFTP、WebDAV などが Windows と macOS でネイティブドライブとして表示されます — 同期も、まるごとダウンロードも不要です。
- Ubuntu 16.04以降で動作
- Backblaze B2はNetDrive 3.5.434以降でサポート
- 既存のスクリプトは通常のマウントポイント経由で読み書き — B2 APIの書き直し不要
無料トライアル。永久ライセンスとサブスクリプションプランあり。
B2 APIをスクリプト化する代わりにバケットをマウントする理由
B2と直接やり取りするには、アプリケーションキー認証、リトライ、バケットリストのページネーションを、バックアップツールが書かれている言語が何であれ処理する必要がある — 解決可能ではあるが、これはtarballをオフサイトに送るという本来の作業とは無関係なインフラ作業だ。バケットをマウントすればこの層は不要になる。NetDriveがマウントポイントを通じてB2への読み書きを解決するため、tarジョブやcpコマンドは、マシン上の他のどのディレクトリともまったく同じようにB2を扱える。
Backblaze B2はバージョン3.5.434(2018-05-11)以来NetDriveでサポートされている接続タイプであり、このバージョンでは5GB以上のファイルに対応するマルチパートアップロードも導入された — B2サポートはLinuxビルドに最近ボルトオンされた機能ではなく、十分に成熟する時間があった。

UbuntuへのNetDriveのインストール
NetDrive for Linuxは、Ubuntuの標準パッケージリポジトリの外で配布されているため、セットアップはaptではなくGitHub経由で行う。
- github.com/NetDrive/installerにアクセスし、使用中のUbuntuバージョンに合ったリリースを取得する。
- インストール前にそのリリースのノートを読んでおく — ドライバコンポーネントを先に入れないと、何もマウントされない。
- NetDriveパッケージ本体をインストールする。
- ドライバコンポーネントが読み込まれるよう、一度NetDriveを起動する。権限設定によっては
sudoを求められることがある。
Linuxビルドの最小対応バージョンはUbuntu 16.04で、NetDrive自身の比較ページがLinux全般に付けている実験的というラベルもそのまま当てはまる — テストの大部分はWindowsとmacOSに割かれている。アップデートはapt upgradeではなくGitHubリリースとして届くため、新バージョンの確認は、そのマシンを管理する運用手順のどこかに手動ステップとして組み込んでおく価値がある。
手順:UbuntuでB2バケットを接続する
- NetDriveのDrive Managerを開き、+ Add Driveをクリックする。
- 接続タイプの一覧からBackblaze B2を選択する。

- B2のApplication Key IDとApplication Keyを入力する — Backblazeアカウントから生成したもので、サーバーにアカウント全体へのアクセスを渡したくない場合はバケット単位のスコープにできる。
- NetDriveにマウントさせたいバケット名を入力する。
- マウントポイントを設定する —
/mnt/b2-backupsのようなパス、または書き込み権限のある任意の空ディレクトリでよい。 - Connectをクリックする。 NetDriveが認証を行い、そのパスにバケットをマウントする。
バックアップジョブが依存する前にマウントを確認する
GUIだけを信用せず、ターミナルからマウントが実際に成功したかを確認しておく — 実験的ビルドに対する妥当な確認作業であり、cronジョブが無人でそのパスへの書き込みを始める前に済ませておく価値がある。
# Confirm the mount is listed
mount | grep b2-backups
# Or just try listing it
ls /mnt/b2-backups

ディレクトリが空で返ってくる、あるいはマウントが表示されない場合は、バケットの認証情報が間違っていると決めつける前に、サーバーのファイアウォールがポート443のアウトバウンドHTTPS通信をブロックしていないか確認する — ロックダウンされたビルドサーバーやバックアップサーバーでは、Application Keyの誤りよりも閉じたエグレスポートの方がよくある原因だ。

Linuxビルドで想定しておくべきこと
- リリースサイクルが別立てであること。 Linuxドライバは独自のスケジュールで保守されているため、WindowsやmacOS向けに出た修正が同じ週にLinuxへ届くとは限らない。
apt統合がないこと。 インストールとアップデートはPPAやパッケージマネージャではなく、GitHubリリース経由になる。- WindowsとmacOSが最も検証されたターゲットであること。 NetDrive自身のガイダンスも、この2プラットフォームを最もテストされたものとして扱っている。B2からフィクスチャを読み取る夜間バックアップ機やCIランナーにはLinuxビルドは妥当な選択肢だが、無人の本番パイプラインで使う場合は事前に十分なテストをする価値がある。
まとめ
UbuntuでB2バケットをマウントすれば、B2ネイティブAPIの書き直しなしに、WindowsやmacOSでNetDriveが提供するのと同じドライブ形式のアクセスをヘッドレスサーバーに与えられる。同じプロバイダーをよりテストされたプラットフォームで使う場合はMount Backblaze B2 on WindowsやMount Backblaze B2 on macOSを、Linux全般についてはNetDrive on Ubuntu Linuxを、このプロバイダーに沿ったユースケースについてはPhotography RAW Archives on Backblaze B2を参照してほしい。
— Steve, NetDrive