MyMirror for Windows 正式發行

目前提供 MyMirror for Win7 與 Server 2008 版本,下載請按 這裡。Linux 免費版與正式版在 這裡 下載。有任何問題與測試回饋,歡迎與我聯絡 mark.ting@twinpeaksoft.com

2011年11月30日 星期三

複製是活的備份


一個今天等於兩個明天

十八世紀一個筆名叫做 窮理查的人,出版了一本 <窮理查曆書>,就是黃曆、農民曆一類的參考書,所不同的是窮理查在他的書裡加了一些智慧格言。這本書大概是世界上賣的第二好的書 (第一名你知道是哪一本吧) ,賣的有多好?兩百多年後今天,這本書依然賣的乒乓叫。

窮理查的格言大部分是教人「勤儉以致富」,後來有一個鐵匠叫卡內基的,還有一個做股票叫巴菲特的,都聲稱窮理查的格言讓他們致富 (好大兩筆財富)。窮理查自己也是美國首富,很像春秋時代有一個藝名叫做陶朱公的,從商短短幾年成為全國首富,大家稱讚他:「忠以為國、智以保身、商以致富、成名天下」。窮理查先生也當得起這四句讚美,他後來還被推崇為美國國父,到現在美鈔上還有他的大頭照,他是班傑明.富蘭克林。

窮理查曆書記載的格言很多,他自己最喜歡的應該是這句:「空口袋,站不直」
An empty bag cannot stand upright. (因為他把這句話寫到曆書的前言裡)

吾人最喜歡的是這句:「一個今天等於兩個明天

意思是現在做比明天做好兩倍。這句話對電腦備份也適用,吾人說:「今天做一次複製等於明天做兩次備份」。為什麼呢?因為複製是現在進行式,是活生生的;而備份是凌晨12點以後的事,是死的。

何謂生?何謂死?

講到資料備份,有一件事我一直鬧不明白,為什麼備份的資料不能閱讀?

好比說我要將一份 word 文件檔做備份,用舊式的備份軟體備份成 drow 檔案,放在另外一台伺服器上,但是我無法閱讀 drow 檔。一定要再做所謂的 restore 還原作業,然後才能將 drow 檔還原成原來的 word 文件檔。


你想想看,如果你買了一台影印機,將一疊文件影印後的資料,竟然完全看不懂。想要看懂影印的備份文件,必須再買一台「還原影印機」,把備份再還原影印回原來的文件 ….. 這家影印機廠商是不是瘋了!

當然影印機廠商沒人這麼搞,但是資訊備份軟體廠商卻都這麼搞!

更扯的是,備份軟體的廠商還特別聲明:「備份作業未必完整,restore 還原作業未必成功」!

正因為備份的資料不能閱讀,所以你如果想要確認備份作業是否完全成功,廠商就會說:
「嘿嘿嘿,再買一套『備份檢查軟體』吧!如果備份檢查發覺有錯誤,請你再花時間再備份一次。提醒您,再次備份一樣不保證成功。」
「什麼,你說我是黑店!」
「實話告訴您吧,每一家店不開燈都是黑的。」

備份的資料可以說是死的,想要使用它,必須先讓它復活。復活必須使用特殊的工具,然後執行一套繁複的流程,最後不保證復活成功。很像電影神鬼傳奇 (The Mummy) 裡的大祭司印和闐復活的過程一樣,有特殊的道具與儀式,可以一次兩次三次不斷的復活,但是每次復活都是殘殘缺缺不完整的,最後印和闐還是被送回他該歸屬的地方。

複製 (replication) 可以說是活的備份,不需要復活的過程,就可以立即使用。使用複製的方法即時送到遠端的資料副本,資料格式跟原來的一模一樣,可以立即被辨識、閱讀、與存取的,專業術語叫做「Live file」,就是「活生生的檔案」之意。實際的生活中,文件副本的內容,理所當然跟正本一模一樣,可以立即被閱讀,就像影印過的資料依然還是原來的資料,閱讀與使用起來沒有障礙。


科技始終來自於人性,複製是符合人性的,是活跳跳的;而備份是符合科技的,是硬梆梆的。使用複製比較符合生活經驗,也比較容易讓其他人利用這套副本;而備份因為背負著科技的歷史包袱,副本的再利用十分困難。我們現在可以開始思考,讓複製來取代備份吧!

