我有两台非联网服务器,每台服务器在 LSI MegaRaid 9240-8i 控制器上采用 RAID5 配置,具有 1.2TB 存储空间。由于驱动程序问题,我一直在尝试让 Symantec Ghost 将一台计算机镜像到另一台计算机,但没有成功,因此我想知道从 Linux LiveCD 启动、插入外部硬盘和dd
RAID是否会更容易分区到外部磁盘。
1.2TB的分区上只有大约10GB的数据,所以我希望生成一个稀疏的映像文件(以避免必须找到1.2TB的USB盘!)。我见过人们使用seek
参数dd
来实现这一点 - 在这种情况下,这是创建大约 10GB 大小的图像的合适方法吗?
即使这是生成稀疏映像的明智方法,这是否是一种将一个 RAID 镜像到另一个相同配置的明智方法,或者 Ghost 和 Acronis 等商业实用程序是否做了一些“魔法”却dd
没有?
答案1
听起来该设备是远程的。假设Linux...
ssh remote_host 'dd if=/dev/sdb1' | cp --sparse=always /proc/self/fd/0 new-sparse-file
如果本地...
dd if=/dev/sdb1 | cp --sparse=always /proc/self/fd/0 new-sparse-file
这将为您提供可安装的图像。但是,如果您通过网络拉取它,则会有 1.2 TB 的网络流量(通常是瓶颈)以及 ssh 和 sshd 的 CPU 负载。
如果您通过网络拉取这么多数据并且网络流量会花费您的钱......
ssh remote_host 'dd if=/dev/sdb1 | gzip ' | gunzip | cp --sparse=always /proc/self/fd/0 new-sparse-file
答案2
dd
可以创建一个稀疏文件,但您必须手动告诉它复制文件系统中已用扇区的每个范围,而您不会这样做。
您正在寻找的是 Ghost4Linux 或clonezilla,两者都可以在分开的魔法现场CD。他们足够聪明,可以创建一个仅包含使用过的数据的映像文件,类似于 Norton Ghost。
我仍然建议您使用适当的备份工具,例如tar
或 ,dump
而不是尝试对驱动器进行映像。映像备份的缺点包括:
- 无法选择性备份某些文件
- 无法选择性地恢复某些文件
- 无法恢复到较小的驱动器,即使它足够大以包含使用的数据
- 无法进行增量备份
答案3
如果它是 10GB 的数据,并且由于大部分数据是0x00
s,您可以这样做:
cat /dev/mydevice | gzip > /media/myusbdevice/image.dmp.gz
添加-1
到 gzip 可以加快速度。