全部產品
Search
文件中心

Elastic Compute Service:Linux執行個體資料恢複工具介紹

更新時間:Dec 26, 2024

在處理磁碟相關問題時,您可能會遇到資料盤分區或資料丟失的情況。本文將介紹Linux系統下常見的資料盤分區丟失問題及相應工具的使用方法。

前提條件

在修複資料前,您必須先對分區丟失的資料盤建立快照,在快照建立完成後再嘗試修複。如果在修複過程中出現問題,您可以通過快照復原將資料盤還原到修複之前的狀態。具體操作,請參見手動建立單盤快照使用快照復原雲端硬碟

背景資訊

有關本文介紹的幾款工具的功能及相關資訊,請參閱以下內容。

工具名稱

是否預設安裝

工具介紹

fdisk

Linux系統磁碟分割管理工具。

testdisk

恢複Linux系統的磁碟分割或者資料的工具。

partprobe

主要用於在不重啟系統時讓kernel重新讀取磁碟分割資訊。

恢複磁碟分割或資料

在使用Linux執行個體時,如果因人為誤操作、程式異常或電腦病毒影響而導致磁碟分割表受損或資料異常丟失,您可以嘗試以下三種方法進行處理。

(條件可選)確認磁碟資訊

運行以下命令,以確認當前磁碟資訊。

sudo fdisk -lu

回顯結果樣本如下。

Disk /dev/vda: 145 GiB, 155692564480 bytes, 304087040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: F51132A7-xxxx-xxxx-xxxx-FD0DE6E1210C

樣本中,包含一塊磁碟裝置/dev/vda,因分區表損壞,不顯示Device資訊。

通過fdisk恢複分區

對資料盤分區時,分區磁碟的起止扇區一般使用預設的值,所以可以先嘗試直接使用fdisk命令建立分區進行恢複。通過fdisk恢複分區

如果在使用fdisk恢複分區後仍無法掛載,或者掛載成功但無法查看相應檔案,您可以選擇通過testdisk恢複分區或者通過testdisk恢複資料

通過testdisk恢複分區

這裡假設雲端硬碟的裝置名稱為/dev/xvdb。按以下步驟安裝並使用testdisk工具恢複分區:

  1. 運行以下命令,以安裝testdisk

    Alibaba Cloud Linux 3/2,CentOS 6/7/8

    sudo yum install -y testdisk

    Ubuntu/Debian

    sudo apt install -y testdisk
  2. 運行testdisk /dev/xvdb(根據實際情況替換裝置名稱),再選擇Proceed(預設值)後按斷行符號鍵。

    運行testdisk /dev/xvdb

  3. 選擇分區表類型進行掃描:一般選擇Intel。如果您的資料盤採用GPT分區,選擇EFI GPT

    掃描分區

  4. 選擇Analyse後按斷行符號鍵。

    選擇Analyse

  5. 如果您沒有看到任何分區資訊,選擇Quick Search後按斷行符號鍵快速搜尋。

    選擇Quick Seach

    在返回結果中會顯示分區資訊,如下圖所示。返回結果

  6. 選中分區後,按斷行符號鍵。

  7. 選擇Write儲存分區。

    說明

    如果不是您需要的分區,可以選擇Deeper Search繼續搜尋。

    選擇Write

  8. Y鍵確認儲存分區。

    按Y

  9. 運行partprobe /dev/xvdb(根據實際情況替換裝置名稱)手動重新整理分區表。

  10. 重新掛載分區,查看資料盤裡的資料情況。

    重新掛載分區

通過testdisk恢複資料

在某些情況下,您可以用testdisk掃描出磁碟分割,但是無法儲存分區,此時,您可以嘗試直接恢複檔案。具體操作步驟如下所示:

  1. 用testdisk掃描出磁碟分割。具體操作,請參見通過testdisk恢複分區的第1步到第5步。

  2. P鍵列出檔案。

    返回結果如下圖。按P鍵

  3. 選中要恢複的檔案,再按C鍵。

  4. 選擇目標目錄。本樣本中以恢複到/home為例。

    選擇目標目錄

    如果您看到Copy done! 1 ok, 0 failed,表示複製成功,如下圖所示。複製成功

  5. 切換到/home目錄查看。

    如果您能看到檔案,說明檔案恢複成功。檔案恢複成功

常見誤區與最佳實務

資料是使用者的核心資產,很多使用者在ECS執行個體上構建網站、自建資料庫(MySQL/MongoDB/Redis)。資料丟失會給使用者的業務帶來巨大的風險。本節介紹了資料安全方面的常見誤區和最佳實務。

常見誤區

阿里雲的底層儲存基於三副本機制,因此一些使用者誤認為作業系統內的資料沒有任何丟失風險。實際上,這是一種誤解。底層儲存的三副本確實為資料磁碟提供了物理層的保護,但如果系統內部使用雲端硬碟時出現邏輯性問題,例如病毒感染、誤刪資料或檔案系統損壞等情況,資料丟失的風險依然存在。在這種情況下,您需藉助快照、異地備份等相關技術,儘可能保障資料的安全性。關於三副本的介紹,請參見雲端硬碟三副本技術

最佳實務

資料盤分區恢複及資料恢複是應對資料丟失問題的最後一道防線,但並不一定能夠確保資料的恢複。強烈建議您參考以下最佳實務,通過建立資料快照(無論是自動還是手動)以及實施各類備份方案,以最大程度地保障資料的安全性。

  • 啟用自動快照

    根據實際業務,對系統硬碟、資料盤建立自動快照。

    重要

    在更換系統硬碟、執行個體到期後或手動釋放磁碟時,自動快照可能會被釋放。您可以在ECS控制台上通過修改磁碟屬性選擇自動快照隨磁碟釋放。如果想保留自動快照,您可以手動去掉該選項。更多內容,請參見快照FAQ建立自動快照策略

  • 建立手動快照

    在進行以下重要或高風險操作之前,請務必手動為磁碟建立快照。

    • 系統升級核心

    • 應用升級變更

    • 磁碟資料恢複

    在進行磁碟恢複之前,務必首先對磁碟建立快照,待快照完成後再進行相應的操作。

  • OSS、線下、異地備份

    您可以根據實際情況選擇使用OSS、線下或異地等方式備份重要資料。

相關文檔

有關LInux執行個體資料恢複的整體思路及最佳實務,請參見Linux執行個體資料恢複最佳實務