有时,我们修改系统的内核来优化它们、升级它们或修补它们 ,但是对于Linux操作系统,有时候会出现内核恐慌,即内核错误或者说是崩溃了,导致我们连不上22端口,无法获取我们需要的丢失了的文件 — 相当于windows系统的“蓝屏”。所以 , 作为使用Linux系统的我们,需要知道如何从内核崩溃的系统中有效地获取被丢失的文件。

背景

事件

站主在前期是个爱折腾的小鬼,准备给我的网站加上live2d看板娘 ,但是由于操作失误的原因导致了系统内核的崩溃,于是又开始了新的折腾–从崩溃的内核中获取丢失文件(很幸运的是折腾成功了)

情况

咱的服务器:(说真的,4核8G的服务器说崩就崩,弄得我很懵,这里是我当时备份的快照恢复的)

然后扫描了一下22端口

换了几个ip后(用快照恢复)情况还是这样,于是访问vultr的VNC

( 您这是开玩笑呢?我没看见过这场面!!!)

解决方法

思路

思路就是使用SystemRescueCd的ISO,将原本服务器的文件搭载到一个新的VPS磁盘上,利用这个磁盘向另一个服务器发送文件

操作

查找错误

从 Vultr 控制面板中,选择 VPS 并点击 VNC 控制台。尝试启动服务器,将能够看到错误,注意到你的错误,以便你能够修复它

安装ISO

本次提供两种方法,第二种方法不是特别好用,还需要自己折腾一下

使用vultr ISO library 中的systemrescuecd

博主原本是不知道vu也有这个ISO的,傻乎乎整了半天的自定义,创个工单一问客服才告诉我

事实证明的确有,不得不说vultr做的还是蛮暖心的

  • 进入我们的服务器控制面板,点击settings设置,选择Custom ISO
  • 使用vultr library中的iso,点击第二个下拉栏,在里面找到systemrescuecd,点击attach and reboot

自定义ISO

  • 进入vultr登录面板,选择上方的ISOS
  • 点击右上角蓝框,ADD ISO添加
  • 输入你找到的ISO URL链接,点击upload

其中ISO URL链接可以在systemrescuecd的官网找到:传送门

点击里面的链接,复制下载链接就可以使用了

然而。。。。。

经站主测试结果如下

创个工单问客服,回答如下:

错误是指您提供的链接不是 ISO 位置的绝对路径。

我们的 ISO 库中有系统救援CD,请选中该选项。

好吧,还是使用第一种方法更优。。。。

(要是你成功了记得告诉站主一声哦~,添加了就先在服务器控制面饭安装到你的服务器上)

安装

使用了我们的ISO之后,直接安装

  • 进入VNC
  • 直接enter开始安装
  • 成功后结果如下

拯救内核

  • 现在,你有权访问 shell 提示符,创建一个目录来装载 VPS 磁盘 (遗憾vu只能手打)
mkdir /rescuedisk
  • 安装磁盘(注意vda1 不是L是1)
mount /dev/vda1 /rescuedisk

现在,你可以访问你的文件。可以选择是将文件复制到远程服务器,还是研究之前注意到的内核崩溃的消息。

内核死机问题的一个示例是缺少的文件或任何丢失的系统文件 , 可以用备份替换丢失的文件 ,这里不再多说,只介绍传递文件,自行研究先给出一个示例:

(修复完问题后卸载ISO,重启reboot

cd /rescuedisk
cp etc/shadow- etc/shadow

传送文件到远程服务器

由于站主是拿vps来建站的,所以这里就说说传送建站的文件:

cd /rescuedisk/home/wwroot
scp -r www.你的域名.com root@你要传输到的服务器对象的ip:传输地址

scp命令是传输用的,具体用法:传送门

  • 然后根据提示一步步输入yes;另一个服务器密码(建议先改好,改密码命令passwd

传输成功:

打开另一个服务器,发现有此文件夹:

另外,重新搭建服务器不只需要这么简单,还要传输数据库的信息,具体方法是一样的啦~

若你做完了,恭喜你哦~(●’◡’●)

说点什么
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...