Solaris 10:如何对机器进行映像处理?

Solaris 10:如何对机器进行映像处理?

我有一台 Solaris 10 工作站,我想从中创建完整映像备份。该机器有 2 个驱动器,一个 UFS 用于系统根目录,另一个 ZFS 用于数据存储。

我打算添加第三个硬盘来保存两个主驱动器的备份映像(包括任何 zfs 快照)。目的不是为了灾难恢复,而是为了让我能够轻松消除我打算尝试的一系列应用程序安装/配置更改。

最好的方法是什么?我不太熟悉 Solaris,但有一些基本的 Linux 知识。

我查看了 CloneZilla,但它不支持 Solaris。我只需要一种dd | gzip > image样式解决方案就可以了,但我需要某种方法首先将主驱动器上未使用的块清零以帮助 gzip。它们比我的第三个驱动器大得多,但几乎没有任何实际数据。

更新澄清:

  1. 我特别想避免使用任何文件系统快照功能,因为部分应用程序配置更改涉及/略微依赖于现有和新快照。理想情况下,完整的快照集合应该是部分的备份。

  2. 虚拟化不是一种选择,因为目标是在非常具体的硬件配置上进行性能评估。出于同样的原因,虚假的“备份”快照可能会扭曲性能数据。

谢谢

答案1

您已经有了解决方案。使用 solaris 中的 dd 在每个文件系统上执行此操作

dd if=/dev/zero of=file.iso bs=1M count=<the amount of free space you have in megabytes>

在文件创建结束时,你可能会在几秒钟内耗尽空间,一旦你收到磁盘已满错误,请删除该文件,关闭机器,然后使用 Linux 实时磁盘中的映像

dd if=</dev/disc_to_be_imaged> of=file_on_third_disk bs=1M

“bs=”标志大致决定了您的性能,取决于您使用的存储总线类型,您可能需要尝试更高的值,1M 块大小在几乎任何硬件上都是合理的,并且对于亚 TB 大小来说足够快。

如果您在尝试之前需要深入挖掘,我可以在答案中添加详细信息,但这几乎是无忧无虑的。我经常在生产 SAP 机器上使用它。

编辑:

收到有关 Solaris 上 /dev/zero 存在的不一致反馈。如果存在,请使用它。

如果不是,请使用

mkfile -v <number> g (where g stands for gigs, use m, k,b for smaller sizes) <filename>

这将创建一个零填充文件,以实现相同的结果。(就手册页而言,mkfile 是 /dev/zero 的 solaris 包装器,因此它实际上是不同形式的相同技术)。

例子:

mkfile -v 100 g /root/zeropad.iso

这将在 /root 中创建一个名为“zeropad.iso”的 100 GB 的文件。

希望这对您有帮助。

答案2

有很多不同的选择,但我喜欢的一种快速而简单的方法是将要备份的分区打包成 tarball。这通常对根分区有用,但根据数据存储驱动器的大小,我可能会推荐另一种解决方案。但是,如果您只是对能够反复安装和拆卸感兴趣,tarball 可能效果很好。

这可能超出了您的问题范围,但您也可以考虑虚拟化设置 - 使用虚拟机可以使设置和恢复到还原点变得非常容易。

答案3

UFS 还支持快照:http://www.c0t0d0s0.org/archives/4328-Less-Known-Solaris-features-fssnap.html

因此,如果您想尝试一些新应用程序,只需在 ZFS 和 UFS 文件系统上创建快照并进行修改即可。如果您稍后想撤消任何更改,您可以恢复到之前创建的快照。

至于备份,zfs send允许您备份每个快照。您还可以使每个快照与上一个快照有差异以节省磁盘空间:http://www.aisecure.net/2011/06/27/zfs-backups-with-differential-snapshots/

对于 UFS,您可以使用以下ufdsump实用程序:http://www.tech-recipes.com/rx/1384/backup-a-unixsolaris-ufs-filesystem-with-ufsdump/

相关内容