使用PXE安装CentOS7
1.环境
本文使用VMware 虚拟机进行实验。
点击VMware--编辑--虚拟网络编辑器,新建VMnet15,选择仅主机模式,取消勾选DHCP服务(因为这里使用自己的DHCP服务)。我这里配好后是192.168.93.0/24网络。

一台PXE服务器
CentOS 7.2系统
2张网卡,
网卡eno16777736 ,使用NAT模式(用于yum安装软件),DHCP获取IP
网卡eno50332184 ,连接至VMnet15网络,配置静态IP:192.168.93.10
一台PXE客户机(待安装系统)
2GB 内存(太小不行)
1张网卡,
网卡eno16777736 ,连接至VMnet15网络
2.需求
- SYSLINUX,提供pxelinux.0
- DHCP-SERVER,为客户机提供IP
- TFTP-SERVER,为客户机提供简单文件传输(如传输pxelinux.0等)
- VSFTP-SERVER或APACHE-SERVER,提供repo的系统文件服务
- CentOS 7.2(或7.4都行)安装光盘,如CentOS-7-x86_64-Everything-1511.iso
3.配置
在PXE服务器上,
3.1预配置
临时关闭防火墙
systemctl stop firewalld
临时关闭SELinux
setenforce
安装各个服务器与依赖库
yum -y install tftp-server vsftpd syslinux dhcp xinetd
挂载CentOS 7.2安装光盘(需要先将光盘连接至PXE服务器虚拟机上)
mount -t iso9660 -o loop /dev/cdrom /mnt
3.2配置VSFTP
为了vsftp服务器使用光盘,把/mnt再绑定到/var/ftp/centos(因为vsftp不允许软连接目录)
mkdir -p /var/ftp/centos
mount --bind /mnt/ /var/ftp/centos
3.3配置TFTP
3.3.1配置pxe启动文件
新建tftp启动目录
mkdir -p /tftpboot/pxelinux.cfg
把光盘中isolinux里面的文件都复制到tftp启动目录中
cd /mnt/isolinux
cp -a * /tftpboot/
复制pxelinux.0
cp /usr/share/syslinux/pxelinux. /tftpboot/
将tftp启动目录中的isolinux.cfg(刚从光盘中复制过来的)改名default,并移动至pxelinux.cft目录下
cd /tftpboot
mv isolinux.cfg pxelinux.cfg/default
编辑default文件,增加我们设置的PXE启动项
vi pxelinux.cfg/default
在一堆label 上面添加如下内容
label linux-nidey
menu label ^Install CentOS nidey
kernel vmlinuz
append initrd=initrd.img inst.repo=ftp://192.168.93.10/centos quiet
label另起一个名字,menu就是客户机启动时看到的安装选项名
注意,如果不使用kickstart自动部署,则append后面第二个参数应该用inst.repo,而不是inst.stage2(这种情况客户机启动时会卡在获取安装源步骤)
URL使用前面配置的vsftp服务器(也可以使用Apache-server的http服务,或者搭建nfs也行)

append参数使用inst.stage2则安装时会卡在这里

append参数使用inst.repo则安装时正常获取安装源(图是另截的,见谅...)
3.3.2配置tftp-server
tftp服务器依附于xinetd服务下,
vim /etc/xinetd.d/tftp
server_args 设置我们刚才创建的tftp启动目录,并启用tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source =
cps =
flags = IPv4
}
3.4配置DHCP
vim /etc/dhcp/dhcpd.conf
设置允许引导启动,
192.168.93.0子网,掩码255.255.255.0,地址池192.168.93.240~192.168.93.250
引导启动文件名为pxelinux.0(syslinux提供的,在/tftpboot目录下)
next-server设置为PXE服务器IP,也就是本机:192.168.93.10
因为这里只在一个局域网下安装系统,网关和DNS其实都不用设置。
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 192.168.93.0 netmask 255.255.255.0
{
# option routers 192.168.93.1;
# option domain-name "s.un";
# option domain-name-servers 192.168.93.1;
option subnet-mask 255.255.255.0;
option time-offset -;
default-lease-time ;
max-lease-time ;
range dynamic-bootp 192.168.93.240 192.168.93.250;
filename "pxelinux.0";
next-server 192.168.93.10;
}
3.5启动服务
systemctl start xinetd
systemctl start dhcpd
systemctl start vsftpd
4.安装
在PXE客户机上,
进入BISO,设置网络启动为第一项。

开机,DHCP获取,IP,加载启动,进入安装界面,选择安装就好了。

