OpenWrt 扩容磁盘方案及实操
开篇
我们安装 OpenWrt 之后默认的存储空间都很小,如果你是通过下载其他大佬的固件,一般磁盘大小在编译固件的时候大小就固定死了,如果要跑 docker 的话会连个镜像都拉取不下来,若我们想要充分折腾软路由,则需要对 OpenWrt 进行扩容,然后就可以愉快的玩耍了 。
说明
本教程扩容方案本人仅在 vmware 虚拟机里面做测试通过,理论适用于物理机进行安装,参考文章请自行斟酌。
步骤
- 关闭 OpenWrt,建议给虚拟机拍个快照,防止搞炸了重装浪费时间,然后新增一块磁盘,我这里直接新增一个 5G 大小的硬盘做测试,然后打开 OpenWrt 电源。
安装必要工具。
opkg update # 更新 opkg install fdisk # 安装工具,有的话就不用执行了
执行命令
fdisk -l
,确认自己的磁盘编号root@OpenWrt:~# fdisk -l Disk /dev/loop0: 214.06 MiB, 224460800 bytes, 438400 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes GPT PMBR size mismatch (1065503 != 1065534) will be corrected by write. The backup GPT table is corrupt, but the primary appears OK, so that will be used. The backup GPT table is not on the end of the device. Disk /dev/sda: 520.28 MiB, 545553920 bytes, 1065535 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 8E2DA755-0E50-0BD5-63C5-B1DC8E810D00 Device Start End Sectors Size Type /dev/sda1 512 41471 40960 20M Linux filesystem /dev/sda2 41472 1065471 1024000 500M Linux filesystem /dev/sda128 34 511 478 239K BIOS boot Partition table entries are not in disk order. Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
这里可以看到编号
/dev/sdb
是我刚刚添加的5G硬盘使用
fdisk /dev/sdb
给新磁盘分区,全部使用默认值就可以了。最后输入w保存分区表并退出 ,按照提示操作即可。root@OpenWrt:~# fdisk /dev/sdb Welcome to fdisk (util-linux 2.38). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0xbd5366e9. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-10485759, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-10485759, default 10485759): Created a new partition 1 of type 'Linux' and of size 5 GiB. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.
使用
mkfs.ext4 /dev/sdb
文件系统格式化分区刚才的分区。root@OpenWrt:~# mkfs.ext4 /dev/sdb mke2fs 1.46.5 (30-Dec-2021) Found a dos partition table in /dev/sdb Proceed anyway? (y,N) y Creating filesystem with 1310720 4k blocks and 327680 inodes Filesystem UUID: 752b4263-c24e-46cb-8e35-7e991898e6f6 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
挂载分区后的磁盘,拷贝 /overlay 目录下原来的文件到此目录下。
root@OpenWrt:~# mkdir -p /mnt/sdb # 创建挂载目录 root@OpenWrt:~# mount /dev/sdb /mnt/sdb ## 挂载 root@OpenWrt:~# ls /mnt/sdb # 查看是否挂载成功,只要有lost+found文件就对了 lost+found root@OpenWrt:~# cp -r /overlay/* /mnt/sdb ## 拷贝文件 root@OpenWrt:/mnt/sdb# ls /mnt/sdb ## 有如下文件就对了 etc lost+found upper work
接下来就是进到OpenWrt系统后台,找到挂载点-先点击全局设置里面的生成配置按钮,然后拉到底部挂载点,可以看到我们刚才挂载的磁盘,然后点击修改。
扩展
当然有人会说如果我给虚拟磁盘分配了10G,可不可以使用剩余空间扩容,当然也是OK的,只是在格式化的磁盘的时候选择你对应剩余空间的编号即可,如果你需要此方案,你可以看下文章末尾的参考链接里面的一些文章。
参考文章
商业转载请联系作者获得授权,非商业转载请注明本文出处及文章链接