Opensolaris ZFS 快照(snapshot)及還原簡單試作
by 資訊藝術家 • 2009/03/18 • 系統相關 • 1 Comment
Opensolaris ZFS 快照(snapshot)及還原簡單試作
環境如下 擁有一個 RaidZ 的 kisspool (rpool為安裝 opensolaris內建的)
[email protected]:~# zpool status
pool: kisspool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
kisspool ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c4d0 ONLINE 0 0 0
c4d1 ONLINE 0 0 0
c5d0 ONLINE 0 0 0
errors: No known data errors
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
c5d1s0 ONLINE 0 0 0
針為 kisspool 建立 snapshot
#zfs snapshot [email protected]
查看 snapshot 狀態
#zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
[email protected] 28.0K - 5.83G -
rpool/ROOT/[email protected] 99.9M - 2.40G -
好啦, 建立 snapshot 完成了 !!
先看看在 /kisspool 有那些檔案 ~~
[email protected]:/kisspool# ls -l -h
total 63M
drwxrwxrwx 2 root root 5 2009-03-18 10:22 share
-rw-r--r-- 1 root root 63M 2009-03-18 11:42 VirtualBox-2.1.4-42893-SunOS.tar.gz
/kisspool 有一個 VirtualBox-2.1.4-42893-SunOS.tar.gz , 63MB ~~ 把他刪掉 ~~
#[email protected]:/kisspool# rm -fr VirtualBox-2.1.4-42893-SunOS.tar.gz
#[email protected]:/kisspool# ls -l
total 11
drwxrwxrwx 2 root root 5 2009-03-18 10:22 share
檔案刪掉了 ~~ 怎麼救回來呢 ??
首先設定可以看到 .zfs 的快照目錄
#zfs set snapdir=visible kisspool
再來就是到 /kisspool/.zfs 裡找你被刪掉的檔案囉 ~~
# cd /kisspool/.zfs/snapshot/now/
# ls -lh
total 63M
drwxrwxrwx 2 root root 5 2009-03-18 10:22 share
-rw-r--r-- 1 root root 63M 2009-03-18 11:42 VirtualBox-2.1.4-42893-SunOS.tar.gz
嗯 ~~ 有一個檔名叫 VirtualBox-2.1.4-42893-SunOS.tar.gz 的檔案呢 ~~
把他回復吧 ~~
# cp VirtualBox-2.1.4-42893-SunOS.tar.gz /kisspool/
回到 /kisspool 將這個檔案試著解壓縮, 看看是否正確.
# cd /kisspool
# tar zxvf VirtualBox-2.1.4-42893-SunOS.tar.gz
VirtualBox-2.1.4-SunOS-r42893.pkg
VirtualBoxKern-2.1.4-SunOS-r42893.pkg
autoresponse
ReadMe.txt
天呀 ~ 可以完整解壓呢 ~ 沒有任何錯誤 ~~ 檔案就這樣救回來囉 ~~
做 Snapshot 就是這樣簡單及快速, 前後不到幾秒 ~~