我有一台Ubuntu 12.04的生产服务器,配备了一个500GB(已使用近15GB)的硬盘。我想要将整个硬盘,包括其分区结构,复制到另一个容量为400GB的硬盘上,以确保更换硬盘不会影响工作系统。
请问,哪种工具是最佳解决方案?
请问,哪种工具是最佳解决方案?
parted
、fdisk
、gdisk
或其他工具),在目标磁盘上创建文件系统,挂载目标分区,并使用cp
或tar
将所有内容复制过去。这将需要对目标进行一些额外的更改,例如(可能)调整其/etc/fstab
并安装引导加载程序。总体而言,这种方法需要更多的努力,但如果你知道自己在做什么,它非常灵活,并且绝对可以从较大的磁盘复制到较小的磁盘,前提是文件实际上能够适应目标空间。cp
命令复制整个文件系统的内容,会不会对/dev
和/proc
这样的目录造成问题呢? - Bert Van Vreckem/dev
和/proc
目录都是动态的——它们由内核中的特殊驱动程序创建为虚拟文件系统。因此,在复制操作中,通常应省略这些目录。 - Rod Smithclonezilla
伪克隆硬盘:(1) 它备份结构元数据,包括 MBR;(2) 备份已使用的数据扇区,也就是忽略了它能理解的分区中的空闲空间;(3) 压缩备份的分区。这意味着只要原始磁盘上至少有100GB的可用空间,clonezilla
就可以将一个500GB的硬盘“克隆”到一个400GB的硬盘上。换句话说,clonezilla
能够处理目标磁盘比源磁盘更小的情况。 - landronicp
命令复制所有内容”...那么元数据(最后访问时间等)呢? - Paceriercp
命令来完成该任务,最好使用 -a
选项,以保留大多数元数据。 - Rod Smithdd if=/dev/sda of=/dev/sdc bs=1M
,其中sda是您的主要硬盘,sdc是您的新硬盘。或者类似clonezilla这样的工具(复制整个磁盘)。tar
或cp
)时,冒这个险是不明智的。 - Rod Smithdd
将较大的磁盘复制到较小的磁盘,因为这样很可能会导致丢失和/或截断分区,从而造成数据丢失。 - Rod Smith