OpenWrt 存储空间扩容的两种方案

364次阅读
没有评论

共计 4463 个字符,预计需要花费 12 分钟才能阅读完成。

说明:当我们通过群晖 VMM 虚拟机安装 Open­Wrt 时,默认会分配一个 10GB 的存储空间,而实际情况中 Open­Wrt 存在大量的剩余空间是未被使用的,典型的铺张浪费有木有?Open­Wrt 实际使用容量完全取决于 Open­Wrt 编译时所设置的固件大小。若我们想要充分折腾软路由,则需要对 Open­Wrt 进行扩容。

对于存储空间扩容的思路主要有两种:利用剩余的存储空间或是添加一块新的磁盘进行扩容。本文将以两个小示例分别介绍这两种扩容方案具体的实现步骤,以供大家举一反三。如果你也有扩容的需求,可部分参考本文,其实逻辑上相通。

OpenWrt 扩容方案

注意⚠️:本文教程基于运行的群晖VMM虚拟机,x86_64 平台 + EXT4 文件系统的 Open­Wrt;对于squashfs 文件系统及硬路由的扩容方案可能并不适用。

1. 前期准备

1.1 如果你怕操作出错,可进入 虚拟机 找到正在运行的 Open­Wrt 虚拟机,点击 操作 – 拍快照 方便出错时可以快速恢复。

OpenWrt 存储空间扩容的两种方案
1.2 通过 Xshell、Putty 等 SSH 终端工具登录 Open­Wrt ,安装磁盘分区工具:

opkg update
opkg install cfdisk fdisk e2fsprogs

命令行中 cfdisk 、fdisk 均为磁盘分区工具,e2fsprogs 包含了 mkfs 命令,用于格式化分区。

2. 方案一:利用剩余空间扩容

2.1 创建新分区

SSH 终端运行 cfdisk 命令进入磁盘分区界面,通过键盘上下键切换到 Free space (剩余空间),左右键切换至 NEW (新增分区),然后按下回车键。

OpenWrt 存储空间扩容的两种方案
分区类型设置为 Primary (主分区),按下回车键。

OpenWrt 存储空间扩容的两种方案
左右键切换 Write 按下回车键,写入新分区。

OpenWrt 存储空间扩容的两种方案
输入 yes 按下回车键,确认写入新分区。

OpenWrt 存储空间扩容的两种方案
切换 Quit ,按下回车键退出。运行 fdisk -l 命令,查看是否成功创建新分区。

OpenWrt 存储空间扩容的两种方案

2.2 格式化新分区

SSH 终端运行下面的命令,将新分区的文件系统格式化为 ext4

mkfs.ext4 /dev/sda3

2.3 挂载新分区

进入 Open­Wrt 管理后台,依次点击 系统 – 挂载点 找到并点击全局设置中的 生成配置 。

OpenWrt 存储空间扩容的两种方案
在 挂载点 找到创建的新分区,点击 修改 重新调整挂载项目的设置。

OpenWrt 存储空间扩容的两种方案
勾选 启用此挂载点挂载点 选择为 作为根文件系统使用 ,完整复制根目录准备中的所有命令行后,点击 保存并应用

OpenWrt 存储空间扩容的两种方案

⚠️ 上面复制得到的命令行不要直接运行!!!不要直接运行!!!否则报错。

需要手动修改命令行中 mount /dev/sda1 /tmp/extroot 为 cfdisk 创建的新分区盘符,例如这里应修改为 mount /dev/sda3 /tmp/extroot,然后进入 SSH 终端,运行修改后的完整命令行,如下:

mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sdb1 /tmp/extroot # 修改后
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot

回车键到底,直到跑完所有命令行。然后运行 reboot 重启 Open­Wrt ~

OpenWrt 存储空间扩容的两种方案
重新进入 SSH 终端运行 df -h ,如上图表示扩容成功~

OpenWrt 存储空间扩容的两种方案

3. 方案二:通过新增磁盘扩容

3.1 添加新磁盘

打开群晖 VMM 找到正在运行的 Open­Wrt 虚拟机,选择 关机 – 强制停止

OpenWrt 存储空间扩容的两种方案
在 虚拟机 中找到已经停止运行的 Open­Wrt 虚拟机,依次选择 操作 – 编辑,找到 存储 设置项,自定义磁盘空间大小(例如 10GB),点击 + 号,新增一块磁盘,例如 虚拟盘 2 (建议勾选空间回收),点击 确定 保存设置。

OpenWrt 存储空间扩容的两种方案
回到 虚拟机 ,点击已停止运行的 Open­Wrt 虚拟机,执行 开机 操作。

OpenWrt 存储空间扩容的两种方案

3.2 磁盘分区

