Dd
在掛載時使用 dd 複製磁碟 - 風險?
我想使用 dd 複製硬碟。因為我想保持機器上的程序持續活動,所以我想在文件系統仍然掛載時執行此操作。我知道這不是做到這一點的“理想”方式,但Google搜尋似乎也有可能。
複製被用作備份;如果發生硬碟故障,我希望將圖像重新 dd 到新硬碟上。正在執行的作業系統位於我要複製的磁碟上。
我正在執行的程序確實會執行一些磁碟 I/O,但不會使用我希望複製的磁碟。據我所知,在我執行此操作時,只有作業系統/系統程序會讀取或寫入磁碟。我想知道的是這種光使用是否可能會破壞整個複製圖像?我想如果在 dd 讀取文件時正在寫入一些文件,那麼它們就有損壞的危險,但我不知道破壞備份的可能性有多大。任何人都可以分享一些見解嗎?
除了將它放在磁碟上並嘗試啟動它之外,有什麼方法可以驗證圖像的完整性嗎?
謝謝!
如果幸運的話,一旦您嘗試掛載副本,就會檢測到文件系統損壞。如果你運氣不好,直到以後才會被發現。
除了在復製過程中修改的文件之外,您還可能設法獲得文件系統的一致副本。但我不會指望它。只要您不創建、刪除或移動任何文件,它就可以與 ext4 一起使用,這樣目錄就不會被修改。
當然,如果您複製以只讀方式安裝的文件系統,一切都會好起來的。除了你不應該使用
dd
,cat
而是使用。有幾種可靠的方法可以複製磁碟。選擇其中之一,而不是實際上保證腐敗的一個。
- 一些文件系統提供複製功能,例如btrfs。我不認為ext4可以。
- 如果文件系統在 Linux 的本地分區方案上,即LVM卷,您可以製作 LVM 快照。這要求您使用 LVM,而不是將文件系統直接放在其他分區方案上,例如 MBR 或 GPT。您將得到一個未完全解除安裝的文件系統,但它代表了原始文件系統在某個時間點的一致快照。
- 如果您可以將文件系統放到 RAID-1 陣列上,則可以通過向陣列添加成員、等待其同步並分離新成員來複製它。在這裡,您也將獲得一致但不干淨的快照。您可以圍繞現有文件系統創建一個 RAID-1 卷,但這需要一個離線步驟來將文件系統縮小 128kB。
- 您可以進行文件級備份。這不會讓您獲得一致的文件系統視圖,因為複製文件需要時間,但它至少可以保證在備份期間未修改的每個文件都將得到正確備份。