1.准备好磁盘,先进行分区,也可以部分去,然后格式(可以使用windows的diskgenius格式化,需要知注意的是格式化为ext4格式)也可以通过ssh登录后台,命令行使用mkfs.ext4 /dev/sda1的方法进行格式化。
注意:第一次格式化ext4发现不能被固件识别,固件并未有驱动支持,自己格式化为ext3才被支持(具体看设备情况)
2.插上U盘到路由器,在挂载点找到自动挂载未配置磁盘分区,并关掉。
3.通过fdisk -l 找到自己的盘设备
4.数据迁移
1.创建临时挂载点,最好别创建和设备名同名的目录,因为在取消挂载的时候目录会被删除,可能导致数据被删除
mkdir /mnt/extdisk
2.挂载磁盘到临时挂载点
mount /dev/sda1 /mnt/extdisk
3.复制整个/overlay到U盘中,实测用cp -a /overlay/* /mnt/extdisk会报错,因此使用这中方式拷贝。
tar -C /overlay -cvf - . | tar -C /mnt/extdisk -xf -
#命令 tar -C /overlay -cvf - . | tar -C /mnt/extdisk -xf - 实现的是一个管道操作,它通过标准输入和输出(stdin 和 stdout)将目录内容从 /overlay 复制到 /mnt/extdisk。这个命令主要用于在没有直接访问源目录的文件系统时进行数据传输或备份。
这里详细解释一下:
tar -C /overlay:-C 参数指定 tar 命令执行后续操作的目录为 /overlay。这意味着 tar 将在这个目录下查找文件,并根据相对路径打包它们。
#-cvf - .:
-c 表示创建一个新的归档文件。
-v 是 verbose 模式,用于显示详细的操作过程信息。
-f - 表示使用管道作为输出,而不是写出到磁盘上的文件。这里的 - 代表标准输出(stdout)。
. 表示当前目录,即在 /overlay 目录下的所有文件和子目录都将被添加到归档中。
#|:这是 shell 的管道符号,它将前一个命令的输出作为后一个命令的输入。
#tar -C /mnt/extdisk -xf -:
-C /mnt/extdisk 同样指定一个工作目录,这次是在解压过程中使用的目录,所有归档中的文件都会被解压到这个目录下。
-x 表示从归档文件中提取文件。
-f - 这次接收的是来自上一个命令的标准输入(stdin),也就是通过管道传来的 tar 归档流。
-v 如果存在,也会在这里显示详细的解压过程信息。
#综上所述,这条命令的作用是将 /overlay 目录下的所有文件和子目录打包成一个 tar 归档,并通过管道将其传递给另一个 tar 进程,在 /mnt/extdisk 目录下还原这些文件和目录结构。这样做的好处在于不需要临时的中间文件,同时可以跨不同的存储设备或网络环境迁移数据。
4.刷新一下
sync
5.卸载临时挂在点,因为下一步就是要挂载到/overlay目录了。
umount /mnt/extdisk
5.在web界面设置挂载点,并保存(一定要保存),重启。
6.查看