RAX3000M外接U盘扩容软件包磁盘空间

发布于 2025年11月11日

1、检查网络

保持U盘原文件系统格式( FAT32 格式)将U盘插入路由器USB口,插入后检查一下路由器无线供网是否正常,正常的话就继续下一步。因为有一些固件功率不够,插上U盘后,带不动,这个时候可以找一个高功率的固件刷入。

2、SSH连接路由器

使用SSH客户端连接路由器,查看u盘设备是否正常读取

opkg update
opkg install fdisk blkid dosfstools
fdisk -l
#根据U盘的存储空间大小确定是否读取到,我的U盘是64G的。读取到57GB 设备为/dev/sda

3、U盘分区

如果U盘是刚买来,没有使用过,插入到路由器后,会自动读取并已经有一个分区/dev/sda1 .并且已经自动挂载到/mnt/sda1

这里我先将所有分区删除,重新创建分区。

fdisk /dev/sda
#删除分区
d
#查看是否还有分区,直到所有分区都删除
p
#新建分区
n
#选择主分区
p
#回车2次 
#设置分区大小,这个分区我主要用来安装软件,所以只分区6G即可
+6G
#再回车一次,最后剩下的空间,后面用来安装docker时自动分区作为docker的数据空间
#保存分区设置
w
#这里我只分一个主分区

4、格式化主分区文件系统

# 查看当前磁盘分区情况
fdisk -l /dev/sda

# 将主分区格式化为 ext4 文件系统(假设主分区为 /dev/sda1)
umount  /dev/sda1
mkfs.ext4 -F /dev/sda1
#Filesystem UUID: cfa0ccf7-00cc-4505-a4f4-81a0627dd975

# 或者格式化为其他文件系统,如:
# mkfs.xfs /dev/sda1    # XFS 文件系统
# mkfs.btrfs /dev/sda1  # Btrfs 文件系统

5、配置开机自动挂载

# 创建挂载点目录
mkdir -p /mnt/sda1

# 手动挂载测试
mount /dev/sda1 /mnt/sda1

# 编辑 fstab 文件配置开机自动挂载
vi /etc/fstab

# 在 fstab 文件中添加以下行:
/dev/sda1 /mnt/sda1 ext4 defaults 0 0

6、验证配置

# 重新挂载所有在 fstab 中定义的文件系统
mount -a

# 查看挂载结果
df -h

# 检查 fstab 语法是否正确
umount /mnt/sda1
mount /mnt/sda1

7、作为外部/overlay使用

拷贝 /overlay 目录下原来的文件到/mnt/sda1目录下。

  ## 拷贝文件
cp -r /overlay/* /mnt/sda1
ll  /mnt/sda1

接下来就是进到OpenWrt系统后台,找到系统-挂载点-先点击全局设置里面的生成配置按钮,然后拉到底部挂载点,可以看到我们刚才挂载的磁盘,然后点击修改。

点击修改之后进入到如下界面,确保启用此挂载点是勾选状态,挂载点选择 作为外部overlay使用,保存&应用,

再次修改/etc/fstab文件,确保U盘开机后自动挂载到 /overlay

为了更进一步确保 开机自动挂载U盘成功。在本地启动脚本中写入挂载命令

然后重启OpenWrt。如果操作没错的话,再次查看空闲空间就是我们设置的空间了。

8、安装插件

最后,可以安装一些占用磁盘空间比较大的插件了,比如 docker

安装docker

opkg update
opkg install docker-compose	 dockerd	 docker	 luci-app-docker	 luci-i18n-docker-zh-cn	

启动docker

/etc/init.d/docker enable
/etc/init.d/docker status
/etc/init.d/docker start
/etc/init.d/docker status

docker配置

根据文档 DockerReadme.pdf 进行docker初始化配置

问题1:/etc/docker-init自动分区执行失败

根据文档DockerReadme.pdf ,自动分区如果执行不成功,可以执行手动分区,将/dev/sda 剩下空间全部分给分区/dev/sda2.

其余步骤还是根据文档DockerReadme.pdf 进行配置。

问题2:如果web界面上没有 作为docker数据分区来挂载的选项,那么使用以下方法将/dev/sda2挂载成docker数据分区。

修改 Docker 配置文件

# 停止 Docker 服务
/etc/init.d/docker stop

mkdir -p /mnt/sda2
mount /dev/sda2 /mnt/sda2
# 备份现有 Docker 数据(如果存在)
cp -r /var/lib/docker /var/lib/docker.backup 2>/dev/null || true
#或者
cp -r /opt/docker /opt/docker.backup 2>/dev/null || true

# 修改 Docker 配置文件
mkdir -p /mnt/sda2/docker
vi /etc/docker/daemon.json

daemon.json中添加以下内容(同时配置一下dockerhub加速):

{
    "registry-mirrors": [ "https://0907e9f34380f2940febc01a90f417a0.mirror.swr.myhuaweicloud.com" ],
  "data-root": "/mnt/sda2/docker",
"log-level": "warn",

  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

如果文件不存在,创建新文件;如果已存在,添加 "data-root"字段。最后再次启动docker

/etc/init.d/docker start
#

为了确保/dev/sda2开机自动挂载,需进行以下配置。

root@ImmortalWrt:/mnt/sda1# cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <p
/dev/sda1  /overlay  ext4 defaults 0 0
/dev/sda2 /mnt/sda2 ext4 defaults 0 0
root@ImmortalWrt:/mnt/sda1#



评论