轶哥

📚 Having fun with AI Agent. Always learning.

    记一次服务器启动修复 - /etc/fstab错误至系统无法启动
    •   更新:2018-11-24 23:36:59
    •   首发:2018-11-24 23:35:41
    •   互联网
    •   15188

    利用RK3399作为ARM微型服务器是非常有趣的事情。然而总有一些意外来得令人措手不及。

    事情是这样的。我在服务器中挂载了三块SSD硬盘,其中两块是放于USB硬盘盒,通过Type-C和USB3.0接口连接。

    开机自动挂载

    我们先看一下开机自动挂载方案。

    查询分区的Block ID:

    blkid /dev/sda1
    /dev/sda1: UUID="7f50f85e-783c-4d94-be37-d2c662504e58" TYPE="ext4"
    

    然后把 Block ID 添加到/etc/fstab文件中,这是我的fstab文件:

    UUID=a848d601-91ac-4b5c-8ce3-ffef674f5dd5 /nvme ext4 defaults 0 0
    UUID=88eb8df2-1a8f-4f38-acc9-566deb1c8f40 /tf ext4 defaults 0 0
    UUID=7f50f85e-783c-4d94-be37-d2c662504e58 /ssd0 ext4 defaults 0 0
    UUID=e66307fc-2c33-406b-ae60-b27e2344d02a /ssd1 ext4 defaults 0 0
    

    事情是这样开始的

    我在检查硬盘状态的时候,发现其中一块硬盘没有进行4k对齐。然后我对该硬盘进行了重新分区。结果服务器就卡死了!?

    当我重启服务器后,一直连不上SSH。

    插入HDMI,显示器一片黑暗!

    如果是X86架构的服务器,挂载/etc/fstab失败后会进入高级模式,可以通过接入显示器解决,但是ARM架构(或者说我这块板子)的系统并没有提供这样的后悔药。

    x86系统可以进入光盘Linux,然后挂载硬盘改写/etc/fstab文件。但是我的系统烧写在eMMC,即便能在SD卡刷机,通过SD卡引导系统并挂载eMMC硬盘也是非常有挑战的事情。

    重装服务器是非常耗时的,需要进行非常多的软件配置。非迫不得已,我不会重新刷机。

    事情是这样解决的

    当我一筹莫展时,突然想到我的剪贴板中存有分区的Block ID数据。数据是UUID格式。

    我将近期剪贴板中所有的UUID找到:

    e66307fc-2c33-406b-ae60-b27e2344d02a
    cfcaccd9-6ca7-406c-821c-affb331bda6d
    9e669a85-35ce-487d-8cd9-09d66ddebe31
    7f50f85e-783c-4d94-be37-d2c662504e58
    

    还好,只有四个。

    我将SSD移动硬盘接入到树莓派,通过树莓派重新进行分区。

    将UUID强行写入到分区:

    tune2fs -U 7f50f85e-783c-4d94-be37-d2c662504e58 /dev/sdb1
    

    看来,我的运气不佳,我试了前三个都没能启动服务器。

    当我万念俱灰之时,淡定写入最后一个UUID。

    ping 192.168.31.63
    PING 192.168.31.63 (192.168.31.63): 56 data bytes
    
    ...
    
    ping: sendto: Host is down
    Request timeout for icmp_seq 117
    Request timeout for icmp_seq 118
    64 bytes from 192.168.31.63: icmp_seq=119 ttl=64 time=305.276 ms
    64 bytes from 192.168.31.63: icmp_seq=120 ttl=64 time=147.118 ms
    64 bytes from 192.168.31.63: icmp_seq=121 ttl=64 time=67.426 ms
    
    ...
    

    真是不幸中的万幸,服务器正常启动!

    打赏
    交流区

    暂无内容

    尚未登陆
    发布
      上一篇 (解决 Rancher 2 卸载后无法重新运行的问题)
    下一篇 (配置自动续期的免费通配符SSL证书)  

    评论回复提醒