拿什么来拯救我的 Linode
一、如何进入救援模式
Linode 提供了 Finnix 恢复盘,相当于 Windows 的安全模式,具体进入 Linode 恢复模式的方法:
1. 打开后台管理面板:https://manager.linode.com/, 选择 Rescue (救援).
2. 点击 Reboot into Rescue Mode, 启动救援模式
3. 这时候会跳转到 Dashboard 页面, 等待机器启动救援模式完成. 这时你将发现旧的 IP 无法 ping 通, 当然也无法 SSH 登陆了.
莫急莫急. 救援模式中 VPS, 需要使用 Lish (通过 Linode 跳板机中转) 登陆. 见下图:
4. 终于进来了, 这时出现下面图案, 说明已经登陆成功.
以上步骤完成了, 救援模式的启动和登陆, 不知道大家记住了没有呢. 下面接着挂载那个系统挂掉的分区, 以做修复.
二、如何挂载分区
何谓挂载, 就是在 Finnix 系统中可以访问待挂载的分区内容. 呵呵, 是不是比较绕. 简单来说, 挂载分区后, 就可以读写数据了. 一条命令足矣:
<span class="pln">mount </span><span class="pun">-</span><span class="pln">o barrier</span><span class="pun">=</span><span class="lit">0</span> <span class="pun">/</span><span class="pln">dev</span><span class="pun">/</span><span class="pln">xvda</span>
三、如何备份数据
系统起不来, 又需要备份数据, 那怎么办?
进入 Finnix 救援模式并不能直接 ssh, 所以需要首先启动 SSH 服务, 这就需要获得分区系统的 root 权限了.
1. 这也不难, 祭出 “chroot” 大法.
<span class="pln">mount </span><span class="pun">-</span><span class="pln">o </span><span class="kwd">exec</span><span class="pun">,</span><span class="pln">barrier</span><span class="pun">=</span><span class="lit">0</span> <span class="pun">/</span><span class="pln">dev</span><span class="pun">/</span><span class="pln">xvda</span>
<span class="pln">cd </span><span class="pun">/</span><span class="pln">media</span><span class="pun">/</span><span class="pln">xvda mount </span><span class="pun">-</span><span class="pln">t proc proc proc</span><span class="pun">/</span><span class="pln"> mount </span><span class="pun">-</span><span class="pln">t sysfs sys sys</span><span class="pun">/</span><span class="pln"> mount </span><span class="pun">-</span><span class="pln">o bind </span><span class="pun">/</span><span class="pln">dev dev</span><span class="pun">/</span><span class="pln"> mount </span><span class="pun">-</span><span class="pln">t devpts pts dev</span><span class="pun">/</span><span class="pln">pts</span><span class="pun">/</span>
<span class="pln">chroot </span><span class="pun">/</span><span class="pln">media</span><span class="pun">/</span><span class="pln">xvda </span><span class="pun">/</span><span class="pln">bin</span><span class="pun">/</span><span class="pln">bash</span>
OK, 这样你就进入了分区的系统.
2. 依次修改 root 密码, 命令启动 ssh 服务.
<span class="pln">passwd</span>
输入新的 root 密码
<span class="str">/etc/</span><span class="pln">init</span><span class="pun">.</span><span class="pln">d</span><span class="pun">/</span><span class="pln">ssh start</span>
完成了, 这样你就可以用 scp 命令把数据迁移走了.