SSH 终端连接 Open­Wrt,运行下面命令查看磁盘信息

fdisk -l

此时,会显示一个未被使用的磁盘 sdb 即新磁盘,,屏幕打印信息如下:

root@OpenWrt:~# fdisk -l
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: QEMU HARDDISK
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: dos
Disk identifier: 0x711b2af7

Device     Boot Start     End Sectors  Size Id Type
/dev/sda1  *      512   66047   65536   32M 83 Linux
/dev/sda2       66560 1704959 1638400  800M 83 Linux


Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

若要使用这块新磁盘,就需要对新磁盘进行分区,运行以下命令:

fdisk /dev/sdb

创建一个主分区,分区操作步骤如下:

root@OpenWrt:~# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.37).
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 0x1d291a31.

Command (m for help): n (输入 n 创建分区)
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p (输入 p 创建主分区)
Partition number (1-4, default 1): (回车键,默认创建一个分区)
First sector (2048-20971519, default 2048): (回车键)
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-20971519, default 20971519):

Created a new partition 1 of type 'Linux' and of size 10 GiB.

Command (m for help): w (输入 w 写入分区表)
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

查看磁盘信息:

fdisk -l

屏幕打印信息如下:

root@OpenWrt:~# fdisk -l
Disk /dev/sda: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: QEMU HARDDISK
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: dos
Disk identifier: 0x711b2af7

Device     Boot Start     End Sectors  Size Id Type
/dev/sda1  *      512   66047   65536   32M 83 Linux
/dev/sda2       66560 1704959 1638400  800M 83 Linux


Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: QEMU HARDDISK
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: dos
Disk identifier: 0x1d291a31

Device     Boot Start      End  Sectors Size Id Type
/dev/sdb1        2048 20971519 20969472  10G 83 Linux

其中 /dev/sdb1 即新创建的新分区分配的盘符

3.3 格式化

将分区格式化 ext4 文件系统:

mkfs.ext4 /dev/sdb1

3.4 挂载分区

进入 Open­Wrt 管理后台,依次点击 系统 – 挂载点 找到并点击全局设置中的 生成配置 。

OpenWrt 存储空间扩容的两种方案
在 挂载点 找到创建的新分区,点击 修改 重新调整挂载项目的设置。

OpenWrt 存储空间扩容的两种方案
勾选 启用此挂载点挂载点 选择为 作为根文件系统使用 ,完整复制根目录准备中的所有命令行后,点击 保存并应用

OpenWrt 存储空间扩容的两种方案

⚠️ 上面复制得到的命令行不要直接运行!!!不要直接运行!!!否则报错。

需要手动修改命令行中 mount /dev/sda1 /tmp/extroot 为 fdisk 创建的新分区盘符,例如这里应修改为 mount /dev/sdb1 /tmp/extroot,然后进入 SSH 终端,运行修改后的完整命令行,如下:

mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sdb1 /tmp/extroot # 修改后
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot

回车键到底,直到跑完所有命令行。然后运行 reboot 重启 Open­Wrt ~

OpenWrt 存储空间扩容的两种方案

4. 写在最后

以上就是喵斯基部落提供的关于 Open­Wrt 存储空间扩容的两个简单的示例,如果你使用的 Open­Wrt 是 EXT4 文件系统可参考本文示例,但需要留意盘符可能有所不同,切勿完全照搬。如果使用的是 squashfs 文件系统那么挂载点需要设置为 /overlay 作为 over­lay 分区使用。

转载来源:https://www.moewah.com/archives/4719.html 作者:喵斯基部落

正文完
 0
评论(没有评论)

空瓶子部落

文章搜索
推荐阅读
如何用四川话委婉的表达东西难吃

如何用四川话委婉的表达东西难吃

——今天的编辑 余飞 四川人评价一道菜好吃,永远的标准答案就是,“留到下面”。 四川人评价一道菜难吃,各有各的...
动力吸振器与阻尼简介

动力吸振器与阻尼简介

振动是物体沿直线或曲线并经过平衡位置所作的往复周期运动。本文主要对减振和动力吸振器以及阻尼的相关内容进行简单介...
一页纸,化繁为简

一页纸,化繁为简

不知道你所在的公司使用什么样的方式汇报工作,还在使用PPT吗? 现在不同公司的汇报方式精彩纷呈,有的公司还是沿...
藏在零件里的安全密码:特殊特性如何守住汽车制造的生命线

藏在零件里的安全密码:特殊特性如何守住汽车制造的生命线

