AlmaLinux 10にクラウドストレージをマウントしてみた(Google Drive編)

AlmaLinux 10にクラウドストレージをマウントしてみた(Google Drive編)

AlmaLinux 10で快適!rcloneを使ってGoogle Driveも爆速マウントする方法

この記事の要約(読了目安: 10秒)

  • 対象者: Dropbox編に続き、Google Driveも本格的なバックアップ先として活用したい方。
  • 何ができるようになるか: 自分専用のAPI Client IDを作成し、Google Drive内の特定フォルダを /mnt/GoogleDrive に爆速・安定マウントできます!

1. はじめに

前回の「Dropbox編」、無事に設定できましたか?「DropboxができるならGoogle Driveも!」と欲が出てくるのが、私たちエンジニアですよね(笑)。

というわけで、シリーズ第2弾はGoogle Driveマウント編です!Google Driveは世界中で利用者が多いため、デフォルトの共有キーだと通信制限がかかりやすいという弱点があります。今回はその弱点を克服するべく、「自分専用のClient ID」を作ってマウントする、ワンランク上の設定手順をご紹介します!

2. 今回の環境

  • OS: AlmaLinux 10
  • Tool: rclone v1.72.1 (EPEL版)
  • マウント対象: Google Drive内の SERVERS/srv-01.example.jp フォルダ
  • マウント先: Linux側の /mnt/GoogleDrive

3. 事前準備:Google Cloud ConsoleでClient IDを作ろう

「自分専用の高速道路」を作るための、ちょっとした一手間です。ここを乗り越えれば、爆速なバックアップ環境が手に入ります!

Client ID作成のステップ

  1. Google Cloud Consoleにログインします。
  2. プロジェクトの作成: 「新しいプロジェクト」を作成(名前は rclone-backup など何でもOK)。
  3. APIの有効化: 「APIとサービス」→「ライブラリ」から Google Drive API を検索して「有効にする」をポチッ。
  4. 同意画面の設定: メニューの「OAuth 同意画面」で、User Typeを「外部」にして作成。アプリ名などは適当で大丈夫ですが、メールアドレスだけ入力して保存します。
    • ※「公開ステータス」は「テスト」のままで問題ありません。
  5. 認証情報の作成: 「認証情報」→「認証情報を作成」→ OAuth クライアント ID を選択。
    • アプリケーションの種類は 「デスクトップ アプリ」 を選びます。
  6. IDとシークレットの取得: 画面に表示される クライアント IDクライアント シークレット をメモしておきましょう!

4. リモート設定(rclone config)

いよいよLinux側の設定です!実際のログを交えて進めていきます。

[root@dev ~]# rclone config
n) New remote
e/n/d/r/c/s/q> n

Enter name for new remote.
name> GoogleDrive

Option Storage.
Storage> 22  # Google Driveを選択

Option client_id.
# ここで、先ほどメモした自分専用の ID を入力!
client_id> [ここに自分のクライアントIDを貼り付け]

Option client_secret.
# 続いてシークレットも入力!
client_secret> [ここに自分のクライアントシークレットを貼り付け]

仕上げの対話手順

ここからが認証のハイライト!一つずつ確実に選んでいきましょう。

  1. scope: 1 (Driveの全権限) を選択します。
  2. service_account_file: 何も入力せず Enter
  3. Edit advanced config? n (No)を選択。
  4. Use web browser…: n (No)を選択。
    • 表示された rclone authorize "drive" --client-id "..." をWindows/Mac側で実行し、ブラウザ経由でトークンを取得します。
  5. result (config_token): 手元のPCで表示された長いトークンを result> に貼り付けます。
  6. Configure this as a Shared Drive?: ここは通常 n (No)でOKです!
    • ※会社などで「共有ドライブ(旧チームドライブ)」をマウントしたい場合のみ y を選びます。
  7. Keep this “GoogleDrive” remote?: 最後に y を押して保存完了です!

5. いざマウント!Google Drive専用の設定

FUSEの user_allow_other 設定が済んでいない方は、前回の記事を参考に有効化しておいてくださいね。

# マウントポイントの作成
mkdir -p /mnt/GoogleDrive

# マウントの実行
# --vfs-cache-mode full は Google Drive 操作の快適さに直結します!
rclone mount GoogleDrive:SERVERS/srv-01.example.jp /mnt/GoogleDrive \
    --vfs-cache-mode full \
    --allow-other \
    --umask 0000 \
    --daemon
ここがポイント!
Google DriveはDropboxに比べて、ファイルの認識に若干のタイムラグが出ることがあります。--vfs-cache-mode full を付けておけば、キャッシュのおかげで操作感が劇的に改善しますよ!

6. Systemdで自動マウント化

再起動のたびにコマンドを打つのは大変なので、サービスとして登録しましょう!

/etc/systemd/system/rclone-googledrive.service

[Unit]
Description=rclone Google Drive Mount Service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount GoogleDrive:SERVERS/srv-01.example.jp /mnt/GoogleDrive \
    --config=/root/.config/rclone/rclone.conf \
    --vfs-cache-mode full \
    --allow-other \
    --umask 0000
ExecStop=/bin/fusermount3 -u /mnt/GoogleDrive
Restart=on-failure
RestartSec=10
User=root

[Install]
WantedBy=multi-user.target

サービス開始!

systemctl daemon-reload
systemctl enable --now rclone-googledrive.service

コラム:Google Drive編の「ここがミソ!」

  • 自分専用 Client ID の威力: 設定は少し面倒ですが、APIの利用制限を自分一人で独占できるため、通信の安定性が格段に上がります。本気バックアップなら必須です!
  • Dropboxとの共演: /mnt/Dropbox/mnt/GoogleDrive を並行運用すれば、クラウドストレージ間での cp も可能。最強の多重バックアップ環境の完成です。

お疲れ様でした!これであなたのサーバーは2つの強力な翼を手に入れました。
どんどんデータを放り込んで、快適なバックアップライフを送りましょう!