2011年11月15日 星期二

如果備份還沒有發明

西方有個諺語:「如果這個世界上沒有誠實,那麼就會有人把誠實發明出來,並靠此賺大錢。」

複製 vs. 備份這個議題我已經跟朋友、顧客們討論幾年了,有些人贊同,更多人反對,還會挑戰我的觀點。我現在想請各位朋友 ~ 就是你,玩一個遊戲,這個遊戲就叫做「如果還沒有」,都是選擇題。

第一題:
這個世界上,如果還沒有手機,現在由你來發明,產品會長什麼樣子?
(A).











(B).


第二題:
這個世界上,如果還沒有備份軟體,現在由你來發明,產品會長什麼樣子?













 
兩題你都選擇 A 嗎?還是選擇 B

就我對你的了解,你會選擇 C,對吧!因為你有自己的想法,不喜歡被我左右。

無論如何,現在你知道我為什麼要放棄傳統備份了吧。

2011年11月10日 星期四

實例:用複製達成備份

[讀者投書]
布魯托先生,我贊成你的觀點,複製確實比備份實用。但是對我來說還是很難想像如何實際應用,可否舉個例子以饗讀者。
~ 讀者 尤納斯 敬上

親愛的尤納斯:
這裡有一個很好的例子,米國有位 Mr. Backup 先生,在他的文章Can you have a backup system basedsolely on snapshots and replication? 提到,他沒有使用坊間的備份軟體,只用 Linux + rsync + shell script 達到完全備份的標準本地與異地的備份 (onsite and offsite backup)

他是在 Linux 的環境下,僅使用快照 (snapshot) 與複製 (replication),完成一套完整的備份與復原機制,我畫了一張示意圖如下:


照這個架構來看,系統包含本地、異地的備份,資料格式不用 reformat重新格式化,不用做 restore 資料回存,也不用煩惱 DR scenario 災難復原程序。更重要的是,都是open source幾乎沒有成本,很美妙吧!(詳見註釋)


吾人以為用 差異區塊複製 + 快照 會更好,如下圖:


這種方式複製的資料量很小,只需要複製重要資料的差異區塊,不用整個硬碟或卷冊 (volume) 複製,這樣可以節省網路頻寬與時間。在備援機做 snapshot 可以不用拖累主機的資源。這個架構一樣不需要 reformatrestore、與 DR scenario,而且成本很低,按個讚吧!

應該有個廠商將上面兩種架構做成 box,當做硬體來銷售。由於大部分是 open source,會有很好的利潤,有興趣嗎!

~ 您誠摯的朋友 布魯托 敬上

<> 請參考 這裡

2011年11月8日 星期二

從 Disaster Recovery 進化到 Disaster Prevention


DR (Disaster Recovery 災難復原) 是商務永續 (Business Continuity) 的一個子集合,如何讓 DR 進化到 DP (Disaster Prevention 災難預防),使系統更貼近商務不停頓,關鍵在於資料的到位,也就是複製 replication。

何謂災難復原 (DR: Disaster Recovery) ?

根據維基的定義:
災難復原是當系統因為人為或天災停止營運,如何讓系統繼續運作的政策、程序、與方法。災難復原是商務永續 (Business Continuity) 的一個子集合,雖然商務永續包含所有的商務功能的恢復計畫,然而災難復原主要是聚焦於支持商務運轉的IT技術上。()

換句話說,災難復原 DR 是用來支持商務永續的一套 IT 流程。所以,如果商務沒有停頓,就不需要災難復原,這個概念稱之為災難預防 (Disaster Prevention: DP)。重申,DR 是災難發生時 IT 的復原程序,而 DP 則是讓重要的商務不因災難而停頓

傳統處理災難的方式,是強調如何運用備份快速地復原系統的運作,所以才會被稱之為災難復原。但是,歷史已經告訴我們,當我們需要回存備份資料的時候,才發覺備份不work,資料常常已經損壞,災難發生時資料根本無法回存。

而且,傳統的災難復原技術都有一個共同的特點:必須處理一場災難。也就是說,無論如何都會有一場災難需要處理,系統會故障、資料會丟失、恢復需要時間等等,災難復原技術就是處理這個過程的一套程序。其中一個程序脫鉤,本身就是一場災難

