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目录下,并设置好权限
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,批量部署安装的详细步骤
如果对你有帮助的话可以点赞关注哦,谢谢支持