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命令导出存储池,便于设备在其他系统中使用
📎 参考文章
- 作者:爆强
- 链接:https://blog.zimoxi.top/article/20344a20-8d41-809c-8bbf-f3d3018ed94d
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。






.png?table=collection&id=81ff8e30-fe1d-47c6-893f-ad83728956e4&t=81ff8e30-fe1d-47c6-893f-ad83728956e4&width=1080&cache=v2)
