AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1040965
Accepted
avl42
avl42
Asked: 2020-11-03 05:10:19 +0800 CST2020-11-03 05:10:19 +0800 CST 2020-11-03 05:10:19 +0800 CST

ZFS 数据在重新启动时发生回滚后丢失

  • 772

编辑1:与我在创建这个问题时最初的想法不同,似乎问题不是由计划外的电源循环直接引起的,而是我过去可能用 beadm 做的一个错误,并且它变得有效只是由于从那时起第一次重新启动。

这是(并且仍然是)问题的实际核心:

我认为自该快照以来的大多数更改应该仍然存在于磁盘上的某个位置。是否有任何远程机会(没有为原始设备编写我自己的 zfs-reader)来访问自上次快照以来更改的特定文件?

评论中要求的更多信息:

珠列表

BE Name          Flags Mountpoint Space   Policy Created          
---------------- ----- ---------- ------- ------ ---------------- 
11.4.23.69.3     NR    /          73.93G  static 2020-07-27 12:08 
solaris          -     -          95.53G  static 2020-05-23 19:35 
solaris-backup-1 -     -          374.41M static 2020-07-22 14:37 

zfs 列表:

NAME                               USED  AVAIL  REFER  MOUNTPOINT
rpool                              382G   713G  73.5K  /rpool
rpool/ROOT                         170G   713G    31K  none
rpool/ROOT/11.4.23.69.3           75.5G   713G  63.3G  /
rpool/ROOT/11.4.23.69.3/var       3.12G   713G  1.14G  /var
rpool/ROOT/solaris                94.2G   713G   143G  /
rpool/ROOT/solaris-backup-1       98.9M   713G  48.5G  /
rpool/ROOT/solaris-backup-1/var      1K   713G  1.13G  /var
rpool/ROOT/solaris/var             503M   713G  1.29G  /var
rpool/VARSHARE                     102M   713G  24.7M  /var/share
rpool/VARSHARE/kvol               27.7M   713G    31K  /var/share/kvol
rpool/VARSHARE/kvol/dump_summary  1.22M   713G  1.02M  -
rpool/VARSHARE/kvol/ereports      10.2M   713G  10.0M  -
rpool/VARSHARE/kvol/kernel_log    16.2M   713G  16.0M  -
rpool/VARSHARE/pkg                  63K   713G    32K  /var/share/pkg
rpool/VARSHARE/pkg/repositories     31K   713G    31K  /var/share/pkg/repositories
rpool/VARSHARE/sstore             30.0M   713G  30.0M  /var/share/sstore/repo
rpool/VARSHARE/tmp                20.0M   713G  20.0M  /var/tmp
rpool/VARSHARE/zones                31K   713G    31K  /system/zones
rpool/dump                        63.1G   713G  63.1G  -
rpool/export                      20.5G   713G    32K  /export
rpool/export/home                 20.5G   713G  7.26G  /export/home
rpool/export/home/avl             9.30G   713G  9.30G  /export/home/avl

(大部分 - 除了我的 homedir - 是机器附带的)

只有根文件系统似乎已被回滚,我的 homedir 仍然有所有最近的文件。

根据df -kl根文件系统的输出,当前是这个:rpool/ROOT/11.4.23.69.3,它已经对应于可用的最新 BE。

我也希望从答案中了解真正可能导致回滚的原因。不,我不完全记得我的 beadm 调用。我只记得我为下次启动更改了 BE,但随后将其更改回当前的 BE 并且没有重新启动 - 直到电源故障。

也许这里的答案也可能会在以后拯救其他人。

solaris snapshot zfs electrical-power failed
  • 2 2 个回答
  • 271 Views

2 个回答

  • Voted
  1. BaronSamedi1958
    2020-11-03T06:21:48+08:002020-11-03T06:21:48+08:00

    数据被丢弃。您可能会使用特殊工具恢复一些痕迹,但没有可靠的方法可以依赖。

    • 3
  2. Best Answer
    avl42
    2020-11-04T13:43:05+08:002020-11-04T13:43:05+08:00

    我所有的数据都还在...

    一些友好(和耐心)的人向我解释了引导环境和快照的概念。

    从本质上讲,对于像我这样拥有更多 linux 而不是 solaris 背景的人来说,这些引导环境看起来像“挂载到 / 的替代设备”,具有共享公共文件的一些魔法(如快照),还有一些与系统更新共享的魔法升级工具实际上进入了不同的引导环境。

    我在 7 月 27 日进行了一些系统更新,新系统安装到了新的 boot-env 11.4....(请参阅问题文本中的“zfs 列表”),但是在这几个月里,我们仍在运行boot-env 命名为“solaris”,因为我在升级后从未重新启动过。

    在最近的电源故障后重新启动,然后它安装了“11.4 ...”根文件系统,其中当然没有“solaris”BE 的最新更改。

    与此同时,我已经重建了大部分丢失的更改,但是对于那些我无法从记忆中重建的剩余更改,我现在将之前的 boot-env “solaris”挂载到 /mnt:zfs mount -oro,mountpoint=/mnt rpool/ROOT/solaris 它们就在那里,我的丢失更改...

    也许这会在以后对其他人有所帮助。

    道德:zfs 似乎是一个非常安全的数据避风港,毕竟 - 除非我可能遇到我最初认为自己所处的情况。

    • 1

相关问题

  • 从现有目录创建 zfs 的正确方法?

  • 在 Solaris lp 或 lpr 上打印

  • 如何将 ZFS ACL 从一个文件克隆到另一个文件?

  • Solaris DNS

  • 在 solaris 10 上为 mysql 设置 max_allowed_pa​​cket

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve