0x1 如何修改raid类型
群晖有一个池是无需数据安全的,以前只做了raid1,现在空间不够用,如果扩展类型发现只能选择镜像盘了,无法对容量进行修改。
我们既然想保持池的数据、池的编号,手头上现在另一块差不多大小的硬盘,可以操作如下:
- 新建一个池x
- 停止所有服务,把原池内容拷贝到新池
- 删除原池
- 空出来的硬盘新建池,选择 JBOD,这个类型允许多个不同大小的硬盘合并成一个池,以使用所有硬盘的空间,但是它不保证数据安全
- 再把池x的内容拷贝到JBOD池,删除池x,把空余出来的硬盘扩展到JBOD池
0x2 后续异常
后续可能发生容器无法启动以及无法删除某些文件的情况
在做了上面的迁移后,我这边是重新安装了 docker 套件的,有两个原因,1是想把 docker 套件直接安装到新池内,2是池内迁移其实也涉及到容器的挂载目录,总是需要停止的,所以就索性重新安装了
在重装 docker 到新池后,打开 docker 发现需要迁移并且升级容器,但任务完成后 三个容器有两个容器无法正常启动,docker 日志中显示找不到命令
非常奇怪,删除容器、重启docker套件再次安装仍然无法解决,最后准备删除所有 docker 文件,仅保留 容器 配置文件,但在 原池 的以下目录删除文件时候出现如下错误:
root@ootoo:/volume2# rm -rf \@docker/btrfs/
rm: cannot remove '@docker/btrfs/subvolumes/b2dd884d91a67023b19fe756b30395dfba14bf459f021114c412dc9b530f637e': Operation not permitted
rm: cannot remove '@docker/btrfs/subvolumes/13da7b8998fc585e55340ee05f50890d9362e003aa78af9ca357aecdcb6739a3': Operation not permitted
这些文件无法使用 rm 删除,因为是 btrfs ,需要使用专用命令删除,示例如下:
btrfs subvolume del b2dd884d91a67023b19fe756b30395dfba14bf459f021114c412dc9b530f637e
btrfs subvolume del *
删除相关文件后,外层的目录即可正常使用 rm 删除了
再完全删除 docker 安装文件、镜像,重装 docker 套件后,再次使用之前的方式启动容器,使用恢复正常
评论