我很好奇是否有人完成过以下操作,或者知道如何设置以下内容的简洁描述。
我想建立一个 Linux 服务器,它能够通过网络克隆 PC,也能通过网络恢复它们(如果可能的话使用 PXE)。
有没有简单的方法可以做到这一点? 有没有适用于 Linux 的软件包(希望是免费的)可以做到这一点?
理想情况下,无论客户端操作系统是什么,它都能工作 - 我有几个想要克隆的 Windows 机器。
谢谢。
答案1
是的,Linux 可以配置为 PXE 系统的启动服务器,并且不难想象一个 USB 拇指驱动器、LiveCD 或 PXE 环境经过专门配置,可以使用库存(或接近库存)工具将硬盘驱动器映像到网络目标。
您可以使用PXELinux配置基本远程控制服务器。如果您手边有 Linux 服务器,则可以将其用作基础。您需要在 PXE 服务器上安装 BOOTP 或 DHCP、TFTP 和 PXE 守护程序。在基于 Debian 的系统上,您可以使用该pxe
软件包来提供 PXE 守护程序。
对于客户端系统,如果您尝试对操作系统分区进行映像,则无论如何都需要从与要进行映像的分区不同的分区启动。如果您不想使用完整的 PXE 服务器,则可以从 Linux LiveCD 或 USB 拇指驱动器启动以制作备份映像。
基本概念和DIY
dd
和的基本工具netcat
为基本的 DIY 或手动系统提供了主力。理想的系统会添加parted
或sfdisk
用于分区检测(以及在恢复时创建)、某种菜单系统,以及可能用于自动化后端的服务器程序。
图像创建的工作流程:
- 启动(USB/CD/PXE)
- 检查分区,选择一个进行映像,记录大小
- 检查后端目标是否有空间
- 在客户端上设置发送:(
dd if=/dev/sdXN | gzip -9 | nc -l 9999
针对分区 /dev/sdXN) - 开始在后端接收:
nc x.x.x.x 9999 > IMAGE_NAME.iso.gz
图像修复的工作流程:
- 启动(USB/CD/PXE)
- 检查分区,检查是否有空间,如有必要,请创建
- 设置后端发送:
dd if=IMAGE_NAME.iso.gz | nc -l 9999
- 在客户端设置接收:(
nc y.y.y.y 9999 | gunzip | dd of=/dev/sdYM
到分区 /dev/sdYM)
(来源有关 netcat 示例,请参阅“传输文件”和“其他示例”部分。)
Partimage 为您完成
Partimage
可以将图像文件保存在本地或网络上。Partimage 的网络支持包括其自己的partimaged
服务器,或将图像保存到 Samba 共享或 NFS 驱动器。请务必阅读 Partimage 手册的网络支持部分。
要配置partimaged
服务器,请遵循以下基本步骤。我找到的教程建议从partimage 主页. 将其放入/var/partimaged_storage
步骤2中创建的目录中。
该服务器也可在partimage-server
Debian/Ubuntu 存储库中的软件包中使用;如果可用,请使用它们。(它们将自动添加守护进程用户并设置权限。)在基于 Debian 的系统上,可以在文件中修改服务器配置/etc/default/partimaged
。
手动部分映像配置
为守护进程创建一个新用户。
useradd -c "Partimaged User" -s /sbin/nologin -r -M partimag
创建服务器将在其中运行的运行目录;这也将作为默认图像文件存储位置。您可以在服务器命令行上更改此设置。
mkdir /var/partimaged_storage
chown -R partimag:partimag /var/partimaged_storage
chmod -R 0700 /var/partimaged_storage
更改为目录并启动服务器。
cd /var/partimaged_storage ; ./partimaged --debug=1
(使用默认端口 4025;指定--port XXXX
更改。)
(指定--dest /path/to/image/storage
更改用于图像存储的位置。)
通过网络保存分区
- 启动(USB/CD/PXE)
从客户端机器保存到 Partimaged 服务器(无需指定图像文件的路径):
partimage --server=x.x.x.x --port=4025 -z1 -o -d save /dev/sdXN IMAGE_NAME.partimg.gz
通过网络恢复分区
- 启动(USB/CD/PXE)
从客户端机器恢复(同样,不需要指定图像文件的路径):
partimage --server=x.x.x.x --port=4025 restore /dev/sdXN IMAGE_NAME.partimg.gz
(来源用于手动partimaged
设置和网络保存/恢复示例。
答案2
答案3
看一眼系统成像器这是一种从已安装的系统中获取映像并使用已安装的网络复制这些映像的自动化方法(这里使用相同的工具 pxe、tftp、dhcp、rsync 和大量脚本来将所有内容整合在一起)。由于所有内容都是脚本化的(例如生成安装脚本),因此可以轻松调整安装程序。
答案4
我工作的地方使用 FOG。我不会解释它,而是将您链接到网页。希望您能像我们一样幸运。