我已经运行 BlueQuartz CentOS 4 系统 (Nuonce.net 发行版) 几年了,虽然硬盘 (Deskstar) 一直有点吵,但最近几次我听到它旋转困难。基本上,我想将此驱动器克隆到类似大小的驱动器 (80 Gig)。
我花了很多时间阅读有关 dd、dd_rescue、rsync、clonezilla 和 LVM 镜像的资料,但是大量的选项和可怕的账户让我不知所措——无法做出如何开始的明智决定。
我尝试了几次。dd 在大约 2 小时后失败,因为虽然驱动器表面上看起来相同(ATA Seagate Barracudas,泰语而不是中文),但目标驱动器略小。
我最近的尝试是使用 Debian CD 格式化新驱动器,然后 rsync 所有内容并编辑新驱动器的 grub 和 fstab 以反映更改。这里也没有什么乐趣,因为我在对目标驱动器进行分区时没有选择 LVM,所以它无法启动。
您可能已经看出来了,我对此感到力不从心,谨慎与沮丧交织的恐慌促使我在这里注册。
服务器本身虽然不是严格意义上的生产环境,但安装了 Festival、LAME 和 ffMpeg,并为我在过去 2 年中构建的文本转语音 jQuery 插件提供了后端。我还计划在 Debian 上重建整个 TTS 系统,因为现有的 CentOS 系统仍然有 PHP4 等。
不过现在,我真的很想将所有内容转移到新的驱动器上。
由于这是我的第一篇帖子,请随意向我提出我可能忽略的任何内部规则;我已经在 StackOverflow 上徘徊了一段时间,但刚刚才注册。
非常感谢。
更新:
感谢您迄今为止的回复 - 我非常感激,并且当我可以在这里仔细检查事情时,这让我感到更加自信。
我的想法是在新驱动器上全新安装 CentOS(从原始磁盘),以便正确设置分区和 LVM(断开源驱动器的连接以防止出现痛苦的错误)。
然后我从同一张 CD 启动到救援模式,为了避免标签冲突,使用 e2label 将 /boot 分区的标签更改为 /bootnew。然后我使用 lvm vgrename 将 VolGroup 名称从 VolGroup00 更改为 VolGroup001。然后我可以在两个驱动器都插入的情况下启动。
将新驱动器(通过其 VolGroup001 别名)安装到 /newhd 后,我使用 -avr 开关和反斜杠将我能同步的所有内容复制到新驱动器。就像这里提到的。
然后我再次断开原始源驱动器,再次从 liveCD 启动,使用 e2label 将启动分区标签从 /bootnew 改回 /boot,然后将 VolGroup 重命名为 VolGroup00。然后我重新启动,它经历了熟悉的启动例程,却找不到 proc、usr、lib、var 等中的大量文件。
启动确实完成了,但出现了很多红色的“FAILS”。我可以用现有的凭据登录,但网络坏了,无法启动X(桌面 GUI),而且还有几条(很多)与 iptables 相关的错误消息。又回到原点。我天真地以为我搞定了。
我是否应该购买更大的硬盘并尝试 dd 路线?我读到过这可能会扰乱 LVM 设置,并且使用低级工具同时处理两个未安装的驱动器还存在额外的风险。
再次感谢。
答案1
dd 在大约 2 小时后失败,因为,虽然驱动器表面上看起来相同 [...],但目标驱动器略小。
好吧,这就是你的问题。如果你得到一个目标驱动器至少同样大作为源驱动器,那么驱动器到驱动器映像dd
应该可以很好地工作——除非您的源驱动器有坏扇区。为了获得最佳效果,您确实需要在卸载驱动器的所有分区时对其进行映像,这意味着您需要从备用媒体(如 CD/DVD-ROM 或 USB 密钥)启动。我喜欢系统救援光盘正是这种工作。
如果你的源驱动器确实有坏扇区,那么你需要使用以下工具ddrescue
或者dd_rescue
(是的,它们是不同的)能够解决磁盘扇区错误。 上述系统救援 CD 还包括dd
、、以及许多其他磁盘和文件系统映像工具。ddrescue
dd_rescue
答案2
取决于您要做什么。完全镜像驱动器(块和所有内容)是 dd 的工作,不适合胆小的人;驱动器的块大小必须完全相同才能工作,而且它不是一种特别友好的工具。
也就是说,如果您的大部分数据(希望是除 /boot 之外的所有内容)都位于 LVM 物理卷分区上的 LVM 卷组中,那么您可以轻松地放入另一个驱动器,将其作为新物理卷添加到现有卷组中,然后将 LVM 物理扩展从旧驱动器 pvmove 到新驱动器。有关详细信息,请参阅“man pvmove”。您仍然必须通过 dd 或直接逻辑复制来处理任何非 LVM 分区的内容。
希望这可以帮助!