災難已然發生,但是對於 IT 系統而言,能不能不用處理災難,而讓服務照常運作,這就是災難預防 (Disaster Prevention: DP) 的新概念;保護關鍵資產,讓資訊系統更符合商務永續。

災難預防的關鍵在於資料 (data) 是否即時到位,如果資料沒有到位,系統 (system) 無法運作,也不能提供服務 (service),任何備援系統都沒有意義。

傳統的叢集或負載平衡系統,採取集中式儲存設備,都只能保護系統服務,而不能保護資料。當儲存設備當機或損壞,縱使你有24個節點的叢集設備,系統還是無法運作,因為資料沒有到位。

資料的即時到位必須採用複製 (replication),而不是備份 (backup)。採用複製,兩個以上的系統可以並行運作在不同的地方,所以即使一個系統因為天災或人為的錯誤而遭遇一場災難,其他系統依然可以的正常運行不受影響,因此不會有災難發生。

複製可以同時保護資料與服務,不僅可以簡單地達成災難復原,而且還可以做到更好,也就是災難預防。所以吾人以為,複製是將 DR 進化成 DP 的重要推手,也是災難預防的基礎

<>
Disaster recovery is the process, policies and procedures related to preparing for recovery or continuation of technology infrastructure critical to an organization after a natural or human-induced disaster. Disaster recovery is a subset of business continuity. While business continuity involves planning for keeping all aspects of a business functioning in the midst of disruptive events, disaster recovery focuses on the IT or technology systems that support business functions.

2011年11月6日 星期日

備份的最佳解

就是 mirror

大約10年前,關於備份、備援這類問題的解決方案,一位金融業的資訊老先覺跟我說:「最佳解就是 mirror」。

在當時,著實讓我驚訝,心裡並不認同。10年前,backup 的產品已經挺成熟,而備援也可以選擇 Fault-tolerant 容錯系統、與 cluster 叢集等等。

他的部門負責管理網路,只要有人向他提出,系統或資料有備份、備援的需求,他會這麼說:「來來來,你就做 mirror 就沒錯。」  譬如選擇 RAID 的方式,他只選擇 RAID 1,也就是 mirror;有人提反對意見,說 RAID 0RAID 5 也可以試試看,他會堅持:「不要跟我講那麼多,做 mirror 就對了。」

RAID 1 是鏡像 (mirror) 架構,鏡像系統時時刻刻在做抄寫備份,確保資料同時存在於兩顆硬碟,當其中一顆硬碟毀損時,另外一顆可以立刻接手服務。RAID 1 的優缺點是,成本最高,硬碟存取效能只稍有提升,但是整體的妥善度與安全性最高;兩顆硬碟可以互相備援,若是兩組 RAID mirror則可以互為本地或異地的備援。Mirror 主要用在不能停頓的系統與不能出錯的資料備份。

關於成本的考量,RAID 1 的採購成本的確比較高,但是針對備份、備援,成本應該有更長遠的思維。我們花錢架構備援系統,但是卻希望永遠不需要使用,這很像是保險的概念:沒事我們不想申請理賠,但是一旦有事需要理賠,就希望金額是足夠的。我們投資500萬或1,000萬添置備援系統,如果沒有使用到,投資報酬率都是0。但是災難發生時,備援系統若是有即時發揮功能,投資報酬率是1到無限大;若是備援系統沒有發揮功能,投資報酬率是0到負無限大。所以,說到備份、備援這件事,關鍵在於系統整體的妥善度與安全性,成本倒不是最重要的。

備援可以大致分為「資料的備援」與「系統的備援」。基於 mirror 架構備援系統,因為是一對一抄寫資料,所以備援系統的資料是即時到位的,不需要轉換與重建,所以資料可以立即讀取與使用,這是「資料的備援」;若是其中一組系統失效,另外一組系統即可接手,這是「系統的備援」。Mirror 的架構最簡單,又可以兼顧兩者,我們常說「最簡單解」就是「最佳解」,果然是如此。

Mirror 其實就是複製,所以備份的最佳解,就是 mirror,也就是複製!備份終將被複製取而代之,是未來的趨勢,這是我的見解。