前沿數(shù)控的程序員,登錄云服務(wù)器時,發(fā)現(xiàn)無法登錄,于是反饋給騰訊云。得到的回復(fù)是,北京三區(qū)部分云硬盤出現(xiàn)故障,正在緊急恢復(fù)中。
幾天后,騰訊云告知前沿數(shù)控,這些數(shù)據(jù)丟了,再也找不回來了。這時,雙方開始進(jìn)入賠償協(xié)商。
但是因為前沿數(shù)控索賠1101.6萬元,而騰訊云只愿意賠償13.29萬,所以雙方陷入了僵持。
而這件事之所以,成為新聞,就是因為前沿數(shù)控,在9個9(騰訊云承諾99.9999999%的數(shù)據(jù)可靠性)的騰訊云上的數(shù)據(jù),徹底丟失了。
騰訊云表示,“雖經(jīng)多方努力,最終仍有部分?jǐn)?shù)據(jù)完整性校驗失敗。經(jīng)過分析,該硬盤靜默錯誤是在極小概率下被觸發(fā)”。
對于本次事件和云服務(wù)使用攻略,互聯(lián)網(wǎng)運維技術(shù)專家劉曉明給CSDN投稿,詳細(xì)為大家分析了“騰訊云與前沿數(shù)控的磁盤數(shù)據(jù)丟失事件”。
以下為正文:
8月6日,騰訊云官微發(fā)布關(guān)于用戶“前沿數(shù)控”數(shù)據(jù)完整性受損及騰訊云補償措施的說明 。近日,騰訊云用戶“前沿數(shù)控”平臺一塊操作系統(tǒng)云盤,因受所在物理硬盤固件版本Bug導(dǎo)致的靜默錯誤(寫入數(shù)據(jù)和讀取出來的不一致)影響,文件系統(tǒng)元數(shù)據(jù)損壞。
騰訊云表示,監(jiān)控到異常后,第一時間向用戶告知故障狀態(tài),并立即組織文件系統(tǒng)專家并聯(lián)合廠商技術(shù)專家嘗試修復(fù)數(shù)據(jù)。雖經(jīng)多方努力,最終仍有部分?jǐn)?shù)據(jù)完整性校驗失敗。經(jīng)過分析,該硬盤靜默錯誤是在極小概率下被觸發(fā),騰訊云隨即對固件版本有Bug的硬盤全部進(jìn)行下線處理,確保相關(guān)隱患全部排除。
作為運維專家,純從技術(shù)角度分析騰訊云與前沿數(shù)控的磁盤數(shù)據(jù)丟失事件,避免類似的問題再次發(fā)生。
硬盤固件詳解和數(shù)據(jù)保護(hù)機(jī)制
固件又稱Firmware,就是“固化在硬件中的軟件”,不太恰當(dāng)?shù)呛美斫獾木褪牵汗碳褪怯脖P的操作系統(tǒng)。固件firmware是安裝在硬盤的一個小記憶芯片上的,用于引導(dǎo)硬盤工作。擔(dān)任著一個系統(tǒng)最基礎(chǔ)最底層的工作。是用匯編語言編寫的引導(dǎo)命令、控制語句和執(zhí)行語句,協(xié)調(diào)和控制硬盤各個內(nèi)部部件之間相互作用。
對于固件的保存位置來說,不同品牌的硬盤各不相同。硬盤在工作時,用戶可以訪問的是零磁道以后的位置,因此固件區(qū)是無法訪問的。只有通過專業(yè)工具,將硬盤置于工廠狀態(tài)下,才能實現(xiàn)對硬盤進(jìn)行讀寫固件區(qū)信息、獲取固件區(qū)模塊和表格配置圖、獲取扇區(qū)分配表、進(jìn)行LBA(邏輯地址)與CHS(物理地址)互換、進(jìn)行低級格式化以及讀、寫硬盤的閃存芯片等操作。
固件就是硬件設(shè)備的靈魂,因為一些硬件設(shè)備除了固件以外沒有其它軟件組成,因此固件也就決定著硬件設(shè)備的功能及性能。在硬盤中,固件負(fù)責(zé)驅(qū)動、控制、解碼、傳送、檢測等工作,如管理數(shù)據(jù)的存放位置、記錄己經(jīng)損壞的缺陷扇區(qū)、避免使用過程中再次用到這些壞的缺陷扇區(qū)、記錄硬盤在工作中的溫度或出現(xiàn)的錯誤 等。少了固件的硬盤就只是一堆機(jī)械和電子元件,不能正常運轉(zhuǎn),更不用說在其中讀寫數(shù)據(jù)了。
硬盤固件分為幾個不同的工作區(qū),不同品牌、不同型號的硬盤,其工作區(qū)各不相同,不同工作區(qū)的組成模塊也不盡相同,有的硬盤只有A、B兩個工作區(qū),而有的硬 盤有A、B、C 三個工作區(qū)。硬盤的固件信息以模塊的形式表現(xiàn)出來,可能每個模塊記錄一個信息,也可能一個模塊記錄多個信息。這些模塊的大小并不一致,有些模塊只有幾個字節(jié),有些則達(dá)到幾十個字節(jié),它們并不是連續(xù)存放的,而是各有其固定的位置。硬盤固件的信息模塊包括管理模塊、配置和設(shè)置表、缺陷列表以及工作記錄表等。
為了解決為了組合廉價的小磁盤來代替昂貴的大磁盤,同時在磁盤失效的時候能保護(hù)數(shù)據(jù)。引入了RAID機(jī)制,RAID可以充分發(fā)揮出多塊磁盤的優(yōu)勢,可以提升磁盤速度,增大容量,提供容錯等能力,此種RAID方案被服務(wù)器、存儲廠家延用至今。
RAID 0
又稱為Stripe或Striping(分條),即數(shù)據(jù)分條技術(shù)。RAID 0可以把多塊硬盤連成一個容量更大的硬盤群,從而提高磁盤的性能和吞吐量,要求至少兩個磁盤。
優(yōu)點 :
讀寫性能高,可用容量為各個磁盤的容量和;
缺點
無容錯,無冗余,不適用于安全性要求高的類型。
RAID 1
又稱為Mirror或Mirroring(鏡像)。RAID 1把一個磁盤的數(shù)據(jù)鏡像放在另一個磁盤上面,在不影響性能的情況下最大限度的保證系統(tǒng)的可靠性和可修復(fù)性。
優(yōu)點
很高的數(shù)據(jù)冗余能力,安全性高 ;
缺點
磁盤容量是總?cè)萘康囊话?,成本高?/span>
RAID 5
是RAID 0和RAID 1的折衷方案,但沒有完全使用RAID 1鏡像概念,而是使用了“奇偶校驗信息”來作為數(shù)據(jù)恢復(fù)的方式,需要至少三個或更多的磁盤。
優(yōu)點
容錯性,數(shù)據(jù)冗余能力,讀性能高,安全性較高 ;
缺點
與RAID 1相比,由于采用的是奇偶校驗方式,數(shù)據(jù)保障程度要差一些,而磁盤利用率要高一些。
RAID 10
又稱為鏡像陣列條帶。如RAID 0一樣,數(shù)據(jù)跨磁盤抽取,也如RAID 1一樣,每個磁盤都有一個鏡像磁盤。因此RAID 10又稱為RAID 0+1。
優(yōu)點
100%數(shù)據(jù)冗余,安全性高 ;
缺點
價格相對較高,磁盤利用率50%。
硬盤固件Bug?
在騰訊云的公告稱因硬盤固件Bug,導(dǎo)致文件系統(tǒng)元數(shù)據(jù)受損,數(shù)據(jù)無法恢復(fù)。相信一線的運維同學(xué)對公告也有同樣的疑惑:
硬盤是哪一品牌的硬盤?
服務(wù)器或存儲是否進(jìn)行RAID進(jìn)行數(shù)據(jù)保護(hù)?
硬盤的固件的哪一版本有Bug?升級到哪個版本能避免此問題?
極小概率觸發(fā)Bug,觸發(fā)的場景又是什么?
存在問題硬盤下線策略是什么,會不會對使用的用戶有二次影響?
建議把Bug的詳情和升級方案進(jìn)行公布,讓更多的公司來避免相似的問題,相信也是一種貢獻(xiàn)。
服務(wù)可用性?
騰訊云的承諾的“99.9999999%的數(shù)據(jù)可靠性,搭載了云硬盤提供三副本存儲策略,保障了數(shù)據(jù)在任何一副本出現(xiàn)故障時快速進(jìn)行遷移和恢復(fù)”。按照正常思維邏輯,前沿數(shù)控的數(shù)據(jù)有三個副本,三個副本不可能在一臺機(jī)器、同一塊磁盤上。難道是一個宣傳銷售的一個噱頭?
公有云不需要備份?
前沿數(shù)控顯然存在失誤,云服務(wù)的使用者要對數(shù)據(jù)負(fù)責(zé),不是完全依賴于云服務(wù)提供商。出現(xiàn)數(shù)據(jù)丟失跟災(zāi)備措施有直接的關(guān)系,建議使用云架構(gòu)方式的企業(yè),所有的數(shù)據(jù)必須進(jìn)行多云或者異地方式進(jìn)行備份。本次騰訊云與前沿數(shù)控的磁盤數(shù)據(jù)丟失事件就是血的教訓(xùn)。
墨菲定律告訴我們,容易犯錯誤是人類與生俱來的弱點,不論科技多發(fā)達(dá),事故都會發(fā)生。而且我們解決問題的手段越高明,面臨的麻煩就越嚴(yán)重。所以,我們在事前應(yīng)該是盡可能想得周到、全面一些。
作者簡介:劉曉明,某知名互聯(lián)網(wǎng)公司運維技術(shù)負(fù)責(zé)人,擁有 10 年的互聯(lián)網(wǎng)開發(fā)和運維經(jīng)驗。一直致力于運維工具的開發(fā)和運維專家服務(wù)的推進(jìn),賦能開發(fā),提高效能。