2018.5.26 PXE和Cobbler自动化系统部署实施步骤

实现自动化部署首先了解一些系统安装时内部执行的过程:

1.POST后找到镜像中的可引导文件MBR:isolinux/boot.cat

2.进入grub第二阶段运行isolinux/isolinux.bin

3.读取配置文件isolinux/isolinux.cfg(菜单界面)。其中定义了即将加载的内核isolinuz/vmlinuz;以及向内核传递参数append initrd=initrd.img

4.加载根文件系统并启动anaconda安装引导程序

5.手动安装时anaconda生成图形引导安装程序,用户设置完语言、键盘、时区、安装包等配置(实际上是在做应答文件配置),然后anaconda根据应答文件(kickstart.cfg)找到安装源进行安装

6.安装源需要提前共享出来,支持的共享的途径一般是光盘U盘、ftp或者http等

   

自动化部署系统根据引导镜像的不同实现方式分为光盘U盘引导、PXE引导以及cobbler统一引导。

实际上,实现自动化安装即将引导镜像、kicskstart应答文件、安装源三者进行预设置,并且相互间实现对接

   

Ⅰ通过PXE安装,引导镜像、应答文件、安装源都放在网络当中

1.安装环境准备,关闭防火墙,selinux,dhcp服务器静态IP

2.安装软件,httpd tftp-server dhcp syslinux system-config-kickstart

3.配置文件共享服务

systemctl enable httpd

systemctl start httpd

mkdir /var/www/html/centos/7/os/x86_64

mount /dev/sr0 /var/www/html/centos/7/os/x86_64

4.准备kickstart文件

将已安装的系统中/root/anaconda-ks.cfg拷到并重命名/var/www/html/ks/ks7.cfg并给予644权限

ks7.cfg文件中的参数需要手动根据自己需求修改好

另一种准备kickstart的方法,推荐通过图形界面生成一个ks应答文件,避免手动写参数出错

在系统图形界面中执行system-config-kickstart命令来打开图形界面配置并保存应答文件

5.配置tftp服务

systemctl enabel tftp

systemctl start tftp

6.配置DHCP服务

vim /etc/dhcp/dhcpd.conf

option domain-name "example.com";

default-lease-time 600;

max-lease-time 7200;

subnet 192.168.30.0 netmask 255.255.255.0 {

range 192.168.30.200 192.168.30.240;

filename "pxelinux.0";

next-server 192.168.30.104;

}

systemctl enable dhcpd

systemctl start dhcpd

   

7.准备引导文件

mkdir /var/lib/tftpboot/pxelinux.cfg

cp /var/www/html/centos/7/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/

拷贝并重命名引导菜单:

cp /var/www/html/centos/7/os/x86_64/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/

最后的文件列表如下:

/var/lib/tftpboot/

├── initrd.img

├── menu.c32

├── pxelinux.0

├── pxelinux.cfg

│ └── default

└── vmlinuz

   

8.配置启动引导界面菜单

vim /var/lib/tftpboot/pxelinux.cfg/default

   

default menu.c32 ###################背景风格选择第七步拷过来的menu.c32

timeout 600 ########################等待选择时间

menu title AUTO PXE from zhongmaohan.cn

label auto

menu label Auto ^Install CentOS 7 ############ ^托字符表示快捷键

kernel vmlinuz

append initrd=initrd.img ks=http://192.168.30.104/ks/ks7.cfg

label manual

menu label ^Manual Install CentOS 7

kernel vmlinuz

append initrd=initrd.img inst.repo=http://192.168.30.104/centos/7/os/x86_64

label local

menu default #####################默认选择安装项,避免把已安装设备重装

menu label ^Boot from local drive

localboot 0xffff

 

 

 Ⅰ配置案例传送链接,每个步骤和上文一一对应(多图)

   

Ⅱ 使用cobbler自动安装系统,它实际上是集成了PXE安装以及依赖的所有服务

   

1.安装环境准备,关闭防火墙,selinux,dhcp服务器静态IP

2.安装软件:yum install cobbler(EPEL源) dhcp ############会自动安装syslinux tftp-server

3.cobbler check

4.vim /etc/cobbler/settings

修改参数

server:192.168.30.104 ######cobblerserverip

next_server:192.168.30.104 ########cobblerserverip

default_password_cryptd: "$1$centos$WYqe951u9KPinq5pgSHy/." ##elilo.efi, and yaboot####使用openssl生成root密码

manage_dhcp:1 ######让cobbler管理dhcp

5. systemctl enable rsyncd

systemctl start rsyncd

6. cobbler get-loaders #######联网自动获取pxelinux.0 menu.c32 elilo.efi yaboot

cobbler sync 自动配置好文件

7. vim /etc/cobbler/dhcp.template修改自己的dhcp网段

如果局域网中有DNS和路由建议也配置上,其他配置不变

subnet 192.168.30.0 netmask 255.255.255.0

 range dynamic-bootp 192.168.30.100 192.168.30.254;

   

8. systemctl start cobblerd

cobbler sync

   

9.挂载光盘并导入yum安装源(光盘的所有安装包都会被拷贝到cobbler服务器)

/dev/sr0 8490330 8490330 0 100% /mnt/cdrom0

/dev/sr1 6049912 6049912 0 100% /mnt/cdrom1

   

cobbler import --path=/mnt/cdrom0 --name=CentOS_7.4-x86_64 --arch=x86_64

cobbler import --path=/mnt/cdrom1 --name=CentOS_6.9-x86_64 --arch=x86_64

####这里只导入cntos6.9的包

cobbler distro list

   

10. 生成ks6.cfg并传到cobbler服务器,注意其中url行设置成:url --url=$tree

   添加cobbler profile

       cobbler profile add --name=Centos_6.9 --distro=Centos_6.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks6_mini.cfg

 删除cobbler自带配置

cobbler profile remove --name=Centos_6.9-i386

cobbler profile remove --name=Centos_6.9-x86_64

 Ⅱ配置实例传送链接,每一步一一对应上文(多图)

 

猜你喜欢

转载自www.cnblogs.com/allin2018/p/9094275.html