网关 classroom 172.25.8.254
workstation 172.25.8.9
server a-jeth0 172.25.8.10-外网
eth1 192.168.0.x内网
eth2 192.168.1.x备用
——————————————–
需求:自动化运维
设计:让服务器通过网络自动的安装操作系统
原理:1. dhcp 软件包
2. /etc/dhcpd.conf 配置文件
3. 例子配置文件 /usr/share/doc/dhcp
1. 通过网卡引导计算机
2. 网卡和 BIOS 必须支持 PXE
3. 需要使用 DHCP 和 TFTP 服务
PXELINUX
1. SYSLINUX 启动工具主要用以启动 CD/DVD
2. 放入 /tftpboot 目录的 bootstrap 文件名必须保证和 dhcpd.conf 中配置的一样
(pxelinux.0)
3. Linux 安装和无盘工作站所需要的内核文件( vmlinuz 和 initrd.img) 也要放在 /tftpboot/ 目录
4. /tftpboot/pxelinux.cfg/ 目录放置网络启动配置文件
1. kickstart 文件位置由 PXELINUX 的启动配置文件告知安装内核
2. kickstart 文件可以由 nfs 或 http 服务器提供
3. 安装包源位置由 kickstart 文件指定
硬件:linuxserver
系统:rhel7
软件:system-config-kickstart、xinetd、 tftp-server.x86_64 、dhcp、 httpd
服务:system-config-kickstart xinetd vim /etc/xinetd.d/tftp dhcpd httpd
部署:
(1)
yum -y install system-config-kickstart#在有图形化界面的workstation上安装,用来备份原来安装的信息
system-config-kickstart#打开软件->file->open file->设置基本信息->file->savefile
vim anaconda-ks.cfg #打开文件时会提示有些字段不能识别,打开文件删除最后的未识别的内容,其中一个end
vim ks.cfg #查看生成的ks文件,删除不用的软件包
scp ks.cfg root@172.25.8.12:/var/www/html#将生成的文件copy到serverc的http根目录
(2)
yum install tftp-server.x86_64 dhcp httpd -y
vim /etc/dhcp/dhcpd.conf #修改dhcp配置文件配置dhcp
———-
ddns-update-style interim;//配置使用 DHCP 更新 DNS
ignore client-updates;//忽略客户端更新
allow bootp;
allow booting;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
next-server 192.168.0.12;
filename “pxelinux.0”;
option time-offset -18000;
range dynamic-bootp 192.168.0.200 192.168.0.240;
default-lease-time 600;
max-lease-time 7200;
}
———————–
(3)
yum -y install xinetd#安装软件
vim /etc/xinetd.d/tftp#通过修改配置文件启动tftp服务
————-
disable= no
————-
systemctl start xinetd
(4)
updatedb
[root@serverc /]# locate pxelinux.0#查找文件
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0
cd /var/lib/tftpboot/
[root@serverc tftpboot]# cp /usr/share/syslinux/pxelinux.0 ./
(5)
[root@serverc tftpboot]# mkdir pxelinux.cfg#新建目录存放default文件
[root@serverc tftpboot]# cd pxelinux.cfg/
[root@serverc pxelinux.cfg]# vim default#pxe 配置文件 default
default vesamenu.c32
#prompt 1
timeout 60
menu title Welcom to link
label local
menu label Boot from ^local drive
menu default
localboot 0xffff
label install
menu label Install rhel7.1
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.0.12/ks.cfg
—————————–
(6)
cd /tmp
wget http://172.25.254.254/content/rhel7.1/x86_64/isos/rhel-server-7.1-x86_64-dvd.iso
[root@serverc pxelinux.cfg]# mount /tmp/rhel-server-7.1-x86_64-dvd.iso /var/www/html/dvd/ -o loop,ro
cp /var/www/html/dvd/isolinux/vesamenu.c32 /var/lib/tftpboot/#将网络安装所需要的启动和映像文件拷贝到 /tftpboot
cp /var/www/html/dvd/isolinux/vmlinuz /var/lib/tftpboot/
cp /var/www/html/dvd/isolinux/initrd.img /var/lib/tftpboot/
使用内网的网卡
[root@serverc ~]# ifdown eth0
[root@serverc ~]# ifdown eth2
[root@serverc pxelinux.cfg]# systemctl start xinetd
[root@serverc pxelinux.cfg]# systemctl start dhcpd
[root@serverc pxelinux.cfg]# systemctl start httpd
问题与解答:
1.报错:tftp无法启动
原因:xined没有打开
2.报错:pxlinux.0不存在
原因:pxlinux.0文件没有复制或者文件名错误
3.报错:unable to local configuration file
原因:default文件不存在
4.vmlinux vesamenu.c32 文件等