Backup

使用 dd 僅部分還原磁碟映像是否安全?

  • February 11, 2013

我已將整個硬碟保存dd到圖像文件中。硬碟包含一些用 ntfs、swap 和 ext4 格式化的主分區。我是這樣做的:

dd if=/dev/sda | ssh user@fastmachine "cat - > diskimage.img"

然後我覆蓋了前 5 到 6 GB 的硬碟,用於使用新系統進行測試:

  1. 我創建了一個 1.5 GB 的交換主分區。
  2. 我創建了一個 4 GB 的 ext4 主分區。

現在測試測試系統後,我想要我的舊系統。但是我的本地硬碟**在寫入時非常慢。**為了節省時間和精力,我只想從圖像中恢復大約 6 GB。這足夠安全嗎?它會起作用嗎?我會這樣做:

ssh user@fastmachine "dd if=diskimage.img bs=1M count=6000" | dd of=/dev/sda

更新——部分恢復測試

它只能部分恢復硬碟。

更新——1.8" pata 硬碟的速度測試

我只是測試寫作速度

dd if=/dev/zero of=blub count=1000 bs=1M

ssh user@fastmachine "dd if=/dev/zero count=1000 bs=1M" | dd of=blub
  • 首先給了我 14.5 MByte/s 作為我 1.8" 硬碟的寫入速度——沒有我想像的那麼糟糕
  • 第二個給了我 11.4 MByte/s = 91.2 Mbit/s ≈ 100 Mbit/s = 我的乙太網連接速度

但是:通過 WLAN(無線)的 ssh僅為 1,3 MByte/s!這就是問題所在。

通過乙太網複製時,ssh 佔用了 68% 的 CPU 負載,而通過 WLAN(無線)複製時僅佔用了 20%。

**結論:**如果我有更快的網路和硬碟/快閃記憶體驅動器,我會使用 netcat (nc) 來複製數據。

理論上這可以工作,但有一個警告:您不能在您打算重建的區域之外更改磁碟的佈局。重要的是在磁碟上使用了什麼分區方案。對於MBR,這很容易,因為數據包含在第一個扇區中(以及邏輯分區的標題中)。對於GPT,它稍微複雜一些 - 分區數據有兩個副本,它們應該匹配。一般而言,如果您的分區軟體支持(例如支持gdisk),則使用它將方案數據保存到文件並在數據之外將其恢復回來。

或者,如果可以選擇,請考慮將兩個驅動器放入同一台電腦,因為除非您的設置非常不尋常*),ssh否則將成為數據傳輸的瓶頸。

*) 最近的處理器與極慢的硬碟驅動器耦合,例如非常舊的或配置錯誤的 ATA 硬碟、低端快閃記憶體設備(儲存卡或快閃記憶體盤)或通過 USB 連接的任何設備,僅執行 v1.1 或特別修補的版本OpenSSH 的。

引用自:https://unix.stackexchange.com/questions/63705