使用PXE安装CentOS7的更多相关文章
- linux pxe 安装Centos7
服务端 需要3种服务 dhcp + tftp + vsftp tftp 提供引导 为什么不使用其他协议来进行pxe引导 是因为网卡只会集成tftp这种服务 写明到镜像的方式 dhcp 下发tf ...
- Centos7使用pxe安装KVM虚拟机
Centos7使用pxe安装KVM虚拟机 一.安装服务所需的软件 [root@localhost ~]yum install nginx dhcp vsftpd syslinux -y [root@l ...
- 利用PXE引导安装centos7
# 利用PXE引导安装centos7 # ###简介### > PXE (Pre-boot Execution Environment,PXE client 在网卡的 ROM 中,当计算机引导时 ...
- pxe+kickstart 无人值守安装CentOS7.1
CentOS6.6下PXE+Kickstart无人值守安装CentOS7.1操作系统 一.简介 1.1 什么是PXE Pxe(Pre-boot Execution Environment,预启动执行 ...
- CentOS7 PXE安装批量安装操作系统
1.安装相关软件 yum -y install tftp-server httpd dhcp syslinux 2.配置DHCP cp /usr/share/doc/dhcp-4.2.5/dhcpd. ...
- 自动化运维之cobbler安装centos7.3
自动化运维之cobbler安装centos7.3 一.cobbler简介和服务 Cobbler是一款自动化操作系统安装的实现,与PXE安装系统的区别就是可以同时部署多个版本的系统,而PXE只能选择一种 ...
- PXE安装操作系统
TFTP服务 用PXE安装操作系统依赖于DHCP服务和TFTP服务 网卡一般都内置的TFTP客户端的程序 systemctl enable tftp systemctl enable dhc ...
- Centos6.9下PXE安装centos 7
一.简介 这篇文章是无kickstart下安装centos7的,本篇大部分内容同我另外一篇文章相似,只是Centos7 中的isolinux.cfg有一些不太一样需要说明一下. https://www ...
- Cobbler 自动安装CentOS7
1. Cobbler介绍 Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等.Cobbler可以使用命 ...
随机推荐
- CTO俱乐部官方群聊-探讨创业和跳槽
今天,CTO俱乐部官方群,有交流,若干活跃分子探讨了创业和跳槽等相关话题. 感觉质量很不错,就整理了下. 老徐 17:02:00 跳来跳去也不是长久之计,除了涨点工资 张苗苗 17:02:46 ...
- linux中的vi命令
linux的重要的几个命令如下: ①,光标的操作 1,gg,G,nG,:n gg移到文档的开头一行,G移动到最后一行,nG移动到第n行,到指定的行. 2,H,M,L 光标分别移动到这个界面的最上边,中 ...
- python 数据库操作产生中文乱码的解决办法
1.执行python mysql数据库查询操作时,产生中文乱码 #!/usr/bin/python # -*- coding: UTF-8 -*- import MySQLdb db = MySQLd ...
- SPOJ FAVDICE 数学期望
题目大意: 一个有n面的色子抛掷多少次能使所有面都能被抛到过,求期望值 总面数为n,当已经抛到过 i 个不同面时,我们抛出下一个不同面的概率为 (n-i)/n,那么抛的次数为 n/(n-i) 将所有抛 ...
- CSUOJ 1256 天朝的单行道
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1256 题目大意: 在另一个平行宇宙中,有一个神奇的国度名叫天朝.天朝一共有N个城 ...
- BZOJ 2763: [JLOI2011]飞行路线 【SPFA】
Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的价格.Al ...
- 6572平台上关于wifi热点切换跳的坑
最近在做一个无屏的项目,需要开启设备的wifi热点,通过连接热点设置设备wifi,本来看起来很容易完成的一件事情,遇到了一下的坑 在wifi切换状态时,大概率出现不能切换的问题,比如从wifi状态切换 ...
- Codeforces889C. Maximum Element
$n \leq 2000000$的排列,问有多少满足:存在个$i$,使得$p_i \neq n$,且$p_j<p_i,j \in [i+1,i+K]$,$K \leq 2000000$是给定常数 ...
- gcc,gdb基础学习2
gdb调试: 源文件:test.cc >>g++ -g test.cc -o test.o 这里需要参数-g,因为接下来要使用gdb进行调试,生成目标文件test·o 因为需要将调试信息 ...
- Cooking Schedule Problem Code: SCHEDULE(优先队列)
Cooking Schedule Problem Code: SCHEDULE Chef is a well-known chef, and everyone wishes to taste his ...