在现代汽车制造业中,一个零件的微小偏差可能引发重大安全事故。如何锁定这些关键控制点?答案就藏在 “特殊特性”(...
执行是责任的担当,而非任务的转嫁

执行是责任的担当,而非任务的转嫁

最近在和不同企业的管理者交流时,发现一个很奇怪的现象:很多团队明明人手充足,但总有人抱怨“任务太多做不完”;明...
最新文章
Free TV:全球免费电视频道 M3U 播放列表,狂揽数万 Star

Free TV:全球免费电视频道 M3U 播放列表,狂揽数万 Star

https://github.com/Free-TV/IPTV 项目简介 Free TV 是一个精心维护的开源...
群晖 Let’s Encrypt 泛域名证书自动更新

群晖 Let’s Encrypt 泛域名证书自动更新

目前acme协议版本更新,开始支持泛域名(wildcard),也就是说,可以申请一个类似*.domain.co...
可以卸载TV Box 了,这款支持「绅士模式」的影视神器你值得拥有

可以卸载TV Box 了,这款支持「绅士模式」的影视神器你值得拥有

还在为找优秀片源难、广告多、平台会员太贵而烦恼?今天给大家挖到一款真正的影视宝藏工具——小猫影视! 作为开源免...
【收藏】一次性解决TV点播/直播自由

【收藏】一次性解决TV点播/直播自由

很多时候,资源就在面前,但是我们视而不见,因为长久的安逸,已经让人失去动手的兴趣。但是每次我需要挨个切换APP...
OpenWrt 存储空间扩容的两种方案

OpenWrt 存储空间扩容的两种方案

说明:当我们通过群晖 VMM 虚拟机安装 Open­Wrt 时,默认会分配一个 10GB 的存储空间,而实际情...
热门文章
提高过程能力指数(CP/CPK)的途径

提高过程能力指数(CP/CPK)的途径

编者按:过程能力指数(CP/CPK)想必各位质量人都耳熟能详、运用自如,质量工程师之家前期也共享过数篇关于过程...
SPC控制图的八种模式分析

SPC控制图的八种模式分析

SPC控制图有八种模式,即八种判断异常的检验准则,每一种检验准则代表一种异常现象,应用SPC控制图进行过程评估...
测量高手放大招:圆跳动测量技巧总结

测量高手放大招:圆跳动测量技巧总结

01. 前言 在五金机加工厂实际的测量工作中,经常碰到要求测量两个要素的圆跳动问题, 利用不同的测量辅件及夹具...
过程能力分析(CP&cpk)

过程能力分析(CP&cpk)

引入过程能力分析的目的? 在我们现有的管理过程中,我们经常会遇到有些具体指标总是不尽人意,存在许多需要改进的地...
新能源汽车 “两会”精神宣贯会

新能源汽车 “两会”精神宣贯会

此次和大家分享新能源汽车相关政策: [embeddoc url=”https://www.ctro...
最新评论
多乐士 多乐士 通过摸索发现ssh拉取会报错,直接网页访问下载会报404错误,不知道原因;但是可以通过群晖CM注册表访问下载,其方法如下: Container Manager-注册表-设置-新增-注册表名称随便写,注册表URL填你的加速地址,勾选信任的SSL自我签署证书,登录信息不填-应用-使用你的地址,这是注册表会显示了,在搜索栏中输入映像名称,搜索结果在每一页的最后一个,你需要划到最后一个进行下载,实测可正常下载安装。 以上供网友参考。
多乐士 多乐士 还有一个比较简单的方法,只是需要一些外部工具。 1、讲损毁硬盘取出,装入外部移动硬盘 2、打开Diskgenius,定位到硬盘 3、格式化系统分区 4、重新插入硬盘 5、存储池->修复存储池即可
多乐士 多乐士 写的不错的文章
辞了老衲 辞了老衲 这个确实有帮助。
渋驀 渋驀 当然任何时候都可以用curl命令和crontab来实现动态更新DDNS的ip地址: 1、安装crontab之后为root用户创建文件/var/spool/cron/root 2、创建并配置ddnsupdate.sh,放到/usr/bin/文件下,文件内容(以he.net为例): Autodetect my IPv4/IPv6 address: IPV4:curl -4 "http://dyn.example.com:password@dyn.dns.he.net/nic/update?hostname=dyn.example.com" IPV6:curl -6 "http://dyn.example.com:password@dyn.dns.he.net/nic/update?hostname=dyn.example.com" 3、添加执行权限chomod +x /usr/bin/ddnsupdate.sh 4、编辑root用户的crontab:*/10 * * * * /usr/binddnsupdate.sh,每10分钟执行一次。好了,可以享受你的DDNS了
21410 21410 请问下载链接在那里?
madkylin madkylin 不错,不错,谢谢分享了,好东西啊 :lol:
feilung feilung 求方法
zengsuyi zengsuyi 应该挺不错的
zise zise 看看是怎么操作的。。 :oops: