openwrt空间不足怎么办(openwrt剩余空间分配方法)

想要把OpenWrt进行功能扩展,比如打造成一台小型NAS服务器,或者网页服务器等等,还有一道坎需要迈过。因为路由器的CPU和内存与电脑甚至是手机相比,都要弱了不少。CPU计算慢一些还可以将就,毕竟咱也没有那么高的需求,但存储空间不够,就装不了插件了,再强大的扩展能力也只能望洋兴叹。

2137d703866c462683a90d7316d0afa5nooplazy-181

openwrt空间不足怎么办(openwrt剩余空间分配方法)

空间已经快满了,再满的话文件系统就会崩溃,全盘变成read-only状态,那时就只能重刷固件了

需求

在折腾其它扩展之前,我要在OpenWrt上外接一块500G的USB硬盘,实现以下需求:

  • 硬盘分出一个512M的分区挂载为swap交换分区,可以看作是Windows平台上的虚拟内存,达到扩容内存的作用。
  • 再分出一个5G的分区挂载为系统目录,扩容系统闪存。
  • 剩余空间留作备用,有需求的时候再建立新分区,挂载到系统目录的子目录就可以使用。
  • 安装需要的工具

    要用到

    cfdisk:傻瓜式分区工具

    e2fsprogs:格式化工具

    kmod-fs-ext4:ext4文件系统支持

    SSH连接到OpenWrt命令行,输入命令更新软件包源:

    opkg update

    然后安装工具,输入命令:

    opkg install cfdisk e2fsprogs kmod-fs-ext4

    如果有提示“…installed in root is up to date”,说明系统中已经安装了这个工具。

    对硬盘进行分区

    将USB硬盘连接到路由器。首先要对硬盘进行分区,命令行中输入:

    cfdisk

    进入cfdisk程序界面,简单介绍下cfdisk的界面:

    efcc41b57e1940b6a8eba9029a543eednooplazy-181

    双指放大查看

    swap分区我之前已经做好了,接下来在未分区的位置上创建一个5G的新分区。

    7dcae405182b439da118f8b2ddab4d1anooplazy-181

    双指放大查看

    b45f451673404f4fa57049b16927be50nooplazy-181

    双指放大查看

    31f4f0c6327247f191a8d641078b8db9nooplazy-181

    双指放大查看

    4fa4042a6d924363a9a4482fba804a0enooplazy-181

    双指放大查看

    76ec49406ee849298cf74aa380e79a03nooplazy-181

    双指放大查看

    e138fd34359b4f258fe8237bada261d0nooplazy-181

    双指放大查看

    eae459b60dce47a1968cb44c59cd6e48nooplazy-181

    双指放大查看

    分区建立好以后,还需要进行格式化,因为我之前已经格式化过了,这里不再演示。格式化命令如下:

    mkswap /dev/sda1           #把/dev/sda1建立为swap交换分区mkfs.ext4 /dev/sda2        #把/dev/sda2格式化为ext4文件系统

    分别执行上面两条命令,注意/dev/sda1是你的设备名称,就是前面让你记下来的。

    挂载swap交换分区

    进入OpenWrt后台,系统→挂载点→swap→点击添加。

    61c20ead3c5946c88ebe39072f3f4120nooplazy-181

    双指放大查看

    设备菜单处要选择之前mkswap的那个分区。

    755659651f6b4321a5dc7ee82702c90bnooplazy-181

    双指放大查看

    显示已挂载,但还要拉到页面最底部再点一次“保存并应用”。我之前设置不成功就是因为没点这里。

    验证swap是否建立成功,只需进入状态→概况,出现“虚拟内存”,表示已经成功了。

    17c515f16fcf439ebac1f7c793bbfe25nooplazy-181

    双指放大查看

    挂载系统根目录

    这里本来要分两步,首先是挂载overlayfs,再挂载根目录。

    overlayfs的主要作用有两个。一是压缩存储文件,在磁盘空间紧张的情况下尽量少占用空间;二是加了一层对系统底层的保护机制,在折腾不当的情况下可以“还原出厂设置”,避免变砖。

    但我们挂载硬盘后,空间是够用的,路由器上还刷过不死Breed,overlay对我来说没啥用了,反而还增加了一个压缩过程,降低文件效率。

    所以我决定直接挂载根目录,放弃overlayfs。

    让我们再回到“挂载点”的设置页面。

    在页面下方,swap上方,有个挂载点设置,点击添加。

    105a90226a11456a95eabcd069f3965dnooplazy-181

    双指放大查看

    注意,选择用UUID挂载识别设备会更准确,UUID下拉菜单,每个选项后面都列出了设备名称,可以帮你辨识设备。做完这几步后先不要点保存并应用。

    回到SSH,执行以下命令:

    mkdir -p /tmp/introot #在/tmp目录下创建introot文件夹 mkdir -p /tmp/extroot #在/tmp目录下创建extroot文件夹 mount –bind / /tmp/introot #将/根目录挂载到inroot mount /dev/sda1 /tmp/extroot #将硬盘挂载到extroot tar -C /tmp/introot -cvf – . | tar -C /tmp/extroot -xf – #把introot中的系统镜像打包并在硬盘中解包 umount /tmp/introot #取消挂载 umount /tmp/extroot #取消挂载

    命令中涉及到设备名称的(/dev/sda1)这些地方,要换成自己的设备名。

    这一步是把根目录复制镜像到准备挂载的设备中,挂载完成以后,OpenWrt就会从USB硬盘启动系统,并在闪存中保留备份,硬盘挂了的话,还可以从自身闪存启动系统。

    执行完命令,再回到后台页面,点击保存并应用。

    重启路由器。

    886616d39b544eacab63997946a7b70anooplazy-181

    双指放大查看

    可以看到已经扩容成功了。

    结语

    目前系统分区添加插件也不用担心空间不够了,添加了swap以后,虽然效率不高,但还是显著提高了路由器的稳定性。下一步计划挂载硬盘的剩余空间,作为内网共享使用并安装离线下载,初步实现NAS功能。

    以上教程由“WiFi之家网”整理收藏!

    原创文章,作者:路由器教程,如若转载,请注明出处:https://www.224m.com/216662.html

    (0)
    路由器教程路由器教程
    上一篇 2023年5月3日 10:54
    下一篇 2023年5月3日 11:08

    相关推荐