作者iflyinsky (加油!在前進吧~)
看板Linux
標題[問題] 不同硬碟容量的備份還原
時間Mon Nov 16 10:02:05 2015
Hi 各位大大好
不才小弟有個技術上的疑問。
目前手邊有兩顆大小不同的硬碟分別稱為 A,B 但是 size 不同。
HDD: A , size: 250GB
HDD: B , size: 500GB
因為異地備份演練,須將 HDD: A 內資料備份到 HDD: B
這邊假設 HDD:A 為 /dev/sda, HDD:B 為 /dev/sdb
於是用了dd備份如下
dd if=/dev/sda of=/dev/sdb
演練完畢之後,卻發現,HDD : A 資料有異常,
須要將 HDD : B 還原回 HDD : A
我的問題,我是否可以使用 dd 將 HDD : B 還原回 HDD : A
dd if=/dev/sdb of=/dev/sda
因為 size 不同。(從小size 備份到大size在還原到小size)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 202.167.250.43
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1447639331.A.501.html
1F:推 filiaslayers: 應該是分割表有錯?你備份的輸出不要指到B磁碟 11/16 11:13
2F:→ filiaslayers: 而是輸出成b磁碟的檔案,像是backup.img 11/16 11:14
3F:推 Adama: 不用clonezilla? 11/16 11:25
4F:→ iflyinsky: 抱歉我沒有表達清楚,如果必須要用dd去實做是否可行呢? 11/16 11:30
5F:推 Adama: 不一定可行;若B後來將分割區放大以使用完整硬碟,那就不行 11/16 11:35
6F:→ iflyinsky: 意思是,如果B備份後有使用超過250GB就無法還原到A嗎? 11/16 11:46
7F:→ kenduest: 1. dd 一般作法可以,但是你後續還是要手動把分割區 11/16 11:52
8F:→ kenduest: 調大,要不然浪費了新硬碟的容量 11/16 11:52
9F:→ kenduest: 2. dd 語法一定要加上 bs=4096k 等這類參數指定一次處理 11/16 11:53
10F:→ kenduest: block 的量,要不然預設 block size 太小效率會很糟糕 11/16 11:53
11F:→ kenduest: 3. dd 其實這樣使用效率也不好,因為硬碟並非整個磁區 11/16 11:54
12F:→ kenduest: 都有放置到實際資料,這樣做其實會花很多時間在磁區 11/16 11:54
13F:→ kenduest: 內容同步,但是同步的磁區實際上可能根本沒放置資料 11/16 11:55
14F:→ kenduest: 我好像看錯了,原來你是要 sdb --> sda 11/16 11:56
15F:→ kenduest: 基本上可以,不過你 dd 回去時候最後會出現寫入錯誤 11/16 11:58
16F:→ kenduest: 因為容量比較小所以最後 sdb 資料無法讀取後寫入到 sda 11/16 11:58
17F:→ kenduest: 題外話要跑 dd 基本上該來源磁碟不可以被掛載使用中 11/16 12:08
18F:→ kenduest: 所以當初你用 dd 方式備份 sda 其實是有點令人擔心 11/16 12:08
19F:→ kenduest: 若 sda 已經掛載使用中,這樣 dd 過來檔案系統的資料 11/16 12:09
20F:→ kenduest: 可能有一點問題,檔案系統資料是 unclean 狀態... 11/16 12:09
21F:→ iflyinsky: 謝謝,前輩。系統硬碟是另外一顆,不在這兩科的範圍內. 11/16 13:10
22F:→ bitlife: 為什麼備份當時輸出不寫到檔案而寫到分區? 11/16 13:24
23F:→ iflyinsky: 當初的系統是win server,後來去找了另外的硬碟來接, 11/16 13:46
24F:→ iflyinsky: 然後用living光碟開機來備份 11/16 13:46
25F:→ iflyinsky: 在尚有資源下,又可以重開的情況,選擇了這方式 11/16 13:55
26F:→ iflyinsky: 雖然當初是備份好了,可開機驗證,也無須還原的情況下 11/16 13:58
27F:→ iflyinsky: 但對於,如果要還原回去,心裡還是會有疑慮... 11/16 13:59
28F:推 jokester: 可以用looper 唯讀掛載sdb,看看是不是有正常fs 11/16 21:39
29F:推 Adama: 硬要sdb->sda的話可以先用resize2fs先縮小分割區再dd 11/16 22:26
30F:→ iflyinsky: 有試過用 dd 去模擬,結果檔案的大小被調成小檔案.. 11/17 09:20