DHCP服务+PXE自动安装系统

DHCP服务+PXE自动安装系统


DHCP安装

安装DHCP服务器

yum install dhcp -y

安装完dhcp默认无法启动,需要编辑配置文件设置分配地址范围等相关信息,服务器自身IP地址要在某个分配的子网中。

编辑配置文件
默认配置文件中没有定义相关内容,需要将文件/usr/share/doc/dhcp*/dhcpd.conf.example拷贝为/etc/dhcp/dhcpd.conf,然后编辑配置文件。部分内容如下

vim /etc/dhcp/dhcpd.conf

option domain-name "test.org";  #dns搜索域
option domain-name-servers 114.114.114.114, 119.29.29.29;   #dns服务器地址

default-lease-time 600; #默认租期,秒为单位
max-lease-time 7200;    #最大租期

log-facility local7;    #定义日志


subnet 192.168.153.0 netmask 255.255.255.0 {       #subnet定义要分配的子网,netmask为掩码
  range 192.168.153.120 192.168.153.200;        #设置地址池
  option domain-name-servers ns1.internal.example.org;      #dns服务器地址
  option domain-name "internal.example.org";        #dns搜索域
  option routers 192.168.153.2;      #客户机获取的默认网关地址
  option broadcast-address 192.168.153.255;       #客户机的广播地址
  default-lease-time 600;       #默认租期,秒为单位
  max-lease-time 7200;      #最大租期
  next-server 192.168.153.100;  #提供引导文件的服务器IP地址
  filename "pxelinux.0";    #指明引导文件名称。实现pxe安装系统next-server和filename必不可少
}
#注:subnet字段为局部设置,优先级高于全局。option在全局和局部都可设置

host fantasia { #指定IP地址分配给主机,此处的fantasia仅仅为dhcp服务中对目标主机的标示,并非为目标主机的主机名
  hardware ethernet 08:00:07:26:c0:a5;      #目标主机mac地址
  fixed-address fantasia.fugue.com;     #指定为其保留的IP
}

启动DHCP服务

systemctl start dhcp

安装httpd服务,用于搭建yum源

yum install httpd       #安装
systemctl start httpd   #启动
systemctl enable httpd  #开机自启

创建centos7镜像文件网页路径,并将centos7光盘挂载到该路径下

mkdir /var/www/html/centos7
mount /dev/sr0 /var/www/html/centos7

可将挂载信息写入配置文件中,以便于开机自动挂载

echo "/dev/sr0 /var/www/html/centos7   iso9660  defaults  0 0" >> /etc/fstab

准备应答文件

应答文件可根据之前手动安装系统后系统中/root家目录中的anaconda-ks.cfg文件修改,也可以通过工具system-config-kickstart生成

yum install system-config-kickstart     #安装工具
system-config-kickstart     #运行工具,会出现图形界面,配置完保存即可

将配置文件拷贝到网页文件路径下

cp /root/anaconda-ks.cfg /var/www/html/ks.cfg  #文件内容根据个人需求自行修改 
#如果配置多个版本系统,可以在网页文件路径下创建不同的目录,实现不同版本之间文件区分
chmod +r /var/www/html/ks.cfg   #添加文件读权限,确保能够正常访问到文件内容

安装tftp和syslinux

yum install tftp-server syslinux -y  #syslinux用于提供pxelinux.0文件,centos6需要安装syslinux-nonlinux
systemctl start tftp.socket
systemctl enable tftp.socket

准备pxe相关文件

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot
cp /var/www/html/centos7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot 
mkdir /var/lib/tftpboot/pxelinux.cfg/ #创建启动菜单目录
vim /var/lib/tftpboot/pexlinux.cfg/default #编辑菜单文件,内容可参考光盘中ioslinux目录下isolinux.cfg文件

内容参考
default menu.c32
timeout 600

menu title Auto Install CentOS
label desktop
  menu label Install ^Desktop CentOS 7
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.153.100/ks.cfg

label local
  menu label Boot from ^local drive
 menu defaut
  localboot 0xffff

menu end

至此环境全部准备好了,可以检查一下各个服务是否都正常运行,都没有问题就可以开机器安装系统验证了

posted on 2019-09-07 17:30  遗忘街角  阅读(951)  评论(0编辑  收藏  举报

导航