2008-12-28

網路服務供應商有那麼好幹嗎?

最近因為某項爭議話題而花了點時間看了些網路服務供應商的資料,這邊並不對雙方所述作任何主觀判斷,而是由技術性的角度來進行觀察,在看到一些網上的爭議文章&主機進香團介紹文後對於某些網路服務供應商的資料保存安全性居然可以如此兒戲令人感到乍舌.從相關機房設備的照片就可以立即判斷整體架構的災難備援機制似乎是很欠缺的,而且設備照片一出來看在有IDC經驗的工程師眼裡可是會露餡的,從表面上看來除了硬碟可能有RAID外好像就沒看到其他的了,另外讓我長見識的一件事是2U的機架式SERVER用的CD-ROM是一般PC用的(我在機架式伺服器上看到的都是薄型的CD-ROM DEVICE),而且後面居然還可以有音效插頭(現在才發現我真的是孤陋寡聞,可能是因為我之前都是玩IBM/DELL/HP的機器吧,看來這些國際大廠偷工減料所以在機架式SERVER上都不做音效界面 XD ),而由先前與客戶發生糾紛的相關文章來看整個備份機制似乎也不怎麼完善,在我看來只能說這樣的服務提供商心臟非常大顆啊.

以下是我之前寫給從事Web2.0服務的朋友關於網路服務資料保存安全性的一些想法:
===================================

網路服務備援系統的基本概念

提供網路服務時在網路/系統規劃面評估的主要前提是"能容許多久的停止服務時間/能允許遺失多久的資料",當然這個時間是越短越好,但是相對的要做到真正的 24 * 7 * 365 的服務所需投入的成本是很高的,所以必須在現實情況允許下做一個折衷的判斷與規劃.

以下將 硬體/系統/網路 可能發生的 異常狀況/預防方式 依據發生的機率/預防所需之成本依序列出:

=======================
1.跳電導致SERVER重啟
通常是電源/排插過載
出現率: 有時
影響: 重新啟動之短時間內無法提供服務
預防方式:
一般專業的機架型伺服器都會有雙電源設計(第二顆電源通常是選配),IDC也會提供雙迴路電源,將伺服器兩個電源分別配在不同電源迴路上可避免因單一迴路跳電導致SERVER重起

2.硬碟損毀
常見於跳電後偶發.或是硬碟經長期使用後出現壞軌/硬碟電路板燒毀
出現率: 偶爾
影響: 資料遺失
預防方式:
通常是選用 RAID 硬碟容錯機制,RAID-1是兩顆映射使用一顆容量, RAID-5是三顆以上分散寫入並將其中一顆硬碟寫入檢核校驗資料,都可允許一顆硬碟毀損而不影響資料完整性,若情況允許DAID 1/5/0+1 能有熱備援(hot spare)硬碟將會是較安全配置.
另外RAID又有分為SOFTRAID(軟體) & HARDRAID(硬體),一般來說以硬體RAID較具安全性,軟體RAID通常是不得已時才會選擇.

3.網卡/主機毀損/網線中斷
網卡異常或是網線壓製不良導致斷線
主機過熱當機或燒毀(2003年某國際大廠曾出現過整批Server主機板過熱當機瑕疵),長時間使用導致電子零件異常.
出現率: 低
影響: 單點無法連線/提供服務
預防方式:
採用一台以上的SERVER提供服務,配合loadbalance/fail-over機制避免單一SERVER掛點影響服務

4.網路設備毀損
Router/Switch 因跳電或長時間使用導致燒毀
出現率: 非常低
影響: 整組伺服器無法連線/提供服務
預防方式:
對外連線部分IDC都會有及時監控及自動備援線路切換的設計,不過部分網路設備(如SWITCH)毀損必須人為介入進行替換,除非SERVER架構為多網卡搭配雙SWITCH雙路由設定(比較少見,成本高且架構/設定複雜)

5.IDC機房毀損
在台灣我個人是只聽說過一次(某大ISP位於汐止的機房因大樓失火遭波及斷電)
出現率: 極低
影響: 資料/服務完全中止/全死
預防方式:
異地即時資料同步備援 (成本最高)

另外就是備份資料的備份規則及異地存放機制
備份規則當然最理想的情況是在可容許範圍內進行短間隔的完整備份,不過這對於儲存媒體的空間需求是非常大的,所以一般折衷的作法是中等間隔(一週)的完整備份搭配短時間(一天或半天)的差異備份,同時備份檔除了本機硬碟之外也copy一份複本到別台機器或是儲存媒體上,當然如果能傳到其他地點的存放媒體上會是更好的,就像俗話說的"雞蛋不要放在同一個籃子裡",異地存放備份資料起碼客戶資料能有較安全的保障,否則一但硬碟同時死兩顆/或是整台機器燒掉就毀了.

個人意見
要提供收費的網路商業服務,最重要的就是必須確保客戶所輸入/存放資料的安全性,否則真的遭遇到意外時所產生的爭議與造成的損失是難以彌補的,天有不測風雲,主機有旦夕禍福.,凡事不怕一萬只怕萬一,光想靠綠色乖乖來保庇是不切實際的.
(身為服務供應商可以試想,如果哪天真的很不幸的某一台機器死翹翹了,你需要花多少時間替換硬體/資料還原?你的客戶能容忍停機多少時間?能容忍多久的資料遺失? 如果再衰一點IDC出事了,你客戶的資料還能剩下多少?)

同時任何管理/修改資料動作的相關log也最好一併定時備份,配合資料備份一同妥善保存,並訂定一個較保險的備份資料保存期限,以免日後發生爭議時沒有佐證資料可供查詢.

其實這些都是很粗淺且基本的概念,姑且就當作是野人獻曝吧.

後記: 我再寫完以後才跑去看了下網站上的合約內容,看到下面那兩條免死條款以後,感覺是我上面的都是屁話了 XD....

帳號資料備份
客戶應定期使用 建立、下載並保存完整的帳號資料 (包含網頁、郵件及資料庫等檔案) 備份。本服務不保證隨時能提供有效、完整、即時的備份檔案。且不應被要求賠償客戶資料毀損或遺失而造成的損失。
服務中斷、更動及終止
因無法避免(非正常人為因素)的主機維修、設備更新、或無法控制的因素、或需要重新指定客戶服務主機時,本服務有權暫停服務主機的運作,客戶不得要求賠償此段時間內停機的損失。

而且網上搜了搜,還不只一家的條款這樣寫.

最後感想就是:我標題下錯了,不應該用那麼高的規格來評估
所以標題的答案就是 網路服務供應商還真他媽的好幹啊~

沒有留言: