0

我正在使用 velostrata 将一个简单的 WordPress 站点从 AWS 迁移到 GCP。

我已经在两个 VPC 之间设置了 VPN,并成功配置了 velostrata 源云和目标云。

迁移过程似乎有一段时间进展顺利。我可以看到在 GCP 控制台中创建的实例,但过了一会儿它消失了。

当我查看 velostrata 日志时,错误是:

Finished job: RunInCloud on VM: i-0bc57fc47e893fac0, result: Failed, reason: [Cloud instance boot failed] (Instance boot was unsuccessful)
2019-06-20 15:00:34 DEBUG   VmWorkerImpl    
Exception:
com.velostrata.management.automation.exceptions.FailFlowException: [Cloud instance boot failed] (Instance boot was unsuccessful)
   at com.velostrata.management.automation.flows.FlowBase.isDone(FlowBase.java:74)
   at com.velostrata.management.automation.flows.RunInCloud.isDone(RunInCloud.java:113)
   at com.velostrata.management.automation.components.VmWorkerImpl.monitor(VmWorkerImpl.java:126)
   at com.velostrata.management.automation.components.VmWorkerImpl.runFlow(VmWorkerImpl.java:88)
   at com.velostrata.management.automation.components.VmWorkerImpl.safeRunFlow(VmWorkerImpl.java:74)
   at com.velostrata.management.automation.components.VmWorkerImpl.iterate(VmWorkerImpl.java:69)
   at com.velostrata.management.automation.components.GroupWorkerImpl.lambda$run$3(GroupWorkerImpl.java:70)
   at com.velostrata.automation.infra.utils.Wait.till(Wait.java:40)
   at com.velostrata.automation.infra.utils.Wait.till(Wait.java:87)
   at com.velostrata.management.automation.components.GroupWorkerImpl.run(GroupWorkerImpl.java:57)
   at com.velostrata.management.automation.components.JobsRunnerImpl.runGroup(JobsRunnerImpl.java:88)
   at com.velostrata.management.automation.components.JobsRunnerImpl.runPartOfJob(JobsRunnerImpl.java:80)
   at com.velostrata.management.automation.components.JobsRunnerImpl.run(JobsRunnerImpl.java:72)
   at com.velostrata.management.automation.components.JobsRunnerImpl.start(JobsRunnerImpl.java:48)
   at com.velostrata.management.automation.components.RunsManagerImpl$RunFutureTask.lambda$new$0(RunsManagerImpl.java:246)
   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)

源 EC2 VM 只是一个在 docker 中运行 WordPress 并指向 RDS 实例的简单 Ubuntu 实例。

在这一点上,我真的不知道我应该怎么做才能让它工作。知道我应该从哪里开始寻找吗?

谢谢!

4

1 回答 1

1

每当看到以下错误

Finished job: RunInCloud on VM: whateverVM, result: Failed, reason: [Cloud instance boot failed\](Instance boot was unsuccessful)

您还可以执行以下故障排除步骤

检查实例串行控制台日志是否有多个超时,例如:

[132.044894] dracut-initqueue[383]: calling: settle
[132.553566] dracut-initqueue[383]: Warning: dracut-initqueue timeout - starting timeout scripts

运行以下命令,它必须只返回一个内核(不是多个,也不是空行):

sudo grubby --default-kernel

运行以下命令,必须返回所有包:

sudo rpm -q iscsi-initiator-utils-iscsiuio iscsi-initiator-utils device-mapper-multipath-libs device-mapper-multipath velostrata-prep

运行以下命令,您希望 dracut 存在 velostrata、多路径、iscsi 模块,而不是文件列表:

sudo lsinitrd /boot/initramfs-.img uname -r| egrep "(velostrata|multipath|iscsi)" | 头-3

可能的解决方案:

1.卸载并重新安装 prep 包,提供完整的输出用于调试目的

2.如果state已经安装,尝试为当前内核重建initrd

可能的根本原因:

离线准备无法安装在云中运行所需的 MPIO 功能,导致迁移任务失败。

于 2019-07-17T22:16:51.020 回答