Zfs

ZFS 數據在重新啟動時發生回滾後失去

  • November 3, 2020

編輯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 並且沒有重新啟動 - 直到電源故障。

也許這裡的答案也可能會在以後拯救其他人。

我所有的數據都還在…

一些友好(和耐心)的人向我解釋了引導環境和快照的概念。

從本質上講,對於像我這樣擁有更多 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 似乎是一個非常安全的數據避風港,畢竟 - 除非我可能遇到我最初認為自己所處的情況。

數據被丟棄。您可能會使用特殊工具恢復一些痕跡,但沒有可靠的方法可以依賴。

引用自:https://serverfault.com/questions/1040965