克隆安装的最佳方法(复制到相同的硬件)

有点像这个问题,但略有不同(我认为),因为我有6个相同的宏碁Aspire Revo R3610机器。 一个(几乎)配置符合我的要求 – 当我完成准备时,我想让其他5台机器完全相同。 我是Ubuntu的新手,这是最简单(最简单)的方式吗?

如果这可能是一个问题,机器将在不同的网络上运行(例如,使用Windows,您可以克隆磁盘,但如果它们将在同一网络上运行,则必须在之后进行注册表更改等)。 我强调,所有6台机器的硬件都是一样的!

如何有效地将一个源图像克隆到这些相同的机器上?

请为每个答案限制一个软件/解决方案

Clonezilla听起来很符合您的需求

DD

使用dd的低级副本可以做到这一点!

注意冲突的IP地址和主机名。

基本上将源驱动器和目标驱动器放在同一台机器上,启动到live cd。 并运行以下内容,其中/dev/sda是源,而/dev/sdb是目标:

dd if=/dev/sda of=/dev/sdb bs=4096

我记得操作数:

if – >输入文件

– >输出文件

bs – >块大小(一次读取多少字节)

使用Remastersys创建映像,使用Startup Disk Creator实用程序将其传输到笔式驱动器,然后安装在其他系统上。

最简单的方法是在硬盘上运行一个简单的Ubuntu安装,安装VirtualBox并设置一个虚拟的Ubuntu机器。 运行您的虚拟机,并根据您的需要设置所需的所有铃声和口哨。 完成所有工作并在虚拟计算机上玩游戏。

VirtualBox将虚拟机维护为大型磁盘映像文件(.vdi)以及其他一些小得多的配置文件。 只要您想备份虚拟机,只需将其关闭并将其目录复制到备份位置即可。 我为此目的使用Passport外置硬盘。

目前,该外置硬盘上同时存在Windows 7和Ubuntu 12虚拟机。 所有系统更新,程序,个人文件,图片等都保存在这些虚拟机中。 这种类型的备份速度非常快,因为一个大磁盘映像文件的传输速度比一堆单个文件快得多。 由于VirtualBox始终以该格式维护文件,因此始终将虚拟机配置为备份。

这个设置的一个优点是我可以在安装了VirtualBox的任何计算机上运行外部驱动器上的那些虚拟机,所以现在,我只需将我的外部驱动器同时带到Windows和Ubuntu,安装VirtualBox我计划使用的任何计算机(我的所有VirtualBox安装文件也在我的外部高清 – 它们可用于所有主要操作系统),我准备好了。 我可以将我的虚拟机复制到我正在使用的计算机上,或者只是将其从外部驱动器上运行。

如果您的计算机在某些时候崩溃并死亡,谁在乎,您只需抓住您的Ubuntu安装盘,将其安装在新的或修复过的计算机上,连接外部驱动器,安装VirtualBox,然后将虚拟机重新复制到您的计算机上 – 问题解决了压力最小,时间损失和数据丢失。 丢失的数据取决于您上次备份的时间。 对于我自己,每当我做出重大改变或添加难以获得的程序时,我都会进行新备份。 只需确保虚拟机在运行时正常运行。 您不希望将损坏的计算机复制到好的计算机上。

不,我不适用于VirtualBox。

Partimage

我用过的另一个很棒的克隆工具。 设有终端gui。

我会按照您想要的方式获得一台计算机,并安装openssh-server软件包。 使用ssh-keygen -t rsa生成ssh密钥对。 将公钥添加到/root/.ssh/authorized_keys2。 然后,我将使用live cd启动新计算机并插入带有ssh私钥的usb棒。 使用gparted创建一个新分区。 然后挂载新分区并运行类似sudo rsync -avzx -e "ssh -i /media/disk/path/to/privatekey" --exclude=".gvfs" root@:/ /path/to/new/partition/

使用blkid命令查找刚刚创建的文件系统的UUID。 编辑/path/to/new/partition/etc/fstab以反映新的UUID(如果您使用不同的文件系统,则为文件系统类型。)

然后,我将按照https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot上有关如何从chroot安装的说明进行操作。

该页面的简化版本(不考虑lvm,软件raid或bcache,或者像wiki页面那样单独/启动):

挂载关键虚拟文件系统。 将以下命令作为单个命令运行:

 for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done 

Chroot到您的正常系统设备:

 sudo chroot /mnt 

