昨天更新内核后,我在访问 Oracle Cloud 中的 Oracle Linux 8 VM 时遇到问题。我需要帮助来了解如何解决问题,或者即使我应该尝试。 (另一种方法是删除虚拟机并使用上次启动卷备份重新创建它,这确实会丢失一些数据,但不会丢失大量数据)。
发生了什么:我运行dnf upgrade
并安装了新内核。此后我重新启动。重新启动后,我无法再通过 SSH 连接,收到错误 1005(连接被拒绝)。我使用Oracle Cloud控制台重新启动VM,得到相同的结果。此后,我决定尝试使用 Oracle Cloud Shell 连接进行故障排除,认为可能 ssh 服务已关闭,或者防火墙可能已开始以某种方式阻止端口 22。但相反,它显示虚拟机仍处于启动过程中,停留在“启动作业正在运行以实现 /etc/rc...兼容性”(下面的屏幕截图)。
我让它运行 24 小时,看看它是否会越过它,但它没有。我尝试过几次重启。我想在 Cloud Shell 中执行某些操作来解决此问题,但此时我似乎无法输入任何内容。
我咨询过这个答案但看来我必须在出现问题之前启用调试外壳。这个看起来很有前途但当然是另一个发行版。对于 Oracle Linux(或 CentOS/RHEL 等)是否有类似的东西可以工作?还有什么办法可以解决吗?
或者使用上次启动卷备份重新创建新虚拟机对我来说是否更好?它会丢失一些数据,但没关系......只是不想在未来的内核更新中再次重新创建问题。
PS:我对 Linux cli 和 Linux 总体来说相当陌生,所以如果这都是菜鸟的东西,我深表歉意……坦白说,我很想使用备份重新创建虚拟机,但我想我需要了解这是如何发生的并如果可以的话,修复它,为未来提供帮助。
答案1
我问了两个问题的答案。
- 是否值得尝试修复此问题,或者我应该删除虚拟机并从上次启动卷重新创建? (失去一些工作并担心问题会再次发生)
- 如果值得修复(不费时间并且可以避免数据丢失),如何修复?
我现在将对第一个问题提供我自己的答案。经过多个小时的研究,并且这里没有快速答案,我相信解决这个问题需要大量时间。此外,我没有时间等待修复它。因此我的回答是“不”,不值得。因此,我将核对虚拟机并从上次备份中重新创建,然后重新创建我丢失的工作。
第一个问题的答案使得第二个问题变得毫无意义。尽管我希望最终能够学习,但这种情况不会再发生。