利用Ubuntu Cobbler进行系统迁移的步骤
在目标Ubuntu服务器上安装Cobbler及依赖组件,确保基础服务可用:
sudo apt update
sudo apt install cobbler cobbler-web dhcp3-server tftpd-hpa xinetd -y
启动并启用Cobbler服务:
sudo systemctl start cobblerd
sudo systemctl enable cobblerd
运行cobbler check
检查配置完整性,根据提示修复问题(如server
字段需设置为服务器IP而非localhost
,next_server
需指向Cobbler服务器IP)。
修改/etc/cobbler/settings
文件,重点配置以下参数:
server
: Cobbler服务器IP(如192.168.1.100
);next_server
: TFTP服务器IP(通常与Cobbler服务器IP一致);default_password_crypted
: 设置默认root密码(通过openssl passwd -1
生成,如openssl passwd -1 -salt "ubuntu" "yourpassword"
)。sudo cobbler sync
编辑/etc/cobbler/dhcp.template
文件,添加子网、地址范围、网关、DNS及PXE启动参数:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
filename "pxelinux.0";
next-server 192.168.1.100; # Cobbler服务器IP
}
若manage_dhcp
设置为yes
(默认),同步Cobbler配置后会自动更新DHCP服务;若为no
,需手动修改/etc/dhcp/dhcpd.conf
并重启DHCP服务:
sudo systemctl restart isc-dhcp-server
将待迁移的Ubuntu系统镜像(如ISO文件)挂载至服务器,或直接指定镜像路径导入:
# 挂载ISO示例
sudo mount -o loop /path/to/ubuntu-22.04.iso /mnt
# 导入镜像(--path为镜像路径,--name为镜像标识)
sudo cobbler import --path=/mnt --name=ubuntu-22.04 --arch=x86_64
# 卸载ISO
sudo umount /mnt
导入后,镜像会存储至/var/www/cobbler/ks_mirror/
目录,包含内核(vmlinuz
)、初始化内存盘(initrd.img
)等文件。
Kickstart文件用于自动化迁移过程,需包含分区、用户、软件包等配置。可基于Cobbler模板创建(如/var/lib/cobbler/kickstarts/ubuntu.ks
),关键内容示例如下:
# 分区配置(适配目标系统磁盘大小)
part /boot --fstype=ext4 --size=500
part swap --fstype=swap --size=2048
part / --fstype=ext4 --grow --size=1
# 用户与密码(设置迁移后的root密码)
rootpw --iscrypted $6$your_encrypted_password
user --name=migrated_user --password=$6$your_encrypted_password --groups=adm,sudo
# 软件包选择(保留原系统常用软件)
%packages
openssh-server vim net-tools
%end
# 网络配置(静态IP或DHCP)
network --bootproto=dhcp --device=eth0 --onboot=yes
# 系统服务(启用SSH等)
services --enabled=ssh,sshd
将Kickstart文件上传至Cobbler服务器(如/var/lib/cobbler/kickstarts/
)。
Profile关联镜像与Kickstart文件,定义迁移时的系统配置:
sudo cobbler profile add \
--name=ubuntu-22.04-migrate \ # Profile名称
--distro=ubuntu-22.04-x86_64 \ # 导入的镜像名称(通过`cobbler distro list`查看)
--kickstart=/var/lib/cobbler/kickstarts/ubuntu.ks
为目标迁移系统创建系统记录,指定MAC地址(用于PXE识别)及其他网络参数:
sudo cobbler system add \
--name=target-system \ # 目标系统名称
--profile=ubuntu-22.04-migrate \ # 关联的Profile
--interface=eth0 \ # 网络接口
--mac=AA:BB:CC:DD:EE:FF # 目标系统MAC地址(通过`ip link show`获取)
同步Cobbler配置至TFTP、DHCP等服务,使变更生效:
sudo cobbler sync
ubuntu-22.04-migrate
)。/home
目录)、软件包是否正常(如ssh
服务是否启动)、网络配置是否符合预期。/home
、/etc
),避免数据丢失;/var/log/cobbler/cobbler.log
查看详细错误信息。