重新安装GRUB 2(用sda,sdb等替换正确的设备。不要指定分区号):

 grub-install /dev/sdX 

重新创建GRUB 2菜单文件(grub.cfg)

 update-grub 

退出chroot:键盘上的CTRL-D

顺便说一句,这也适用于备份。 与Windows不同,Ubuntu似乎没有移植到不同硬件的问题。 我把硬盘从一台计算机放到另一台计算机上并且它运行良好,我已经将安装复制到不同的硬件上并且它运行良好。

我使用ddrescue来完成这项任务。 它完美无瑕。 超级简单。

有关详细信息,请参阅technibble上的此主题

G4L

Ghost for Linux

Ghost for Linux是一种硬盘和分区映像和克隆工具,类似于Symantec的Norton Ghost(c)和(tm)。 创建的映像可选地进行压缩,并且可以存储在本地硬盘驱动器上或传输到匿名FTP服务器。 可以使用Click’n’Clonefunction克隆驱动器。 如果本地文件系统不支持写入> 2GB的文件,则g4l支持文件拆分。 包含的内核支持ATA,串行ATA和SCSI驱动器。 支持通用网卡。 它被打包为带有ncurses GUI的可启动CD映像,以便于使用。

Fsarchiver

我不知道为什么没有人提到这一点。 当您想要在另一个文件系统类型上恢复分区的内容时(例如,将ext4内容还原到ext2或reiserfs)或者您想要还原到较小的分区,这尤其方便。

我用它,这很容易。 例如,要克隆分区,请说/dev/sda1您可以使用这样的命令

 fsarchiver -A -j 2 -z 1 savefs /media/anwar/USB_Drive/myrootpartition /dev/sda1 

-A选项允许您复制分区,即使它已被使用! 很棒的function!

-j 2表示使用2个CPU内核进行压缩。 对于多核CPU以及使用压缩有用

-z 1设置压缩级别。

还原您使用的文件系统

 fsarchiver restfs /data/myrootpartition.fsa id=0,dest=/dev/sda2 

id=0表示您正在从归档中恢复第一个文件系统(即使您没有在单个归档上保存多个分区,也需要指定它)。 并且dest=/dev/sda2设置恢复的目的地。

我使用rsync做了很多。

首先,您可以运行rsync将所有数据加载到外部硬盘驱动器(您的外部硬盘驱动器应该在ext4中 – 我使用它,所以我知道它有效):我假设您有两个分区:/ dev / sda1(root)和/ dev / sda2(交换)。

在原始计算机上运行:

 sudo rsync -avuorpESHAX /* /your/hard/drive 

复制数据后,使用USB记忆棒启动下一台计算机,并将内部硬盘驱动器格式化为原始硬盘驱动器。

将外部驱动器挂载到/mnt ,然后复制所有分区的UUID。 编辑新计算机分区的UUID,并从原始数据中放入您复制的相同UUID(位于/mnt/etc/fstab )。

关闭交换:

 sudo swapoff -a 

使用原始UUID创建一个新的交换,从/mnt/etc/fstab复制:

 sudo mkswap /dev/sda2 -U original-UUID 

(我把你的交换放在/dev/sda2

接下来,更改/dev/sda1的UUID :(应该卸载分区以更改UUID)

 sudo umount /mnt sudo tune2fs /dev/sda1 -U old-UUID 

完成此操作,挂载目标分区:

 sudo mount /dev/sda1 /mnt 

将rsync反向到目标:

 sudo rsync -avuorpESHAX /media/your-backup /mnt 

重新安装grub:

 sudo grub-install --root-directory /mnt /dev/sda 

这会奏效。 请记住编辑/etc/hostname/etc/hosts以更改每台计算机的主机名,以避免网络冲突。

从来没有遇到过这种困境(我没有数百台服务器 – 我一直只是使用基本图像),我只能给你我的直觉。

除此之外,我会说netboot可能是你最好的选择。 创建一个主服务器,让它做你想做的事情,然后让所有其他机器启动并安装它。 自动编写脚本(ala run-once)应该不会太难。 你通过kickstart完成所有次要的事情。

更多(虽然它有点旧): https : //help.ubuntu.com/community/PXEInstallServer

编辑:有一个名为system-config-kickstart的应用程序应该有助于使生成kickstart文件更加容易。 因人而异。

替代文字

大规模安装的另一个选择是Ubuntu Landscape /私有云方法,您可以(基本上)基于硬件池动态配置服务器。 聪明的东西。