Oracle Cloud 通过DD磁盘来拯救启动失败的机器

前言

Oracle Cloud 可以免费使用2台VPS。如果由于误操作导致无法开机,又不想删鸡重新创建实例的话,可以将引导卷挂载到另一台正常运行的VPS上,进行DD操作复活。

两个引导卷的大小应该要一致,因为是克隆磁盘。如果大小不一致会有什么后果,我没有尝试……

1、分离坏的引导卷

将不能正常运行的VPS的引导分离。

计算机 > 实例 中选择不能正常运行的VPS,查看详情信息。在左下部选项中选择 引导卷 进行分离。

2、附加坏的引导卷

引导卷分离完成后,打开可以正常运行的VPS的详细信息页面,在左下部选项中选择 附加的块存储卷 附加。

选择要附加的引导卷。

3、进行磁盘克隆

查看附加的引导卷的 iSCSI命令和信息


挂载磁盘

SSH连接正常的VPS,复制上一步获取到的 用于连接的命令 到控制台,三行都复制,直接回车,会有 successful 的提示。

如果出现sudo: iscsiadm: command not found 错误:

# 在linux上安装iscsi客户端
#centos/redhalt系列
yum install -y iscsi-initiator-utils
    
#debian系列
apt install -y open-iscsi
# 安装完成后重新执行连接命令

磁盘克隆

fdisk -l 查看已挂载的磁盘信息。

我这里有两块磁盘 sdasdb

因为克隆磁盘比较耗时,因此建议通过screen进行操作,防止意外断开连接,导致操作中断。

# 查看已挂载的磁盘信息
fdisk -l

# screen 
screen -S q

# 进行磁盘克隆
dd if=/dev/sda of=/dev/sdb bs=10M count=100000

如果想要查看克隆进度,另开一个SSH窗口,输入命令 watch -n 5 pkill -USR1 ^dd$ ,再选择原来的窗口,即可看到进度显示。

4、挂载回坏的VPS

克隆完成后,通过获取的iSCSI命令和信息用于断开连接的命令,在终端输入并运行。

在网页上分离附加的块存储卷。

在坏的VPS的详细信息页面附加引导卷,启动实例即可。

最后,如果因为sudo: iscsiadm: command not found错误,安装了iscsi,建议卸载。

#centos/redhalt系列
yum remove -y iscsi-initiator-utils
    
#debian系列
apt remove -y open-iscsi

参考:oracle终身免费VPS通过DD磁盘来拯救启动失败的机器