1. 首页

Openwrt软件包空间扩容_路由器

创作立场声明:本文所测商品为自费购入。坚持独立的评价观点是笔者创作的基本底线,绝不会因商品来源不同而有所偏颇,请各位放心。

写在前面:

软路由渐渐开始普及,大部分使用者还是下载安装别人编译好的Openwrt固件,使用别人编译固件的时候,经常发现软件包容量所剩无几,导致无法安装ipk文件以及更新已有软件组件,还有导致软件组件更新不全,软件功能缺失的情况(如下面两图),实际上我自己编译的时候也没注意这个问题,正好群友在扩容的时候遇到一些问题,我自己也实际操作了一下,发现软件包扩容的坑还是挺多的,于是在物理安装、EXSI和PVE安装情况下都尝试了一遍,把一些经验教训做法总结分享下。物理安装情况下遇到的问题比较少,重点说下基于EXSI和PVE的Openwrt软路由软件包扩容。

软件包空间不足软件包空间不足

无法更新无法更新

准备工作:

  • 操作之前尽量将在用虚拟机备份或者再新建虚拟机上操作,确定尝试无问题后再切回生产环境

  • 确保openwrt能连接互联网,且openwrt虚机关闭情况下能连接到宿主机

  • 准备SSH客户端,putty/Xshell/FinalShell/MobaXterm/SecureCRT/Terminus都可以,我自己习惯用FinalShell,本文以Finalshell作演示,SSH客户端的作用就是可以直接复制代码,不用再VNC里手动再敲一遍,物理机安装也不用连接键盘鼠标、显示器

1、查看磁盘情况

SSH连接至Openwrt(物理机可以连键盘鼠标、显示器原始操作),PVE和EXSI也可以登录宿主机在VNC里操作,以下均在SSH客户端里操作不再赘述。

输入fdisk -l查看目前磁盘及分区情况

fdisk -l

fdisk -lfdisk -l

其实这一步极其重要,这也是我反复失败后才注意到,在网上教程或者视频里这一步直接略过,导致后面分区和目录创建失败,openwrt也频繁报错

来看下,这个报错究竟是啥,简单来说就是openwrt记录的扇区和实际硬盘不符合,需要更新分区表

2、更新分区表、安装分区工具cfdisk

分别输入以下代码,并回车安装

opkg update

opkg install cfdisk

opkg install e2fsprogs

输入cfdisk回车进入分区工具

cfdisk的操作逻辑是这样,左右光标是操作底部 delete resize quit等功能,上下光标是选中磁盘或者分区

更新分区表更新分区表

输入yes回车更新输入yes回车更新

这里直接选中Write标签,回车确认更新分区表,输入完整yes更新分区表,下面开始扩容磁盘同步分区后,再次输入fdisk -l确认是否报错,无报错后开始扩容硬盘

分区表正确分区表正确

3、虚机环境下Openwrt硬盘扩容

EXSI

关闭虚机后,选中虚机右击-编辑设置-修改硬盘容量,注意后面的数量单位,保存后重启虚机

编辑虚机设置编辑虚机设置

选中硬盘选中硬盘

修改容量修改容量

PVE

选中虚机-硬件-选中硬盘-调整磁盘大小,调整至想要的数值重启生效

pve调整硬盘容量pve调整硬盘容量

4、新增磁盘空间分区、挂载

回到SSH客户端,先别急着进入cfdisk分区,先查看分区表,再次输入fdisk -l查看,新增的空间并未写进分区表,意味着即使用分区工具划空间,openwrt也无法使用和指向新空间,简单来说,就是openwrt系统能看到这块新分区,但是没有进行登记。

扩容后更新分区表扩容后更新分区表

再次进入cfdisk,新空间已经识别5.8G(绿色部分),先更新分区表。不要进行任何操作,继续write更新,退出后再输入fdisk -l查看分区表,确定无报错后,再进入cfdisk分区

新空间识别新空间识别

cfdisk分区

选择高亮的绿色free space一栏,选中new新建分区

新建分区新建分区

最大创建值5.8G最大创建值5.8G

这里设置为2G为示例,手动输入2G,回车创建

创建新分区创建新分区

输入yes确认输入yes确认

保存分区表保存分区表

创建完毕,保存分区表后退出cfdisk,在fdisk里查看分区表是否正确

新分区出现,且无报错新分区出现,且无报错

格式化、挂载、使用新分区

回到SSH终端root用户下,再次分别输入3行命令回车

mkfs.ext4 /dev/sda3

mount /dev/sda3 /mnt/sda3

cp -r /overlay/* /mnt/sda3

操作新分区操作新分区

出现如上界面,无报错的话,说明无问题,进入openwrt开始挂载

5、挂载新分区sda3

进入openwrt主界面-系统-挂载点,更新下配置

挂载点挂载点

更新配置更新配置

页面刷新后,出现新加入的sda3分区

出现sda3分区出现sda3分区

点击修改,设置这个挂载点

设置为外部overlay使用设置为外部overlay使用

启用并设置为overlay使用,保存后重启软路由,进入软件包查看,容量符合,说明成功

软件包空间扩大软件包空间扩大

再次更新组建,全部成功,说明软件包扩容彻底完成

再次更新再次更新

更新成功更新成功

总结:

  • 操作看似繁琐,一遍一遍进入fdisk、cfdisk,但是实际操作就秉承一个思路,动硬盘分区前先看分区表是否报错,扩容前查看、扩容后查看、分区前查看,如果分区表无报错才进入下一步操作

  • 如果扩容前未查看分区表,直接扩容,再更新分区表或者直接从不更新分区表,后续还会报错么?经过我反复尝试:1. EXSI下基本会报错,显示mount /dev/sda3 /mnt/sda3和cp -r /overlay/* /mnt/sda3无法找到sda3目录2. 如果PVE安装IMG镜像时候使用PE安装或者import命令转换固件,在系统启动前调整磁盘大小则不会,如果是当时图省事import镜像未调整磁盘空间直接启动,二次调整有概率报错3. 物理机因为写入IMG镜像时候已经完整遍历整个硬盘,所以基本不会报错,基本可以省略fdisk命令

原创文章,作者:夜风博客,如若转载,请注明出处:https://www.homedt.net/37307.html