V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
sadfQED2
V2EX  ›  OpenWrt

关于存储空间的奇怪逻辑

  •  
  •   sadfQED2 · 2022-09-19 11:48:43 +08:00 · 499 次点击
    这是一个创建于 797 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想把 AdGuardHome 部署到路由器上面,于是按照官方文档操作,下载二进制文件,scp 到路由器,然后启动,一切正常。

    结果某天,路由器重启了一下,路由器上面 AdGuardHome 、科学上网等,所有服务都不正常了,登陆进路由器排查了半天,最后发现整个磁盘全部变成 read-only 状态了,一脸懵逼,那我重新挂载呗,结果发现不能挂载。网上查资料后才知道,磁盘空间过小就会自动把整个磁盘挂载为 read-only ,而且似乎还没解决办法,只能重刷。

    又搞了半天,把固件重刷了。这次装 AdGuardHome 前研究了一下其他插件。发现 ssrplus 是把文件放在 /var 路径的,于是我也照做,然鹅失败了,仔细一看,发现 /var 其实是链接到 /tmp 路径的。我淦,好家伙,居然是放到 /tmp 路径的(这里我还纳闷,这特么重启了咋办,但是心想别人重启都没问题,我也试试)。我又把文件放到 tmp 路径,再次部署完毕,尝试重启。我淦,我的文件没了,但是 ssrplus 居然是正常的,又进路由器一通排查,我淦,/var 路径是 /tmp 的链接,而 /tmp 里面的二进制文件又做了软链接,被链接到了 /usr/bin 里面,这特喵的链接了半天,好家伙回到原点。

    我现在十分纳闷:

    1 、为什么存储空间低,要把整个磁盘变成 read-only ,还不能恢复,这特喵的不是坑爹么,另外,空间多低会触发,也没找到相关说明

    2 、为什么 openwrt 里面的文件都搞一大堆软链接,跳来跳去,结果最后回到原点,这特喵的逗我呢

    3 、我 34MB 的二进制文件,为啥能传到 18MB 空间剩余的路径下面,而且最终空间还剩 3MB 。ls -alh看文件空间占用确实是 34MB 。但是df -h看,根路径总空间确实是 18mb ,且剩余 3mb 。(难道这还能压缩?那这读写性能岂不很差?)

    1 条回复    2022-10-16 15:03:51 +08:00
    Penguium
        1
    Penguium  
       2022-10-16 15:03:51 +08:00 via Android
    前一阵子我的 openwrt 也是变只读了 个人认为可能是那天停电导致的 我的固件是自己编译的分区大小设的是 64+2000 的空间 不可能不够
    我按网上的教程检查了一下硬盘的错误在修复然后重启后就好了
    e2fsck -y /dev/sda2
    那天就是用的这个命令后面是分区的路径 改成你自己的再用

    也许磁盘变只读是一种自我保护策略?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   907 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:28 · PVG 05:28 · LAX 13:28 · JFK 16:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.