Lazy loaded image
技术分享
OMV血泪教训-如何重装系统之后挂载原有的储存池
字数 1116阅读时长 3 分钟
2025-5-30
2025-5-30
type
status
date
slug
summary
tags
category
icon
password

OMV崩了

OMV有点小众的NAS系统,不过因为完全免费,所以还是有喜欢用的人,我也是其中之一,但是平时要是手残,随便Update或者Upgrade,问题出来了,系统没有崩,但是无法进入web界面,这怎么办?网上也没找到直接解决的方法,看来重装是最好的,但是重装有一个问题,之前创建的zfs储存池就无法看到了,需要格式化硬盘再创建,那简直就是灾难,要怎么办,只能在网上找方法,也没有找到,怎么办?把范围缩小,反正OMV也是基于debian系统的,那就找linx下如何挂载zfs的储存池,就找到下面的文章了,死马当活马医,原文如下:

导入ZFS储存池的方法

如何已启动的系统中,查找并修改安装在其他设备上的 ZFS 根系统内容?
(1) 一个最简单的方式就是进入 failsafe 模式,failsafe 可以自动查找系统中的所有设备,列出可能的根文件系统所在设备(无论 UFS/ZFS),询问是否将其挂载在 /a 目录下
SunOS Release 5.11 Version snv_97 32-bit
Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Booting to milestone "milestone/single-user:default".
Configuring /dev
Searching for installed OS instances...
ROOT/snv_97 was found on rpool.
Do you wish to have it mounted read-write on /a? [y,n,?] y
mounting rpool on /a
Starting shell.
NAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
rpool    68G  6.02G  62.0G     8%  ONLINE  /a
NAME                             USED  AVAIL  REFER  MOUNTPOINT
rpool                           6.32G  60.6G  36.5K  /a/rpool
rpool/ROOT                      5.32G  60.6G    18K  legacy
rpool/ROOT/snv_97               5.32G  60.6G  5.32G  /a
rpool/dump                       512M  60.6G   512M  -
rpool/export                      37K  60.6G    19K  /a/export
rpool/export/home                 18K  60.6G    18K  /a/export/home
rpool/swap                       512M  60.9G   210M  -
这样进入 /a ,就可以根据需要修改该 ZFS 文件系统中的内容了。
(2)如果你的系统没有 failsafe 模式,另一种方式是手工 import ,这种方式不需要进入 failsafe 模式,但改动前后需要对 ZFS 根文件系统的结构知识有一定了解:
pool: rpool
id: 7154650442157903689
state: ONLINE
status: The pool is formatted using an older on-disk version.
action: The pool can be imported using its name or numeric identifier, though
some features will not be available without an explicit 'zpool upgrade'.
config:
rpool       ONLINE
c0t1d0s0  ONLINE
这里需要讲一下为什么要用这些选项:
-f 是强制导入,因为该存储池在之前可能曾被活跃系统使用,-f 可以忽略与此相关的警告错误;
-R /mnt 或其他替换的根路径,这是避免该存储池中的 /export, /export/home 等文件系统与当前系统中的相同挂载点冲突,导致某些文件系统无法挂载,采用 -R 选项可以使这些文件系统顺利挂载到指定挂载点之下的子目录中;
import 操作成功之后,执行 zfs mount 命令可查看已挂载的文件系统,这时候你可能会注意到,该存储池中有些文件系统可能没有自动挂载,比如查看结果如下
rpool/export                    /mnt/export
rpool/export/home               /mnt/export/home
rpool                           /mnt/rpool
rpool/ROOT/snv_97 就没有挂载上,这是因为该文件系统曾是存储池中的根文件系统,这种文件系统必须手动挂载,步骤如下:
这样进入 /mnt 目录,就可以编辑原存储池根文件系统下的内容了。
修改完毕之后,如果不希望在将来的系统中看到这个存储池,仍然可以用 zpool export rpool 将其导出,这样与此相关的设备可以拔除到其他系统使用。

🤗 总结归纳

本文介绍了两种在已启动系统中访问和修改其他设备上ZFS根系统内容的方法:
  • 通过failsafe模式自动查找并挂载根文件系统到/a目录
  • 手动使用zpool import命令导入存储池到指定目录(需要了解ZFS根文件系统结构)
  • 重点说明了手动导入时的关键选项(-f强制导入,-R指定挂载根路径)以及根文件系统手动挂载的具体步骤
  • 完成修改后可使用zpool export命令导出存储池,便于设备在其他系统中使用

📎 参考文章

 
上一篇
重装OMV
下一篇
Microsoft 激活脚本 (MAS)

评论
Loading...