Linux 適応

Linux システムの場合、Google Cloud Migrate for Compute Engine(旧称 Velostrata)には、Migrate for Compute Engine RPM のインストールに一部の適応スクリプトが含まれています。Migrate for Compute Engine スクリプトのルールは次の場所にあります。

/opt/velostrata/actions/<PHASE>.rules

Linux システム管理者は、カスタム スクリプトを定義することもできます。スクリプトのルールは次の場所にあります。

/etc/velostrata/actions/<PHASE>.rules

ルールは <PHASE> でグループ化されます。これは、スクリプト実行時の VM のプロジェクト フェーズを反映しています。<PHASE> は、次のいずれかの値です。

  • origin – VM がオンプレミスのときにスクリプトが実行されます。
  • velos – VM が「cache on demand」モードで実行されているときにスクリプトが実行されます。
  • detach – スクリプトは接続解除操作の後に実行されます。

カスタム スクリプトは、起動のたびに velostrata.init サービスによって実行されます。 変更を 1 回だけ行う必要がある場合、そのスクリプトは以前に実行されたことを認識し、同じ変更を再度実行しないようにする必要があります。

ルールの定義

各フェーズには特定のルールが適用されます。ルールは、サービスが実行するアクションを定義します。Migrate for Compute Engine は定義された順序でルールを処理し、指定されたとおりに各ルールを実行します。

ルールのパラメータ

次のパラメータは、各 <PHASE>.rules ファイルで定義できます。

  • NAME: 一意のルール名。
  • PLATFORM: ルールを実行するクラウドまたはプラットフォーム(any)。
  • TEST: ファイルの存在の検証。パスが指定されている場合、ルールはファイルとディレクトリ パスが存在する場合にのみ実行されます。このパラメータは、スクリプトがすでに実行されているかどうかを(それを示すファイルを作成することで)確認するためにも使用できます。
  • ACTION: 実行する Bash スクリプトまたはインライン コマンド
  • REQUIRES: ルールを実行するために必要なサービスのオプション フィールド(現在は rc.local のみサポートされています)。

ルールの例

# ネットワーク設定を調整

NAME="fix-network-config", PLATFORM="any", TEST="", ACTION="/usr/sbin/velostrata-fix-network-config"