Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2295679
  • 博文数量: 168
  • 博客积分: 6641
  • 博客等级: 准将
  • 技术积分: 1996
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-02 11:49
文章存档

2020年(4)

2019年(6)

2017年(1)

2016年(3)

2015年(3)

2014年(8)

2013年(2)

2012年(12)

2011年(19)

2010年(10)

2009年(3)

2008年(17)

2007年(80)

分类: LINUX

2019-12-08 19:00:41


CentOS 7.5 PXE装配简易应用

2017.12.07 TsengYia 
---- http://tsengyia.blog.chinaunix.net/ 

系统环境: 
    CentOS Linux release 7.5.1804 (Core)

软件环境:
    syslinux-4.05-15.el7

#################################################################

一、准备一台CentOS7服务器
1)配置好固定主机名pxesvr、IP地址 192.168.10.7/24
# hostnamectl    set-hostname   pxesvr
# nmcli   connection   modify   ens33   ipv4.method  manual   ipv4.addresses  192.168.10.7/24  
# nmcli   connection   up   ens33 
2)关闭防火墙、禁用SELinux保护机制
# systemctl  disable  firewalld  --now  //禁止开机自启,并立即停止
# vim  /etc/selinux/config
SELINUX=disabled
# setenforce  0
3)把CentOS7的光盘(如果是虚拟机,要连接好ISO文件)挂载到 /mnt/dvd
# mkdir  /mnt/dvd
# mount  /dev/cdrom  /mnt/dvd
4)使用 /mnt/dvd 目录作为临时的软件源
# rm  -rf  /etc/yum.repos.d/*.repo
# yum-config-manager  --add   file:///mnt/dvd
# vim  /etc/yum.conf
gpgcheck=0
# yum  repolist


二、提供DHCP服务
1)为客户机分配IP地址相关参数
2)告诉客户机下一步去找哪一台服务器、去索取一个网卡启动文件
!!!! Linux系统配置文件中的注释标记 #
!!!! 停用工作网络(比如NAT)中其他DHCP服务(比如VMware自带),避免冲突

# yum   -y   install   dhcp
# vim  /etc/dhcp/dhcpd.conf
subnet  192.168.10.0   netmask   255.255.255.0  {
      range  192.168.10.100  192.168.10.200;
      next-server  192.168.10.7;  //告知下一个服务器(TFTP)的地址
      filename  "pxelinux.0";  //告知需要下载的网卡启动文件名
}
# systemctl  enable  dhcpd  --now //设置开机自启,并立即启动


其他备用配置参考:
      #option  routers  默认网关地址;
      #option  domain-name-servers  DNS服务器1地址,DNS服务器2地址;
      #default-lease-time  3600; //默认租约时间
      #max-lease-time  7200; //最大租约时间




三、为客户机提供软件包资源(Web方式)
1)装httpd包
# yum  -y  install  httpd
2)部署软件包资源
# mkdir  /var/www/html/cos7dvd
# cp   -r   /mnt/dvd/*   /var/www/html/cos7dvd
.. .. 请耐心等待,不要中断
3)起httpd服务
# systemctl   enable   httpd   --now

从本机浏览器访问 ,能看到软件资源页



四、提供网络启动相关的文件(构建TFTP启动服务器)
1)网卡启动文件 pxelinux.0
      由软件包 syslinux 提供(/usr/share/syslinux/pxelinux.0)
2)启动菜单配置 pxelinux.cfg/default (配置模块文件、背景图片……)、加载CentOS7系统安装程序(vmlinuz、initrd.img)
     从CentOS7光盘目录isolinux/下获得
# yum  -y  install  tftp-server  //安装TFTP服务软件
# yum  -y  install  syslinux
# cp  /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot/   //部署启动文件
# cp  /mnt/dvd/isolinux/*   /var/lib/tftpboot/ //部署配套文件
# cd  /var/lib/tftpboot/
# mkdir  pxelinux.cfg  //创建配置目录
# cp  isolinux.cfg   pxelinux.cfg/default //建立默认菜单配置
# vim  pxelinux.cfg/default 
查找 label  linux,修改下方的 append 行,inst.stage2=后指定软件包来源地址
  append  initrd=initrd.img inst.stage2=
# systemctl  enable  tftp  --now //启动TFTP服务端

测试TFTP资源是否可以下载:
# cd  /root  
# yum  -y  install  tftp
# tftp  192.168.10.7   -c  get  pxelinux.0
# ls   -lh  pxelinux.0


五、测试PXE网络启动及安装
1)新建一台虚拟机(CentOS64位、内存>2G)
2)把虚拟机开机客户机从网卡启动
     ---- DHCP自动获取到地址
     ---- 连接TFTP服务器
     ---- 下载pxelinux.0启动文件
     ---- 获取菜单配置文件 pxelinux.cfg/default
3)看到安装菜单 ==》选择安装Install CentOS7
     ----  下载 vmlinuz、initrd.img
     ----  运行内核文件、加载安装程序、确保能看到图形选语言界面、……
     ----  手动指定安装来源
     ----  后续过程与光盘安装类似,可以不用完成安装,关闭虚拟机即可


!!!! 若客户机的内存太小,开机PXE引导时容易出现内核崩溃(kernel panic)现象



六、提供自动应答文件(回答安装过程中的各种问题)
1)如何获取应答文件
# vim  /etc/yum.repos.d/*.repo
[development] //源的ID要求 改成 development
# yum  -y  install  system-config-kickstart
# system-config-kickstart
    基本配置:语言、时区、管理密码
    安装方法:全新安装、HTTP安装源的设置
    安装引导装载程序:安装新引导装载程序
    分区:三个单选都选第一项、添加 swap 2000M、/  剩余所有空间
    网络配置:添加一个连接(DHCP)
    软件包选择:勾选“桌面”下除了KDE以外的所有软件类
    安装后脚本,参考以下内容:
rm  -rf  /etc/yum.repos.d/*.repo
echo  '[cos7dvd]
name=added from: file:///mnt/dvd
baseurl=
enabled=1
gpgcheck=0
'  >  /etc/yum.repos.d/cos7dvd.repo
yum  -y  install  httpd
echo 'XXXX'  > /var/www/html/index.html
cp  -rf  upload/*  /var/www/html/
systemctl  enable  httpd
.. ..
——   保存到 /root/ks.cfg 

2)如何让客户机用上这个应答文件
# cp   /root/ks.cfg  /var/www/html/ks-cos7.cfg
# 浏览器访问 
# vim  /var/lib/tftpboot/pxelinux.cfg/default
查找 linux,修改下方的 append 行,
删除 inst.stage2= 部分,换成 ks=应答文件的下载地址
  append  initrd=initrd.img  ks=


七、客户机无人值守安装测试
1)新建一台虚拟机(CentOS64位、内存>2G)
2)把虚拟机开机客户机从网卡启动
     ---- DHCP自动获取到地址
     ---- 连接TFTP服务器
     ---- 下载pxelinux.0启动文件
     ---- 获取菜单配置文件 pxelinux.cfg/default
3)看到安装菜单 ==》选择安装CentOS7
     ----  下载 vmlinuz、initrd.img
     ----  运行内核文件、加载安装程序、确保能看到图形选语言界面、……
     ----  自动完成安装过程

#################################################################



阅读(1106) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~