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> 进行分组,反映了运行脚本时虚拟机的项目阶段。<PHASE> 可以是下列值之一:

  • origin - 当虚拟机在本地时运行的脚本。
  • velos - 当虚拟机以“按需缓存”模式运行时运行的脚本。
  • detach - 在分离操作后运行的脚本。

在每次启动时,velostrata.init 服务会执行自定义脚本。如果某更改只需进行一次,脚本应知道它已执行过,而不会再次执行相同的更改。

规则定义

每个阶段都会应用一些规则。规则定义了服务运行的操作。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"