惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
Apple Machine Learning Research
Apple Machine Learning Research
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
M
MIT News - Artificial intelligence
腾讯CDC
B
Blog RSS Feed
H
Help Net Security
J
Java Code Geeks
有赞技术团队
有赞技术团队
Y
Y Combinator Blog
博客园_首页
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
博客园 - Franky
B
Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 叶小钗
Martin Fowler
Martin Fowler

轶哥博客

blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog blog
blog
2018-11-24 · via 轶哥博客

利用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

...

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