ubuntu

如何利用Ubuntu Cobbler进行系统迁移

小樊
41
2025-09-30 07:42:02
栏目: 智能运维

利用Ubuntu Cobbler进行系统迁移的步骤

1. 准备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

2. 配置Cobbler基础参数

运行cobbler check检查配置完整性,根据提示修复问题(如server字段需设置为服务器IP而非localhostnext_server需指向Cobbler服务器IP)。
修改/etc/cobbler/settings文件,重点配置以下参数:

sudo cobbler sync

3. 配置DHCP服务(可选,若Cobbler管理DHCP)

编辑/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

4. 导入目标系统镜像

将待迁移的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)等文件。

5. 定制Kickstart配置文件

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/)。

6. 创建Cobbler Profile

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

7. 添加目标系统到Cobbler

为目标迁移系统创建系统记录,指定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`获取)

8. 同步配置并启动迁移

同步Cobbler配置至TFTP、DHCP等服务,使变更生效:

sudo cobbler sync

9. 执行系统迁移

注意事项

0
看了该问题的人还看了