前段时间想学习PXE安装机器,搜了一下发现很零散,自己磕磕绊绊学习,最终成功,总结了一下搭建PXE的搭建过程。
使用虚拟机安装centos7将内存调整为2G,设置1G会出错

1、部署DHCP服务

安装DHCP
注意DHCP服务器分配的地址段要与服务器网卡IP为同一地址段
编辑DHCP服务vi /etc/dhcp/dhcpd.conf
allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192.168.44.0 netmask 255.255.255.0{
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.44.2;
range dynamic-bootp 192.168.44.150 192.168.44.200; //DHCP地址范围
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.44.2; //指定tftp服务器地址
filename “pxelinux.0”;
}
重启服务:systemctl restart dhcpd

2、部署TFTP服务

安装TFTP服务器和xined服务
vi /etc/xinetd.d/tftp
//将disabled的值改为no
重启服务:systemctl restart xinetd
重启服务:systemctl restart tftp

3、部署SYSLinux服务

将相关引导文件复制到tftp目录以供客户端下载(将系统提前挂载至/media/cdrom)
cd /var/lib/tftpboot //TFTP的servier目录
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot //安装完syslinux后出现的文件
将系统镜像中的文件拷贝到tftp目录中
cp /media/cdrom/images/pxeboot/vmlinux /var/lib/tftpboot
cp /media/cdrom/images/pxeboot/initrd.img /var/lib/tftpboot
cp /media/cdrom/isolinux/vesamenu.c32 /var/lib/tftpboot
将引导模板复制到tftp目录
cd /var/lib/tftpboot
mkdir pxelinux.cfg
cp /media/cdrom/isolinux.cfg pxelinux/default //j将isolinux.cfg复制过来并重命名为default
编辑引导文件模板
vim pxelinux.cfg/default
第一行修改为default linux,并注释default vesamenu.c32
第64行修改为 :append initrd=initrd.img inst.stage2=http://192.168.44.2/cdrom ks=http://192.168.44.2/ks.cfg //注释原行
如果不使用自动部署 inst.stage2应该改为inst.repo

4、部署http服务

将root目录下的anaconda-ks.cfg文件复制到/var/www/html/目录下并重命名ks.cfg
将第5行原cdrom删除改为url --url=http://192.168.44.2/cdrom
network --onboot yes --device eth0 --bootprotp dhcp // 给服务器自动分配IP,如果固定IP地址同时安装会出现冲突,到了安装阶段会给网卡分配IP获取安装源,所以使用dhcp分配IP
将这一行注释network --bootproto=static --device=ens34 --gateway=192.168.182.1 --ip=192.168.182.111 --netmask=255.255.255.0 --ipv6=auto --activate
注意,这里将光盘镜像挂载到/var/www/html/cdrom目录下,打开浏览器访问http://192.168.44.2/cdrom应出现如下界面

5、使用kickstart创建ks.cfg文件

创建ks.cfg文件方法
1、安装完一台服务器拷贝/root/anaconda.cfg文件,修改url如上述步骤所示;
方法2:手动创建ks.cfg文件;
方法3、使用kickstart图形界面创建
下面介绍使用图形界面创建ks.cfg文件过程
安装kickstart,yum install system-config-kickstart
配置本地yum源
vim /etc/yum.repo/新建名.repo
添加配置:
————————————————————————————————
[development] //一定为这个名称,不然kickstar无法选择安装包
name=red hat 777 //yum源名称
baseurl=file:///mnt/cdrom //镜像挂载位置
gpgcheck=0 //开启校验
enable=1 //启用这个yum源

————————————————————————————————
更新yum源:
yum clean all
yum makecache
输入system-config-kickstart可以打开图形界面定制ks.cfg

—————————————————————————————————
ks.cfg具体名称含义
关键字 含义
install 告知安装程序,这是一次全新安装,而不是升级upgrade。
url --url=" " 通过FTP或HTTP从远程服务器上的安装树中安装。
url --url=“http://10.0.0.7/CentOS-6.7/”
url --url ftp://:@/

