以下是我的操作流程
1.備份
$xfsdump -l 0 -L root_bak -M root_bak -f /mnt/h21/root.dump /
(Level 0,將檔案備份在/mnt/h21下,檔名為root.dump)
2.還原
$xfsrestore -L root_bak -M root_bak -f /mnt/h21/root.dump /
出現了一堆類似WARNING的訊息
WARNING: unable to set secure extended attribute for sys...
WARNING: path_to_handle of run failed:不希望的裝置輸出入控制 (ioctl)
Q.請問我這樣操作備份和還原根目錄,出現的錯誤訊息要怎麼解釋?會有什麼系統上的問題嗎?
沒有人可以把 dump 還原到目前正在掛載的 root (/) 目錄...
因為被掛載成 root 的目錄, 上面會出現一些非檔案型態的特殊資料夾, 例如: /proc, /dev, /sys....等等, 這些是在 Kernel boot 階段, 由 Kernel 自行模擬出來的一些特殊用途資料夾, 通常不能被一般的檔案操作寫入....
要把 dump 正確還原到 root 的方法, 應該是先把目前掛載的 / 目錄先卸下 (這代表你必須關機才能辦得到) > 把這顆硬碟拿到其他可開機的 Linux 主機上 > 把該硬碟掛載到這台主機的某個資料夾底下 (例如: /mnt/root_fs) > 然後將你的 dump 還原到掛載的那個資料夾裡面去 > 最後把還原完畢的 /mnt/root_fs 卸載 > 整顆硬碟拿回原本的主機上開機....