前言

撰寫動機

為什麼突然寫這篇文章,這就是我的疏失了。有一天我下載了 SDEZ,還沒有研究怎麼打開他。我發現目錄中有一個檔案叫做 game.bat,我就想說先點開試試看,於是我沒有先檢查程式就點開了。開始運行後我才意識到先看看程式比較安全,因此我打開 VSCode,沒想到我看見幾行指令:

1
2
3
4
if not exist %APP_DIR% (
rmdir /S /Q "Y:\"
mkdir "%APP_DIR%"
)

我馬上驚覺事情不妙,接著打開我的 Y 槽:
Y 槽
沒錯,超過 400 GB 的資料被刪掉了。幸好我使用 TrueNAS SCALE,所以出現了今天的這篇文章。

什麼是 ZFS 與快照?

推薦這個影片:

我的 NAS

拿舊電腦簡單組的

  • CPU:Intel® Core™ i5-2400 CPU @ 3.10GHz
  • RAM:8 GB
  • OS:TrueNAS SCALE
  • Pools:
    • 2 TB HDD * 4 (RAID Z)
    • 500 GB HDD * 3 (RAID Z)

我的 NAS
我沒有整線還用了很多便宜的電源分接線,硬碟看到有洞就亂鎖

回復數據

  1. 點擊首頁的資料保護並點擊定期快照作業快照
    點擊快照

  2. 依照名稱與時間找出欲回復的快照
    尋找快照

  3. 點擊倒回、選擇 No Safety Check (CAUTION) 後再次點擊倒回
    這個選項會將資料直接回復到這個快照版本,無視並且消除後續版本的所有快照。務必確認後再使用。
    回復快照

看到這個訊息就是完成了,再刷新檔案總管可以看見檔案都回來了 ヾ(≧▽≦*)o
完成訊息

如果不想要全部覆蓋可以用 Clone To New Dataset,會建立一個選中快照的資料集,再透過 SMB 等方法就可以讀取。

建立快照

手動建立快照

  1. 在右側選擇資料集後選定你要建立快照的資料集並在右邊找到建立快照點下去
    手動建立快照

  2. 這邊名字可以自訂,然後按儲存就可以
    如果建立快照的資料集下面有子資料集也需要快照務必勾選遞迴
    手動建立快照

定時建立快照

只要設定好時間系統就會自動建立,非常方便。

  1. 點擊首頁的 資料保護並點擊新增
    資料保護

  2. 完成設定後按儲存即可
    首先要選擇要定期建立快照的資料集,如果建立快照的資料集下面有子資料集也需要快照務必勾選遞迴
    設定快照存留時間。例如設定一個月,快照在一月一號建立後,會在二月一號自動刪除。
    設定快照建立頻率,有每小時、日、周、月的選項,也可以自訂

    示意圖片

    自訂快照建立時間

    定時建立快照