|
硬盤忽然掉電會損壞硬盤和數據嗎?機械硬盤
機械硬盤內部結構 為了避免磁頭和磁盤的接觸磨損,現代機械硬盤會有一個磁頭復位的裝置,機械硬盤不工作時,磁頭回到復位位置,磁頭復位不是依靠電能的驅動,而是機械力量。 磁頭上有個類似彈簧裝置,一直試圖將磁頭拉回復位區,通電時磁頭受磁力作用移動至磁盤上方。 如果機械硬盤突然斷電,磁力消失,磁頭瞬間被拉回,但因磁盤立刻停轉,導致盤面形成空氣消失,磁頭很容易落在盤面,被磁力拉回的瞬間造成磁盤損傷。 機械硬盤的斷電保護不是萬能的,如果你的數據非常重要,那么UPS不間斷電源才是一個最穩妥的辦法。
多盤片 在突然斷電的時候UPS可以讓人提供足夠的緩沖時間去解決問題,雖然時間不會太長,不過也足夠時間讓系統正常關機不至于損壞硬盤。 你還可以在加一層保障,就是讓組建磁盤陣列,也就是RAID,常用來保護數據的有RAID 1和RAID 5。
RAID 1 RAID 1是兩組以上的N個磁盤相互作鏡像,其原理為在主硬盤上存放數據的同時也在鏡像硬盤上寫一樣的數據。當主硬盤損壞時,鏡像硬盤則代替主硬盤的工作。因為有鏡像硬盤做數據備份,所以RAID 1的數據安全性在所有的RAID級別上來說是最好的。 RAID 5至少需要三塊硬盤,RAID 5不是對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID 5的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上。當RAID5的一個磁盤數據發生損壞后,可以利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。 RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供數據安全保障,但保障程度要比鏡像低而磁盤空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的數據讀取速度,只是因為多了一個奇偶校驗信息。當然,對于普通用戶來說,如果重要數據較少,多備份一份在其他存儲介質上就可以了,沒必要使用RAID模式。 固態硬盤SSD 固態硬盤沒有機械旋轉,應該不會出問題吧。其實沒有那么簡單,FTL的邏輯塊和物理塊的轉換表必須存儲在NAND Flash上,否則會造成混亂;高端企業級硬盤上有大量的DRAM來加速,其中的內容也必須存儲下來。 在正常關電的時候,和機械硬盤類似,SATA的STANDBY IMMEDIATE命令和SCSI的Stop指令是合適的存儲這些信息的機會。SSD控制器可以從容的將這些信息寫在合適的地方。 在意外掉電的情況下,情況就復雜不少。不知道大家注意過沒有,現在M.2的SSD上面有很多很小的電容:
在Vcc沒電的時候,這些電容的gate就會打開,會為主控爭取1ms左右的時間。主控會立刻放棄現在所有沒有存儲的數據,而立刻開始存儲FTL表,保證不會出大問題。 在企業級的SSD中,有的DRAM大小將近1GB,而企業SSD的數據完整性要求極高,不容有失,不但FTL表要存好,DRAM中沒有存儲過的,也必須全部存下來。這就需要很大的電容,來爭取更多的時間,如果我們拆開企業SSD,就會發現很多大黃快:
這個Micron的SSD有3塊,而Intel的部分SSD,因為DRAM很大,大電容達到8塊! 有些低端SSD廠商,沒有電容,或者在長時間使用后電容能力下降。在掉電后,FTL表并沒有存下來。而是采取在下一次上電的時候重建FTL表,這是用戶就會發現SSD反應很慢,要一會才會恢復正常。 最后提醒大家,有些朋友覺得固態硬盤斷電不會丟失數據,其實并不是這樣的。如果固態硬盤斷電,可能導致電流紊亂主控,從而使主控宕機。所以使用固態硬盤的用戶,也請不要隨便斷電。雖然固態硬盤從原理上比機械硬盤損壞的可能性小了幾個數量級,但仍然扛不住人為故障。 |