nfs 从指定的NFS服务器安装。
nfs --server=nfsserver.example.com --dir=/tmp/install-tree
text 使用文本模式安装。
lang 设置在安装过程中使用的语言以及系统的缺省语言。lang en_US.UTF-8
keyboard 设置系统键盘类型。keyboard us
zerombr 清除mbr引导信息。
bootloader 系统引导相关配置。
bootloader --location=mbr --driveorder=sda --append=“crashkernel=auto rhgb quiet”
–location=,指定引导记录被写入的位置.有效的值如下:mbr(缺省),partition(在包含内核的分区的第一个扇区安装引导装载程序)或none(不安装引导装载程序)。
–driveorder,指定在BIOS引导顺序中居首的驱动器。
–append=,指定内核参数.要指定多个参数,使用空格分隔它们。
network 为通过网络的kickstart安装以及所安装的系统配置联网信息。
network --bootproto=dhcp --device=eth0 --onboot=yes --noipv6 --hostname=CentOS6
–bootproto=[dhcp/bootp/static]中的一种,缺省值是dhcp。bootp和dhcp被认为是相同的。
static方法要求在kickstart文件里输入所有的网络信息。
network --bootproto=static --ip=10.0.0.100 --netmask=255.255.255.0 --gateway=10.0.0.2 --nameserver=10.0.0.2
请注意所有配置信息都必须在一行上指定,不能使用反斜线来换行。
–ip=,要安装的机器的IP地址.
–gateway=,IP地址格式的默认网关.
–netmask=,安装的系统的子网掩码.
–hostname=,安装的系统的主机名.
–onboot=,是否在引导时启用该设备.
–noipv6=,禁用此设备的IPv6.
–nameserver=,配置dns解析.
timezone 设置系统时区。timezone --utc Asia/Shanghai
authconfig 系统认证信息。authconfig --enableshadow --passalgo=sha512
设置密码加密方式为sha512 启用shadow文件。
rootpw root密码
clearpart 清空分区。clearpart --all --initlabel
–all 从系统中清除所有分区,–initlable 初始化磁盘标签
part 磁盘分区。
part /boot --fstype=ext4 --asprimary --size=200
part swap --size=1024
part / --fstype=ext4 --grow --asprimary --size=200
–fstype=,为分区设置文件系统类型.有效的类型为ext2,ext3,swap和vfat。
–asprimary,强迫把分区分配为主分区,否则提示分区失败。
–size=,以MB为单位的分区最小值.在此处指定一个整数值,如500.不要在数字后面加MB。
–grow,告诉分区使用所有可用空间(若有),或使用设置的最大值。
firstboot 负责协助配置redhat一些重要的信息。
firstboot --disable
selinux 关闭selinux。selinux --disabled
firewall 关闭防火墙。firewall --disabled
logging 设置日志级别。logging --level=info
reboot 设定安装完成后重启,此选项必须存在,不然kickstart显示一条消息,并等待用户按任意键后才重新引导,也可以选择halt关机
%packages #包组段 的开始 @ 表示是表明这是包组
@base
@compat-libraries
@debugging
@development
tree #这几个都是镜像里边有的
nmap
sysstat
lrzsz
dos2unix
telnet
post 是脚本段的开始
用的较多 之前的命令都执行完了之后,在执行一些想要执行的命令,装完系统后需要安装什么,或者是需要执行什么命令,都可以在这里添加上执行 。是在客户端执行
%post
脚本放置位置
%end
————————————————

