记一次在 Debian 上移除硬盘的过程记录

出于对资源的利用,我需要从 Debian 上面移除一块长期使用率只有 1% 的磁盘,在此之前我需要先测试一下主磁盘的 SMART 数据顺手再备份一下主磁盘的数据

#检查磁盘状况

先安装 smartmontools 工具

sudo apt install smartmontools

使用 lsblk 查看磁盘和分区,通常名称为 /dev/sda/dev/sdb/dev/nvme0n1

在这里我的是 /dev/nvme0n1 因此使用

sudo smartctl -a /dev/nvme0n1

来查看 smart 信息。

smart 信息通过 AI 分析更好,故此处不再解释,不过可以重点关注下面的几个字段

#停止对磁盘使用

查看正在使用该磁盘目录的进程,我将磁盘挂载 /mnt 目录上的,因此命令是

sudo lsof /mnt

我的这里有一些 docker 容器在使用,因此需要搭配 sudo docker pssudo docker stop xxx 停止它们

注意记录有哪些进程在使用,后面需要更新路径引用

#迁移数据

此步骤需确保磁盘空间足够,使用 df -h 查看

由于我只有一个目录 /mnt/data 因此在根目录(主磁盘)新建一个 data 目录用于存放数据。

使用 rsync 复制数据

sudo rsync -av --progress /mnt/data/* /data

再使用 diff 校验完整性

sudo diff -r /mnt/data /data

无输出表示一致,无问题后可以删除原始数据

#卸载磁盘

卸载挂载点

sudo umount /mnt

正常应该没有任何输出,如果提示“device is busy”,再次谁在使用

lsof /mnt

验证是否正确卸载

df -h
mount | grep /mnt

禁用自动挂载

检查 /etc/fstab 文件是否有 /mnt 存在则编辑文件注释或删除

cat /etc/fstab

同步并刷新缓存、重载守护服务

sync
sudo systemctl daemon-reload

#更新目录使用

由于这一块盘本身利用率就低,加上我之前使用了软链接将 /mnt/data 链接到了 /data 目录,因此这里不需要更新,不过保险起见还是检查一下

先进行 docker ps -a 列出所有容器,在依次排查 docker inspect {container_id} | grep /mnt

在搭配前面记录使用的进程,检查可能存在的路径引用

#关闭电源

在确保无误后便可以关机卸下磁盘了

sudo shutdown -h now

#UnRaid 拆卸磁盘

本来这一块应该一同记录,因为就是将拆下的磁盘就是装到 UnRaid 上,但忘记记录了,只能补充写一下思路方便下一次使用。

UnRaid 的磁盘目录由“阵列 (array)”和“缓存 (cache)”两个部分组成,在 /mnt 目录表示如下

/mnt/
├─ cache/
├─ disk1/
├─ disk2/
├─ user/
├─ user0/

其中 disk1disk2 代表的阵列的磁盘,而 cache 目录便是缓存的磁盘,所有的数据均在这些目录中。

user 目录是整合了缓存盘和阵列盘上所有的共享文件夹,user0user 类似,但排除了缓存盘。

我并没有开启奇偶校验,因此后续充满风险,如果开启了奇偶校验应该可以直接进行数据重建,就是速度比较慢。

后续流程基于 UnRaid 7.0.0 进行操作

#1. 检查要卸载磁盘有那些目录使用和迁移数据

在 UnRaid WebUI 中来到主界面 (Main) 点击磁盘名称左侧的图标浏览目录。记录下存在的目录,比如 appdatasystem

然后来到共享界面 (Shares) 通过点击目录名称处进入设置查看对应的共享目录的设置。

Pasted image 20250510005704.png

如图如果只有一个磁盘(为缓存),则可以更改其“主存储空间”为缓存盘或其他用来临时存放的和“辅助存储”为当前磁盘,然后利用 Mover 迁移(Cache -> 阵列),也可如下面一样手动移动。

Pasted image 20250510005728.png

如果该目录存在有多个磁盘(阵列)则需要在“已排除的磁盘”处将当前磁盘排除,然后回到主界面 (Main) 处进入当前磁盘的目录移动数据到其他阵列。未经测试,注意备份数据

注意不要将任意数据复制到 /mnt/user/mnt/user0 下,可能会导致死循环

#2. 卸载磁盘和重新配置

确保关机前,该磁盘目录下没有任何文件夹和文件。

关机后直接取下该磁盘即可,开机后需要调整磁盘阵列,可以在 工具 (Tools) 处点击新配置 (NewConfig) 创建新的磁盘阵列

接下来就是调整共享目录的设置,之前移动数据前可能调整了共享目录的配置,可能需要重新配置。

1203 Words