メインコンテンツにスキップ ナビゲーションにスキップ フッターにスキップ

リポジトリ

リモートマシン上のLUKS暗号化リポジトリの作成、管理、操作。

リポジトリ

リポジトリは、リモートサーバー上のLUKS暗号化ディスクイメージです。マウントすると以下が提供されます:

  • アプリケーションデータ用の隔離されたファイルシステム
  • 専用のDockerデーモン(ホストのDockerとは別)
  • /26サブネット内の各サービスに対する一意のループバックIP

リポジトリの作成

rdc repo create --name my-app -m server-1 --size 10G
オプション必須説明
-m, --machine <name>はいリポジトリが作成されるターゲットマシン
--size <size>はい暗号化ディスクイメージのサイズ(例:5G10G50G
--skip-router-restartNoSkip restarting the route server after the operation

出力には3つの自動生成された値が表示されます:

  • リポジトリGUID — サーバー上の暗号化ディスクイメージを識別するUUID。
  • クレデンシャル — LUKSボリュームの暗号化/復号化に使用されるランダムなパスフレーズ。
  • ネットワークID — このリポジトリのサービスのIPサブネットを決定する整数(2816から始まり、64ずつ増加)。

クレデンシャルは安全に保管してください。 これはリポジトリの暗号化鍵です。紛失した場合、データは復元できません。クレデンシャルはローカルのconfig.jsonに保存されますが、サーバーには保存されません。

マウントとアンマウント

マウントはリポジトリファイルシステムを復号化してアクセス可能にします。アンマウントは暗号化ボリュームをクローズします。

rdc repo mount --name my-app -m server-1  # 復号化してマウント
rdc repo unmount --name my-app -m server-1  # アンマウントして再暗号化
オプション説明
--checkpointマウント/アンマウント前にCRIUチェックポイントを作成(rediacc.checkpoint=trueラベル付きコンテナ用)
--skip-router-restartSkip restarting the route server after the operation

ステータスの確認

rdc repo status --name my-app -m server-1

リポジトリの一覧表示

rdc repo list -m server-1

リサイズ

リポジトリを正確なサイズに設定するか、指定した量だけ拡張します:

rdc repo resize --name my-app -m server-1 --size 20G  # 正確なサイズに設定
rdc repo expand --name my-app -m server-1 --size 5G  # 現在のサイズに5Gを追加

リサイズの前にリポジトリをアンマウントする必要があります。

フォーク

既存のリポジトリの現在の状態のコピーを作成します:

rdc repo fork --parent my-app --tag staging -m server-1

フォークはname:tagモデルを使用します:結果のフォークはmy-app:stagingと命名されます。これにより、独自のGUIDとネットワークIDを持つ新しい暗号化コピーが作成されますが、親の名前を共有します。フォークは親と同じLUKSクレデンシャルを共有します。

検証

リポジトリのファイルシステム整合性を確認します:

rdc repo validate --name my-app -m server-1

所有権

リポジトリ内のファイル所有権をユニバーサルユーザー(UID 7111)に設定します。通常、ワークステーションからアップロードされたファイルがローカルのUIDで到着した後に必要です。

rdc repo ownership --name my-app -m server-1

このコマンドはDockerコンテナのデータディレクトリ(書き込み可能なバインドマウント)を自動的に検出し、除外します。これにより、独自のUIDでファイルを管理するコンテナ(例:MariaDB=999、www-data=33)が壊れることを防ぎます。

オプション説明
--uid <uid>7111の代わりにカスタムUIDを設定
--skip-router-restartSkip restarting the route server after the operation

すべてのファイル(コンテナデータを含む)に所有権を強制するには:

rdc repo ownership --name my-app -m server-1

所有権の使用方法の詳細なウォークスルーについては、移行ガイドを参照してください。

テンプレート

テンプレートを適用してリポジトリをファイルで初期化します:

rdc repo template apply --name my-template -m server-1 -r my-app --file ./my-template.tar.gz

削除

リポジトリとその中のすべてのデータを永久に破壊します:

rdc repo delete --name my-app -m server-1

これにより、暗号化ディスクイメージが永久に破壊されます。この操作は取り消せません。