pxe实现自动化安装centos系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pxe实现自动化安装centos系统相关的知识,希望对你有一定的参考价值。
实验:pxe实现自动化安装centos7系统
将配置搭建为如下框架:
.
├── initrd.img
├── menu.c32
├── pxelinux.0
├── pxelinux.cfg
│?? └── default
└── vmlinuz
(1)A机器配置
yum info tftp-server httpd dhcp syslinux syslinux提供pxelinux.0引导文件
#chkconfig tftp on 开启有xinetd守护的tftp服务 centos6上
#vim /etc/xinetd.d/tftp 也可以直接改文件
/var/lib/tftpboot 此为tftp服务的共享目录,裸机网卡内置的tftp客户端可以从此获取文件
可以安装tftp客户端进行获取文件测试,tftp 172.18.62.60命令连接服务端,get获取共享目
录的文件;
cd /var/lib/tftpboot
cp /mnt/centos7/isolinux/{initrd.img,vmlinuz} . 复制内核和根文件系统到此目录下
updatedb 更新数据库
locate pxelinux.0 用locate命令查询引导文件
cp /usr/share/syslinux/pxelinux.0 . 复制syslinux包生成的引导文件pxelinux.0到当前目
录;
cp /usr/share/syslinux/menu.c32 . 复制syslinux包的menu.c32文件到当前目录作为启
动菜单的背景;
mkdir pxelinux.cfg
cp /mnt/centos7/isolinux/isolinux.cfg pxelinux.cfg/default 复制菜单文件到当前创建的目
录,并改名;
vim pxelinux.cfg/default
default menu.c32
timeout 600
menu title PXE INSTALL CentOS
label desktop
menu label ^Install Desktop CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://172.18.62.60/ks/ks7-pxe-desktop.cfg
label mimi
menu label install ^Mini CentOS 7
kernel 7/vmlinuz
append initrd=7/initrd.img ks=http://172.18.62.60/ks/ks7-pxe-mini.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
menu end
systemctl start tftp 开启服务
cd /var/www/html/
mkdir centos/7/ -pv
mkdir ks/
cd ks
放入用工具或自己模板修改做好的ks文件如下:
├── ks7-pxe-desktop.cfg
└── ks7-pxe-mini.cfg
chmod 644 *
mount /dev/sr0 centos/7/ 挂载系统到此目录下,ks文件写入此系统安装路径
systemctl start httpd
vim /etc/dhcp/dhcpd.conf
option domain-name "yongstar.tech"; 全局配置
option domain-name-servers 114.114.114.114,8.8.8.8;
default-lease-time 86400;
max-lease-time 864000;
subnet 172.18.0.0 netmask 255.255.0.0 {
range 172.18.62.70 172.18.62.200;
option routers 172.18.0.1;
filename "pxelinux.0"; pxe配置的启动文件名
next-server 172.18.62.60; tftp的地址
}
systemctl start dhcpd
确保67、69、80端口的打开
(2)要安装系统的机器配置
虚拟机全局配置不能使用本地dhcp获取地址,而要使用搭建的dhcp服务
网络模式要设置为仅主机模式
centos7桌面版安装时内存需要大于1024M
(3)实验升级,实现在centos7上搭建可以同时安装centos6和centos7的系统的架构
cd /var/www/html/ks
rz 将做好的ks文件导入实现如下:
.
├── ks6-pxe-desktop.cfg
├── ks6-pxe-mini.cfg
├── ks7-pxe-desktop.cfg
└── ks7-pxe-mini.cfg
chmod 644 *
cd ..
mkdir centos/6
mount /dev/sr1 centos/6/ 做好centos6的系统仓库
cd /var/lib/tftpboot/
mkdir {6,7}
vim pxelinux.cfg/default
default menu.c32
timeout 600
menu title PXE INSTALL CentOS
label desktop
menu label ^Install Desktop CentOS 7
kernel 7/vmlinuz
append initrd=7/initrd.img ks=http://172.18.62.60/ks/ks7-pxe-desktop.cfg
label desktop
menu label ^Install Desktop CentOS 6
kernel 6/vmlinuz
append initrd=6/initrd.img ks=http://172.18.62.60/ks/ks6-pxe-desktop.cfg
label mimi
menu label install ^Mini CentOS 7
kernel 7/vmlinuz
append initrd=7/initrd.img ks=http://172.18.62.60/ks/ks7-pxe-mini.cfg
label mimi
menu label install ^Mini CentOS 6
kernel 6/vmlinuz
append initrd=6/initrd.img ks=http://172.18.62.60/ks/ks6-pxe-mini.cfg 路径要对,否则
会出现很诡异错误,如内核指令集被禁用等;
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
menu end
mv initrd.img 7/
mv vmlinuz 7/
cp /var/www/html/centos/6/isolinux/{initrd.img,vmlinuz} 6/
形成如下目录:
.
├── 6
│ ├── initrd.img
│ └── vmlinuz
├── 7
│ ├── initrd.img
│ └── vmlinuz
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
└── default
实验:centos6实现pxe自动化安装系统
(1)A机器配置
yum install httpd tftp-server dhcp syslinux
chkconfig httpd on
chkconfig dhcpd on
chkconfig --list
chkconfig tftp on
cd /etc/dhcp/
cat dhcpd.conf 发现没有内容
cp /usr/share/doc/dhcp*/dhcpd.conf.sample dhcpd.conf 拷贝配置文件示例
vim dhcpd.conf
subnet 172.18.0.0 netmask 255.255.0.0 {
range 172.18.62.10 172.18.62.50;
filename "pxelinux.0";
next-server 172.18.62.50;
}
service dhcpd start
ss -nul
cd /var/www/html/
mkdir centos/6 -pv
mount /dev/sr0 centos/6/
mkdir ksdir
cd ksdir/
rz 导入应答文件
vim ks7-pxe-desktop.cfg 安装centos7系统,加入此3行可以保证全自动
eula --agreed
systemctl set-default multi-user.target
systemctl disable initial-setup-graphical.service
mv ks6-mini_(2).cfg ks6-pxe-mini.cfg
mv ks6-desktop.cfg ks6-pxe-desktop.cfg
chmod 644 *
cd /var/lib/tftpboot/
yum install mlocate
updatedb
locate pxelinux.0
cp /usr/share/syslinux/pxelinux.0 .
cp /mnt/centos6/isolinux/{initrd.img,vmlinuz} .
cp /mnt/centos6/isolinux/{boot.msg,vesamenu.c32} . 复制菜单布局文件
mkdir pxelinux.cfg
cp /mnt/centos6/isolinux/isolinux.cfg pxelinux.cfg/default
vim pxelinux.cfg/default
default vesamenu.c32
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title PXE INSTALL CentOS 6.9!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label desktop
menu label ^Install an Desktop system
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://172.18.62.50/ksdir/ks6-pxe-desktop.cfg
label mini
menu label Install ^Mini system
kernel vmlinuz
append initrd=initrd.img ks=http://172.18.62.50/ksdir/ks6-pxe-mini.cfg
label local
menu label Boot from ^local drive
localboot 0xffff
cp /mnt/centos6/isolinux/splash.jpg .
ss -nutl 确保67、69、80端口打开
(2)要安装系统的机器配置
虚拟机全局配置不能使用本地dhcp获取地址,而要使用搭建的dhcp服务
网络模式要设置为仅主机模式
centos6桌面版安装时内存不需要需要大于1024M
注意:磁盘选择的大小和ks内的设置分区关系密切
以上是关于pxe实现自动化安装centos系统的主要内容,如果未能解决你的问题,请参考以下文章
PXE+Kickstack实现无人值守安装CentOS 7操作系统