linux系统自动安装之PXE

PXE(集成在网卡上的)
预启动执行环境 (能够通过网络实现操作系统安装)

PXE工作原理
1、Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client
2、Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0
3、Client执行接收到的pxelinux.0文件
4、Client向TFTP Server发送针对本机的配置信息文件(在TFTP 服务的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。
5、Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client
6、Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统
7、Client启动Linux内核
8、Client下载安装源文件,读取自动化安装脚本

下面以centos7的安装为例说明实现步骤:

此例子中dhcp服务端ip为192.168.27.128

安装前准备:
1、关闭防火墙和SELINUX
2、DHCP服务器静态IP

安装软件包
httpd   tftp-server   dhcp   syslinux    system-config-kickstart

配置文件共享服务:
systemctl enable httpd
systemctl start httpd
mkdir /var/www/html/centos/7
mount /dev/sr0/var/www/html/centos/7

准备kickstart文件
/var/www/html/ksdir/ks7-mini.cfg  #注意文件权限,权限不足,会导致安装过程中无法获取文件
cdrom更改为 url –url=http://192.168.27.128/centos/7
firewall –disabled
selinux –disabled
把安装方式更改为文本
text
reboot
把网络设为on
zerombr
更改clearpart –all –initlabel

配置tftp服务
客户端连接时,默认访问的就是/var/lib/tftpboot/目录
systemctl enable tftp.socket
systemctl start tftp.socket
配置DHCP服务
vim /etc/dhcp/dhcpd.conf
option domain-name “example.com”;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.27.0 netmask 255.255.255.0 {
range 192.168.27.100 192.168.27.200;
filename “pxelinux.0”;
next-server 192.168.27.128;
}
systemctl enable dhcpd
systemctl start dhcpd

准备相关文件
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
#也可以用vesamenu.c32,不同的菜单风格
cp /misc/cd/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/
cp /misc/cd/isolinux/isolinux.cfg
/var/lib/tftpboot/pxelinux.cfg/default

准备启动菜单
Vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
timeout 600
menu title PXE INSTALL MENU
label auto
menu label Install ^Mini CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.27.128/ksdir/ks7-mini.cfg
label manual
menu label Install ^Desktop CentOS 7
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.27.128/ksdir/ks7-desktop.cfg
label local
menu default
menu label ^Boot from local drive
localboot 0xffff

至此所有步骤完成,在安装系统的时候就可以选择从网络引导自动安装系统了

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91154

(0)
oranixoranix
上一篇 2018-01-16 13:04
下一篇 2018-01-16 20:20

相关推荐

  • mysql并发控制

    并发控制: 锁:Lock 1、锁类型 : 读锁:共享锁,可被多个读操作共享; 写锁:排它锁,独占锁; 2、锁粒度: 表锁:在表级别施加锁,并发性较低; 行锁:在行级另施加锁,并发性较高; 3、锁策略:在锁粒度及数据安全性之间寻求一种平衡机制; 存储引擎:级别以及何时施加或释放锁由存储引擎自行决定; MySQL Server:表级别,可自行决定,也允许显式请求…

    2016-11-18
  • 第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;grep “^[[:space:]]+”  /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;[root@localhost ~…

    Linux干货 2017-03-10
  • N21_第5周作业find

    第5周作业 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@iZ28zld7ztoZ ~]# grep '^[[:space:]]' /boot/grub/grub.conf [root@iZ28zld7ztoZ ~]# grep&nbsp…

    Linux干货 2016-08-08
  • 磁盘管理之文件系统

                             文件系统     文件系统是操作系统用于…

    Linux干货 2016-09-06
  • 抓包获取QQ好友IP地址

    作者:网海过客 原文连接:https://www.chinasa.net/archives/326.html 原理:通过抓包软件,抓取QQ进程,向QQ好向发送UDP数据包,获取QQ好友IP地址 抓包软件:科来网络分析系统 步骤: 1、打开抓包软件,选择网卡,本地进程分析。 2、向QQ好友发起语音通话 3、在抓包软件里,找到QQ进程,数据包,过滤UDP协议,在…

    Linux干货 2017-06-30
  • 排名三剑客的VIM _正确的打开姿势!

    vim程序编辑器        vi:是老式的文字处理器。     vi的使用:【vi分为3种模式一般模式、编辑模式、命令模式】         一般模式:   vi打开文件就直接进入到了一…

    Linux干货 2017-04-10