我有一个 RHEL5 Amazon 云实例,我需要将其映像到另一个实例,以便为我正在进行的一些即将进行的修补设置测试环境。要映像的服务器是生产服务器。
服务器只有一个磁盘(xvda1,是的,实际磁盘是 xvda1,而不是应该的 xvda)。
我想我会使用 dd,通过管道传输到 gzip,来制作磁盘映像。但是后来我意识到递归会有问题。因为 dd 是从正在写入 gzip 的磁盘读取的,所以图像将包含 gzip 文件的损坏副本,这意味着由于 gzip 文件的部分副本,图像本身占用的空间超过了它需要的空间,因此所需的机器之间会有更多的传输时间。
直截了当,有哪些选项可以将整个磁盘备份为单个块转储,就像 dd 一样,但不包括正在读取的同一磁盘上写入的 gzip 文件?
是的,我可以 rsync 单个文件,但出于这个问题的目的,假设这不是一个选项。我们还可以说要求亚马逊向实例添加第二个磁盘不是一个选项,NFS/SSHFS 等远程文件系统也不是,LVM 也不是。
您想为要备份的磁盘创建块级备份...
没有网络存储,也没有额外的本地存储。
这当然行不通,你为什么要违背逻辑?
右键单击控制台中的实例,“创建 AMI”。如果您不能容忍在拍摄快照时出现几分钟的停机时间,请选中“不重启”框。
如果是 Amazon 实例,添加磁盘始终是一个选项。创建一个 EBS 实例并附加它。
答案是为云实例订购额外的内存,然后制作一个虚拟磁盘。然后将您的本地磁盘添加到 ramdisk 并对图像执行您需要的操作以将其从服务器上获取。