文件系统快照

檔案系統快照 (File System Snapshots) 顧名思義就是在檔案系統上照張相片,也就是將檔案系統當時的情形記錄下來,就好像照相一樣。日後您可以一張一張照片翻出來看。例如,您目前檔案系統中有十個檔案,我們先使用檔案系統快照拍一張照片。之後我們可以刪除檔案,在目前檔案系統中已經沒有東西了。但如果您將照片掛入,您還是可以看到這些檔案。簡單的來說,檔案系統快照的功能就是記錄當時檔案系統的狀態。

檔案系統快照只能用在獨立的「檔案系統」。例如我們的 /home/var 分別是獨立的分割區 /dev/ad0s1d/dev/ad0s1e,則我們可以對 /home/var 做檔案系統快照。

讓我們實際操作一次如何進行快照。建立檔案系統快照的方法有二個,一是使用 mount 指令,另一個是使用 mksnap_ffs。例如我們在將 /home 這一個分割區做一個檔案系統快照,並將快照存成 /home/snapshot20050730,可以使用下列指令:

# mount -u -o snapshot /home/snapshot20050730 /home

或是:

# mksnap_ffs /home /home/snapshot20050730

您會發現在 /home 中多了一個檔案名為 snapshot20050730。這個檔案就是現在這個時間點的檔案系統狀態。必須要注意的是,如果您要對 /home 做快照,在快照時只能將結果放在 /home 目錄下。例如,你可以放在 /home/snapshot/20050730,或是 /home/alex/backup/0730。但是不能放在 /var/snap.0730。也就是對某一個檔案系統進行快照的結果只能放在該檔案系統中。但是快照完成後,您就可以將它複製到其它地方。

現在,您可以在 /home 中先建一些檔案,等一下我們再將剛才的 snapshot 翻開來看,您會發現這些新建的檔案都不會出現在「照片」中。

我們現在來看看要怎麼把「照片」翻開來看。要看快照的內容可以使用下列指令:

# mdconfig -a -t vnode -f /home/snapshot20050730 -u 3
# mount -r /dev/md3 /mnt

上面的指令是將快照檔案掛入第 3 個 md 裝置,再使用 mount 指令將它像檔案系統一樣掛入。因為這是快照,照片是不能修改的,所以我們只能以唯讀格式掛入。您現在可以看一下 /mnt 中的檔案,是不是和您 /home 中的檔案一樣,但卻沒有新建的檔案存在。而且您可以試著開啟檔案,連檔案內容都一樣。很神奇吧,傑克!

md 是 FreeBSD 中一種特別的裝置,它可以讓我們將檔案模擬成檔案系統,您可以隨意指定沒有在使用中的 md 裝置,如 md1md2md3 等。我們使用 mdconfig 這個指令將設定檔案使用某一個編號的裝置,在掛入時必須也使用相對的編號 (例如上面的 md3)。而在使用完快照後,我們必須將它卸載,並釋放 md 裝置:

# umount /mnt
# mdconfig -d -u 3

以上就是檔案系統快照,是不是很好用。

同一個檔案系統中最多可以有 20 個檔案統快照,如果您有舊的快照不用了,可以直接使用 rm 指令刪除它。如果您要查找某一目錄下所有的快照,可以使用下列指令:

# find /home -flags snapshot

如果您查看一下我們做出來的快照,您會發現它的檔案大小和檔案系統大小一模一樣。但是如果您將它放在原本的檔案系統中,它是不佔空間的。如果您將 /home 的快照複製到其它的分割區中,它才會真正的佔空間。

這麼神奇的檔案系統快照有什麼功用呢?實際上的應用可多了。您有沒有發現檔案系統快照的速度非常快,這一點可以讓我們在備份時更快。傳統上,如果您要備份系統,您必須先停止網路服務,以免使用者資料備份到一半卻有人修改而造成錯誤,接著您才可以備份資料。而這樣一來,服務中斷的時間會非常長,直到整個檔案備份完為止。

而利用檔案系統快照,您先停止網路服務,將檔案系統進行快照,快照完後立即啟用網路服務。接下來,再將快照掛入後依正常程序備份即可。或者,您也可以直接備份快照的檔案即可。如此一來,服務中斷的時間就可以大幅減少了,是不是很讚!

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值