搭建PXE自动安装centos相关推荐

  1. 用Kickstart批量安装Linux系统、Kickstart安装,linux批量安装;Linux的Kickstart的 无人值守安装;linux pxe自动安装linux系统...

    用Kickstart批量安装Linux|Kickstart,批量安装:Linux的Kickstart的 无人值守安装:linux pxe自动安装linux系统: KickStart + DHCP + ...

  2. 搭建pxe远程安装服务器

    目录 一.PXE概述 二.PXE批量部署的优点 三.搭建PXE网络体系所需条件 四.搭建PXE远程安装服务器 1.安装DHCP服务 2.安装tftp 3.准备pxe引导程序 4.安装ftp源 5.配置 ...

  3. u盘启动pxe安装linux,U盘启动安装centos5.5+centos6.3+PXE网络安装CentOS

    此U盘启动安装盘的功能: 1.0pe可用来进行系统维护: 2.0pe可安装windows 2003原版系统: 3.0pe可作为pxe服务器进行网络安装,加上http服务器软件可提供网络安装CentOS ...

  4. pxe安装linux dhcp失败,利用PXE自动化安装Centos时启动DHCP服务时遇到错误,请求大佬指教...

    @利用PXE自动化安装Centos时启动DHCP服务时遇到错误,请求大佬指教 [root@localhost ~]# systemctl start dhcpd.service Job for dhc ...

  5. 通过 PXE 自动安装操作系统:部署 PXE Server

    通过 PXE 自动安装操作系统(1):部署 PXE Server PXE(Preboot eXecution Environment) 支持客户端通过网络从服务器端下载系统镜像,并进行安装.在安装过程 ...

  6. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)

    目录 1. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置) 1.1. 需要的软件 1.2. 启动 proxy dhcp 服务 1.3. 关键的几个配置文件 PXE 自动安装物理机 ( ...

  7. 网络无人自动安装centos 6.2 + PXE + httpd + kickstart

    centos 6.2 +PXE +httpd + system-config-kickstart 网络无人自动安装   注意:因为dhcpd  和tftp 的 某几个选项和配置文件在centos 5. ...

  8. pxe安装linux后命令不可用,pxe自动安装linux

    配置自动安装操作系统 1.网卡应支持pxe技术,由网卡作为dhcp的客户端向dhcp服务器请求一个IP地址,dhcp会将ip,网关等信息和的tftp服务器的地址应加载的文件名提供给客户端 2.根据dh ...

  9. 搭建pxe环境安装系统

    简介 安装系统,听起来是很简单的事情,哪怕是完全没有基础,在网卡搜索一篇安装教程,一步一步照着做,也可以把系统安装好.当然,很多时候简单的事,一旦数量多了之后,就会发现变得很难处理.只为一台电脑安装系 ...

最新文章

  1. C# 开启及停止进程
  2. 主流浏览器js 引擎内核市场份额attialx总结vOa9
  3. 读取位置 0x00000028 时发生访问冲突该怎么解决
  4. 不同品牌发电机组间的并机知识
  5. python读取一行数组_python 把文件中的每一行以数组的元素放入数组中的方法
  6. Learning python学习总结之字符串方法
  7. 刚买的ubuntu服务器 为什么没有文件,新买的linux服务器怎么使用
  8. php 命名空间实现的原理,php命名空间实现的理解
  9. 统计范围内不含‘7‘的数字个数(洛谷P1590题题解,Java语言描述)
  10. cad怎么导出jpg图片格式?
  11. android之仿朋友圈程序,Android仿微信朋友圈添加图片的实例代码
  12. 世界域名后缀大全,所有国家域名后缀都有
  13. 什么是对象存储OSS,看完你就懂了
  14. 模式识别技术是人工智能的基础技术,模式识别技术的发展潜力
  15. win10虚拟桌面快捷键
  16. VS编程,WPF控件增加图片背景的一种方法
  17. SQLiteSpy 打开SqLite数据库文件
  18. 理解collate Chinese_PRC_CI_AS ,请看实例:sql语句中如何识别字符串中的中文逗号的问题
  19. IT转互联网的转行经验
  20. Lua脚本快速上手(附示例程序代码)

热门文章

  1. 100万美金VS100美金FBI本可以在iPhone 5c解锁案中省下一大笔钱
  2. 强烈推荐 10 本我私藏的数据库书单,附读书方法
  3. 大文件的切割与归并(数据分析案例三)
  4. 服务器会话视图没有显示内容,举个栗子!Tableau 技巧(77):通过服务器视图的全屏实现多媒体展示...
  5. 微软输入法 ——当前时间 快捷键
  6. Android 轻量级数据库 Hawk
  7. 2021年上海会展行业发展现状及重点企业对比分析:展览面积为1086万平方米,同比减少1.97%[图]
  8. 我们都需要时间,成为更好的人(转载)
  9. Linux只读文件系统
  10. SAP业务顾问必备的技术能力