我有一个正在工作的VM实例,我正试图复制它,以便允许google负载均衡器背后的冗余。使用虚拟实例进行的测试运行良好,根据运行实例的快照创建了一个新实例。现在,真正的“原始”实例附加了一个持久磁盘,这会导致启动克隆实例时出现问题,因为(显然)缺少持久磁盘挂载。串行控制台输出的日志如下:
* Stopping cold plug devices[74G[ OK ] * Stopping log initial device creation[74G[ OK ] * Starting enable remaining boot-time encrypted block devices[74G[ OK ] The disk drive for /mnt/XXXX-log is not ready yet or not present. keys:Continue to wait, or Press S to skip mounting or M for manual recovery
据我所知,没有办法将这些关键笔画发送到实例,还有其他方法来解决这个问题吗?我知道我可以在快照之前卸载磁盘,但是我想要进入状态的工作流程是创建生产服务器的周期快照,所以每次执行之前不挂载磁盘都需要实例停机时间(加上执行看起来毫无意义的操作的所有不必要的风险)。
是否有一种方法可以成功地引导这种类型的克隆实例,并在之后附加一个新的持久性磁盘?
这是因为原始的持久磁盘正在使用,还是即使原始实例脱机也会出现相同的问题(例如,由于失败,在这种情况下,我将尝试从快照创建一个新实例)?
发布于 2016-07-21 12:57:24
我用来解决同样问题的一个解决方法是,我并不是真的卸载磁盘,而是注释掉/etc/fstab中的挂载行,然后获取快照。这样,我的实例在快照时没有停机或停机磁盘。(如果这重要的话,我正在使用Ubuntu 14.04作为操作系统)
稍后,当我在新实例上使用该快照时,将修复并取消注释。但是,您也可以在注释行中添加nofail选项,以获得更好的解决方案。
顺便说一句,我正在做一个类似的任务,用多个way服务器节点构建一个负载平衡的设置。从所述快照中克隆的每一个文件都带有额外的持久磁盘,如上载、数据和日志等。
发布于 2016-06-06 18:24:21
我有点不清楚你想做什么。听起来,您希望定期对生产服务器的数据卷进行快照,以便以后可以克隆它们。
很可能,在创建快照之前,只需要同步和fs冻结,而不仅仅是卸载/重新挂载。GCP文档在快照文档中有一个基本的例子。
https://stackoverflow.com/questions/37479910
复制相似问题