centos7PXE和cobbler自动部署装机

安装程序启动过程
MBR:isolinux/boot.cat
stage2: isolinux/isolinux.bin
配置文件:isolinux/isolinux.cfg
    每个对应的菜单选项:
    加载内核:isolinuz/vmlinuz
    向内核传递参数:append initrd=initrd.img ...
装载根文件系统,并启动anaconda
默认启动GUI接口,若是显式指定使用TUI接口:向内核传递text参数即可
(1)按tab键,在后面增加text
(2)按ESC键:boot: linux text
anaconda工作过程
 Anaconda安装系统分成三个阶段:
 安装前配置阶段
    安装过程使用的语言
    键盘类型
    安装目标存储设备
    Basic Storage:本地磁盘
    特殊设备:iSCSI
    设定主机名
    配置网络接口
    时区
    管理员密码
    设定分区方式及MBR的安装位置
    创建一个普通用户
    选定要安装的程序包

Cobbler:
快速网络安装linux操作系统的服务,支持众多的Linux发行版:Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE,也可以支持网络安装windows

PXE的二次封装,将多种安装参数封装到一个菜单
Python编写
提供了CLI和Web的管理形式

Cobbler 工作流程:
client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP
DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址
client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求
cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port
client裸机通过上面告知的TFTP server地址通信,下载引导文件
client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求kickstart文件和os image
cobbler server发送请求的kickstart和os iamge
client裸机加载kickstart文件
client裸机接收os image,安装该os image

实验机器:  centos7.6服务器一台(IP地址:192.168.99.130)

实验环境:需要用的服务: dhcp tftp-server cobbler httpd kickstart

实验步骤:

1、安装所需的软件:  yum install -y dhcp tftp-server cobbler httpd  system-config-kickstart

2、先创建所需要使用的目录

 ①在网站根目录下创建

②把需要用到的centos6和7的光盘镜像挂载到对应的刚创建的目录下

3、创建生成自动应答文件,运行system-config-kickstart打开kickstart进行配置

①基础配置,语言、root密码设置等

 ②安装方法,通过网络安装,路径写源的路径即可

 

③启动向导,如果想使用centos6的eth0传统网卡命名可以添加内核参数 net.ifname=0

 

④创建分区大小

 

⑤网卡配置

⑥selinux和防火墙可选择禁用

⑦包列表选择,如果没有配置本地光盘源的话此项是空的,需要配置后才可以使用

 yum源配置,[ ]  名称必须设置为development,否则找不着

 配置好后打开重新配置即可,根据自己需要选择相应的包

 

 ⑧可以自定义一个脚本当系统装完之后会自动运行,也可以不写

 

保存文件到刚刚创建的ksdir目录下,并设置好权限

 注意权限: chmod 644 /var/www/html/ksdir/ks7.cfg

4、配置dhcp服务

vim /etc/dhcp/dhcpd.conf

 5、配置 tftp,准备相关的启动文件

cd   /var/lib/tftpboot/

mkdir pxelinux.cfg
cp   /usr/share/syslinux/{pxelinux.0,menu.c32}     /var/lib/tftpboot/    #拷贝启动文件和文本菜单,pxelinux.0如果没有此项则需要安装,yum install -y syslinux 即可
cp  /var/www/html/centso/7/images/pxeboot/{vmlinuz, initrd.img}    /var/lib/tftpboot/     #拷贝内核文件,驱动文件
cp   /var/www/html/centso/7/isolinux/isolinux.cfg   /var/lib/tftpboot/pxelinux.cfg/default    #拷贝菜单项到pxelinux.cfg下并命名为default

6、修改启动菜单项

7、启动服务

新建虚拟机,调试网卡模式,硬盘大小容量不能小于应答文件创建分区时的所设置的大小、内存大小等参数(注意:centos7最小内存必须1.5G以上否则无法安装)

出现菜单项,选择需要部署的系统即可

 若安装centos7,内存低于1.5G就会报错,如图

 二、配置cobbler服务

1、启动cobbler服务,然后执行cobbler check 让其进行环境的检查,出现以下提示,

 

2、cobbler 报错提示和解决
第一条: 修改/etc/cobbler/settings文件中的server参数的值为提供cobbler服务的主机相应的IP地址或主机名

第二条:修改/etc/cobbler/settings文件中的next_server参数的值为提供PXE服务的主机相应的IP地址

第三条:如果是centos6上则需要开启xinetd服务中的tftp服务,centos7不需要

第四条:如果当前节点可以访问互联网,执行“cobbler get-loaders”命令即可;否则,需要安装syslinux程序包,而后复制/usr/share/syslinux/{pxelinux.0,memu.c32}等文件至/var/lib/cobbler/loaders/目录中
第五条:修改/etc/cobbler/settings文件,manage_dhcp: 1,并修改下面文件 /etc/cobbler/dhcp.template
第七条:执行“openssl passwd -1 生成密码,并用其替换/etc/cobbler/settings文件中default_password_crypted参数的值

修改:

①先生成一个加密的秘钥,得到秘钥后编辑/etc/cobbler/settings文件,按上面的提示进行修改个别项

101行,修改默认的密码,替换为刚刚得到的那一串加密的密码

242行,默认值为0(0表示手工修改),修改为1,利用模板文件生成dhcp的配置

272行,修改提供PXE服务的主机相应的IP地址

384行,修改cobbler服务的主机相应的IP地址或主机名

 ② 第四条 当前我们的主机可以联网所以执行执行命令cobbler get-loaders,cobbler会自动的下载相应的启动加载的一些文件

 ③ 修改/etc/cobbler/dhcp.template  cobbler自带的模板文件

 

④ 重启dhcp服务和cobbler服务,在执行cobbler sync命令进行cobbler配置同步

 3、此时cobbler服务已经可以使用了,找个新机器重启,dhcp会分配ip地址和tftp服务器的地址,自动的去找到启动所需要的文件

可以看到以下界面,因为我们还没有导入系统文件和生成菜单项

 

4、下面开始导入镜像和生成启动菜单项

distro是菜单项
profile是管理cobbler的应答文件的

这两个都是空的,下面开始导入

 

② 把6和7的两张光盘文件拷贝到cobbler里生成yum

执行命令: cobbler import --path=/var/www/html/centos/6/   --name=Centos6.10-x86_64   --arch=x86_64

 

导入完成后再次查看,刚刚导入了两套yum源所以生成了两套菜单distro

5、导入完后启动菜单就生成了,此时的应答文件内容是自带的,不是我们自己制作的那两个应答文件

 

6、下面我们进行修改,改成我们自己制作的应答文件

 ① 先修改一下文件,把url的路径修改为¥tree即可,此变量是cobbler自带的变量

② 把应答文件拷贝到cobbler的指定的应答文件文件目录里

 

③ 把yum源和菜单进行关联,要写绝对路径,否则找不着 

④ 导入完成后,查看一下菜单,可以把自带的两个删除,只留下我们新添加的两个

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

 

7、重启cobbler服务,此时cobbler的配置已完成,找个新机器开机启动即可,下面的两项就是刚刚创建的新菜单项,选择确认后就可以自动安装了

 

 以上就是Cobbler PEXkickstart,批量部署安装的详细步骤

如果对你有帮助的话可以点赞关注哦,谢谢支持

原文地址:https://www.cnblogs.com/fengdejiyixx/p/11109431.html