openwrt 磁盘扩容
openwrt 磁盘扩容
为什么要扩容?
默认情况下,安装完 openwrt 之后,可用的磁盘空间少的可怜(编译的 openwrt 镜像有多大,可用空间就有多大)。
我们可以通过 PVE 直接给 openwrt 的磁盘进行扩容,并在 openwrt 系统中初始化这部分 free 的磁盘空间。
准备所需的软件
我们需要准备 cfdisk,如果没有 cfdisk 可以使用 opkg 安装。
1
2
opkg update
opkg install cfdisk
如果在 install 的时候出了问题,那么一般情况都是镜像源导致的,这个时候可以考虑更新镜像源(下面是 x86 的例子)
1
vim /etc/opkg/distfeeds.conf
1
2
3
4
5
6
src/gz openwrt_core https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/targets/x86/64/packages
src/gz openwrt_base https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/packages/x86_64/base
src/gz openwrt_luci https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/packages/x86_64/luci
src/gz openwrt_packages https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/packages/x86_64/packages
src/gz openwrt_routing https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/packages/x86_64/routing
src/gz openwrt_telephony https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.0/packages/x86_64/telephony
扩容
创建磁盘分区
安装完毕 cfdisk 之后,直接执行 cfdisk 命令,移动到 Free space 并选中 New 进行创建。
1
cfdisk
按照提示从 free space 创建新的分区,依次会提示分区的 Size 大小配置,分区设置为 Primary 类型,最后选中 Write 写入分区即可。
写入完成之后重新观察磁盘大小,发现出现 /dev/sda3
这个新的分区,大小是 64GB
执行下面的命令去格式化新生成的分区
1
2
3
4
5
6
7
8
9
10
11
12
13
$ mkfs.ext4 /dev/sda3
mke2fs 1.47.0 (5-Feb-2023)
Discarding device blocks: done
Creating filesystem with 16777216 4k blocks and 4202496 inodes
Filesystem UUID: 6369e074-a949-4978-96f3-6dcbbc00d3a8
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (131072 blocks): done
Writing superblocks and filesystem accounting information: done
设置磁盘挂载点
来到 openwrt 选中生成配置
为了确保配置已经生成了,可以考虑手动刷新页面,然后找到挂载点并编辑
选择启用挂载点,并将挂载点设置为“作为根文件系统使用”,然后页面会出现下面相关的命令,这些命令需要手动的在控制台执行,需要注意的是这些命令可能是需要根据实际情况进行调整的,比如他这里写的是 sda1,但是我们需要使用的是 sda3。
当前这个页面可以点击保存,然后按照如下方式修改命令并在 terminal 执行,执行完毕后重启 openwrt。
1
2
3
4
5
6
7
mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sda3 /tmp/extroot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot
本文由作者按照 CC BY 4.0 进行授权