![Linux 和使用 dd](https://linux22.com/image/1574584/Linux%20%E5%92%8C%E4%BD%BF%E7%94%A8%20dd.png)
我刚刚收到一台新工作站,并在其上安装了 RHEL 7、添加了用户帐户并安装了应用程序。在将其移交给用户之前,我想找到一种方法来“映像”磁盘(用户帐户 + 已安装的软件),这样如果发生什么事情,我可以重新创建磁盘,而不必从头开始。
我认为 Linux dd 命令可以帮我完成这项工作,但经过大量在线阅读后,我发现这不是一个我理解或使用起来很舒服的命令。工作站的硬盘只有 2TB,但我有一个 30TB 的联网 NAS 可用。
以下是我的问题:
- dd 是制作图像的唯一方法吗,或者我是否做错了什么?
- 我可以将图像制作成 NAS 吗?还是只能制作成 DVD?
- 恢复图像的最佳方法是什么?
谢谢你的时间。
答案1
dd
不是唯一的方法;另一种方法是使用LiveUSB 与 Clonezilla。你从 LiveUSB 启动,将映像写入 NAS;类似的任务是来自 Clonezilla 帮助论坛的插图。
该 Clonezilla 文件将远小于 2TB,因为 Clonezilla 映像中仅包含具有内容的块,并且 Clonezilla 提供压缩级别选择以进一步缩小映像。
然后,重新启动回到正常配置,并创建另一个包含 Clonezilla 和映像文件的 LiveUSB,并用胶带将其粘在 PC 机柜背面。如果他们需要恢复到 Day Zero,除了您之外,他们需要的一切都在那里,当您在 Diamond Head 海滩度过多年来的第一个假期时,您可以通过电话轻松地指导他们。
答案2
如果您的 NAS 已安装,您将知道其安装的安装点。您可以 dd 到安装点。启动实时 DVD。您可以自动安装 NAS 吗?如果可以,您知道安装点(它通常会显示在您的文件浏览器中,但如果没有,请在文件浏览器中尝试使用键盘快捷键 Ctrl-l(小写 L)。在终端中,您可以使用“mount”命令查找安装点(只需键入 mount 而不带任何选项)。
然后你可以使用 dd:
dd if=/dev/sda of=/path-to-nas-mointpoint/path-to-desired-directory/backup.img bs=512 conv=noerror,sync
请注意,/dev/sda 的“a”后面没有数字。因此它将对整个磁盘进行映像,而不是对某个分区进行映像。如果有分区号,则它只会对那个分区进行映像。使用 dd 时必须使用 sudo。您可以查看以下网页了解更多信息:
https://en.wikipedia.org/wiki/Dd_(Unix)
https://www.raspberrypi.org/documentation/installation/installing-images/linux.md
您可以通过检查 dd 手册页来检查 conv=noerror,sync 的含义man dd
。
要恢复图像,只需切换 if= 和 of= ,例如
dd if=/path/to/nas/mointpoint/backup.img of=/dev/sda bs=512 conv=noerror,sync
关于 bs= 选项,此页面: https://docs.kali.org/downloading/kali-linux-live-usb-install 说:推荐值“bs=512k”是保守且可靠的。
raspberrypi.org 网页使用 bs=4M 。要在 dd 运行时显示进度,您可以尝试使用 status=progress ... 如果这不起作用,则列出的网页上还有另一种方法。