日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

ZFS時(shí)代FreeBSD系統(tǒng)的數(shù)據(jù)冗余策略( 二 )


對(duì)于RAID來說,一個(gè)比較常見的做法便是將一部分劃成RAID-0卷,另一部分劃成RAID-5卷 。不過,這個(gè)做法并不完美,因?yàn)槟悴⒉荒軇?dòng)態(tài)調(diào)整這兩個(gè)卷的尺寸 。如果之前規(guī)劃的卷尺寸不合適,那只有停機(jī)、導(dǎo)出數(shù)據(jù)、重劃RAID,導(dǎo)入數(shù)據(jù),并祈禱下次發(fā)現(xiàn)不合適的時(shí)間越晚越好 。
當(dāng)然,這是一個(gè)極端的例子 。對(duì)于個(gè)人用戶來說,他們往往并不會(huì)在意 RAID-0 所帶來的那一點(diǎn)點(diǎn)性能改善,而數(shù)據(jù)的可靠性才是他們更關(guān)注的事情 。
個(gè)人系統(tǒng)中的數(shù)據(jù)冗余
雖然 RAID 是廉價(jià)磁盤冗余陣列,但是事實(shí)上它并不是那么的廉價(jià) 。更重要的是,許多便攜式系統(tǒng),如筆記本計(jì)算機(jī),并不具備安裝多塊硬盤的條件(無論是體積還是重量) 。這類用戶可能只有一塊硬盤,但是仍然希望盡量提高他們系統(tǒng)中數(shù)據(jù)的可靠性 。這個(gè)時(shí)候,就需要做一些存儲(chǔ)規(guī)劃了 。
以我個(gè)人的筆記本計(jì)算機(jī)為例,它安裝的是雙系統(tǒng),Windows和FreeBSD 。平時(shí)工作的時(shí)候主要使用的是 FreeBSD,工作內(nèi)容包括代碼編寫和調(diào)試、遠(yuǎn)程登錄和撰寫文檔等等 。
我們可以簡單地把這個(gè)系統(tǒng)中的數(shù)據(jù)分成下面幾類:
o 操作系統(tǒng) 。
o 第三方軟件(如 X11 視窗系統(tǒng)、Eclipse、OpenOffice辦公系統(tǒng)等)
o 下載的數(shù)據(jù)(例如 ports、其 distfiles等等),其特點(diǎn)是來自互聯(lián)網(wǎng),只要帶寬夠,既不需要備份,也不擔(dān)心丟失 。
o 用戶數(shù)據(jù) (完全不希望丟失的數(shù)據(jù))
我使用 ZFS 作為 / 分區(qū)(注意:這種做法有好處也有缺點(diǎn),我們將在最后討論),由于只有一塊硬盤,因此除了用于引導(dǎo)的 UFS 之外,其余部分全部劃給同一個(gè) zpool 。
針對(duì)不同類型數(shù)據(jù)的備份和冗余需要,在這個(gè) zpool 上面建立了 4 個(gè) ZFS:
/ - 即 zpool 本身的 ZFS,用于存放操作系統(tǒng)
/.portspace - 保存第三方軟件(為什么分開放將在后面解釋)
/.download - 保存下載的數(shù)據(jù),例如 CVS 代碼庫、ports本身及其distfiles等
/.data - 保存用戶數(shù)據(jù),包括 /home,/usr/src,自己工作用的代碼庫等等 。這部分?jǐn)?shù)據(jù)采取的保存策略是壓縮,同時(shí)設(shè)置 copIEs = 2 。
之后,做下列調(diào)整:
使用符號(hào)鏈接將 /usr/local 和 /var/db/pkg 放到 /.portspace 上 。這樣做的好處是,在進(jìn)行 port 升級(jí)的時(shí)候(例如恐怖的OpenOffice、xorg之類的升級(jí)),你可以做下面的操作:
zfs snapshot tank/.portspace@preclean
rm -fr /usr/local/* /var/db/pkg/*
或者,如果出現(xiàn)問題,可以用zfs的rollback功能回到快照版本,更變態(tài)的用法甚至可以跑branch出來 。
關(guān)于快照
ZFS可以在文件系統(tǒng)中建立大量的快照 。通過腳本可以將快照操作自動(dòng)化 。sysutils/FreeBSD-snapshot提供了一組易于配置的snapshot工具,我的配置中,對(duì) / 和 /.portspace 每天中午的時(shí)候做一次snapshot,保留3份;對(duì) /.download 每逢6的整數(shù)倍點(diǎn)做一次snapshot,保留2份;對(duì)/.data每小時(shí)做一次snapshot,保留25份 。
成果
在本次硬盤壞損中,使用recoverdisk恢復(fù)了3天,最后有大約3.4MB(IBM記法;最初的結(jié)果是有大約2GB數(shù)據(jù)存在問題,占磁盤總?cè)萘康?%)數(shù)據(jù)未能恢復(fù) 。
使用zpool scrub共發(fā)現(xiàn)650處壞損數(shù)據(jù),共導(dǎo)致出現(xiàn)了132個(gè)無法恢復(fù)的數(shù)據(jù)塊,這些數(shù)據(jù)塊分屬于20個(gè)文件,/.data 中完全沒有丟失數(shù)據(jù) 。
其他一些問題:
A 。是否應(yīng)使用 ZFS 作為 /?
答:取決于具體情況 。ZFS作為/對(duì)于安裝、故障恢復(fù)都會(huì)帶來一些困難,并且其基于快照的revert能力也不能直接使用,只能通過復(fù)制或rsync的方法來恢復(fù)快照中的內(nèi)容 。
B 。磁盤出現(xiàn)故障,通過recoverdisk恢復(fù)之后,ZFS說卷degraded,如何恢復(fù)?
答:首先zfs export,然后再重新zfs import(可能需要-f參數(shù)) 。注意此時(shí)/boot/zfs必須可寫 。

推薦閱讀