基于PXE和光盘镜像在线批量安装CentOS系统流程整理

PXE 使用总结

最近用到了PXE批量安装集群OS,现整理相关操作指南如下,具体安装使用请读者根据自身现场环境进行调整。

CentOS 7 PXE Server 安装指南

系统配置

  1. 关闭系统防火墙;
  2. 关闭SElinux;

软件包安装

yum install httpd dhcp xinetd tftp-server syslinux

配置HTTP Server

HTTP Server 作用: PXE client 从网络安装系统时,从指定的HTTP Server下载安装文件。

  1. 挂载CentOS ISO
mount /root/CentOS-7-xxx.iso /mnt
  1. 将ISO内容拷贝到HTTP Server服务目录
mkdir -p /var/www/centos7
cp -a /mnt/* /var/www/centos7
chmod -R 755 /var/www/centos7
  1. 创建HTTP服务器pxe.conf
 vim /etc/httpd/conf.d/pxe.conf

Alias /centos7 /var/www/centos7/
<Diretory /var/www/centos7/>
Options Indexes FollowSymLinks
Order Deny,Allow
Allow from all
</Directory>
  1. 重启httpd服务
systemctl enable httpd
systemctl restart httpd

HTTPD 安装验证

登陆 x.x.x.x/centos7 就可以查看相应镜像文件。具体截图略

配置TFTP Server

TFTP Server 作用:在PXE引导过程中,PXE Client使用TFTP协议从TFTP服务器下载bootstrap文件并执行。

cd /usr/share/syslinux/
cp prelinux.0 menu.c32 memdisk mboot.c32 chain.c32 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/centos7
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/centos7
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/centos7
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default

# .... code above ...
default menu.c32
prompt 0
timeout 300
ONTIMEOUT 1
    
menu titile ##### CentOS 7 PXE BOOT MEnu #####
    
lable 1
menu label ^1) Install CentOS 7
menu default
kernel centos7/vmlinuz
append initrd=cetos7/initrd.img method=http://x.x.x.x/centos7 devfs=nomount
    
label 2
menu label ^2) Boot from local drive
localboot 0

编辑 /etc/xinetd.d/tftp文件,将disable=yes改为disable=no

vim /etc/xinetd.d/tftp
service tftp
{
    socket_type     = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server          = /usr/sbin/in.tftd
    server_args     = -s /var/lib/tftpboot
    disable         = no
    per_source      = 11
    cps             = 100 2
    flags           = IPv4
}

tftp 服务由xinetd服务管理,启动xinetd完成tftp-server

systemctl enable xinetd
systemctl restart xinetd

TFTP 安装验证

验证操作:查看tftp-server的监听端口69已经打开

netstat -tunlp | grep xinetd

验证操作:通过tftp-client访问服务器,成功下载文件到本地。

配置DHCP Server

两种方式:对某个网段进行配置,或者是对某个host进行配置

vim /etc/dhcp/dhcpd.conf

# 
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page

# specify domain name
option domain-name "server.world";

# specify name server's hostname or IP address
option domain-name-servers x.x.x.x;

# default lease time
default-lease-time 600;

# max lease time
max-lease-time 7200

# this DHCP server to be declared valid
authoritative;

# allow booting;
# allow bootp;

# specify network address and subnet mask
# 这里添加网段信息
subnet x.x.x.x netmask 255.255.255.0{
    # specify the range of lease IP address
    range dynamic-bootp x.x.x.x x.x.x.y;
    
    # specify broadcast address
    option broadcast-address x.x.x.255;
    
    # specify default gateway
    option router x.x.x.1
    
    # specify the bootstrap file
    filename "pxelinux.0";
    
    # specify tftp server ip
    next-server x.x.x.x;
}

# specify single host
# we want the nameserver to appear at a fixed addresss
# 这里添加单个节点的信息
host node1{
    hardware ethernet {network-card-mac-info};
    fixed-address x.x.x.x;
}

# this DHCP server to be declared valid
authoritative;

# allow booting;
# allow bootp;

systemctl enable dhcpd
systemctl restart dhcpd

至此pxe服务器配置完毕,客户机重启之后在bios进入pxe启动,会自动开始与网络中pxe服务器进行匹配,匹配之后在屏幕界面选择需要的光盘镜像进行安装即可。

FAQ

  1. pxe client 启动报错:“no boot filename received”

问题原因:dhcp配置中遗漏 “filename” “next-server” 配置。

问题解决:修改/etc/dhcp/dhcpd.conf,增加相应配置即可。

# /etc/dhcp/dhcpd.conf
filename "pxelinux.0"
next-server x.x.x.x;
  1. pxe client 启动报错:“Media test failure, check cable”

问题原因:物理网卡没有插好。

问题解决:重新插拔物理网卡,重启系统即可。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容