通过PXE网络安装Centos6.5

简介:

说明

系统安装我们一般可采用以下方式:光盘、U盘、PXE网络等,当我们大批量安装系统时,网络是非常有效率的选择。Linux系统一样,除了支持光盘引导安装外,还支持基于PXE的网络引导与安装。PXE只是网络安装的引导方式,自动化的核心依赖于kickstart/autoyast/autounattend等生成的自动应答文件。


软件准备

tftpd32+Centos6.5_x64+kickstart+hfs+syslinux4.05


一.基于windows宿主机+VMware Workstation12

步骤

1.1 在windows服务器上,创建一个文件夹,作为TFTP服务器的工作目录,本测试环境是windows10, 目录是D:\Centos6.5。 从syslinux程序中复制pxelinux.0文件到这个目录;复制syslinux中的vesamenu.c32到D:\Centos6.5中。


1.2 复制Centos6.5镜像中的所有文件到D:\Centos6.5目录中; 

复制D:\Centos6.5\ioslinux目录(或者D:\Centos6.5\images\pxeboot)里文件 initrd.img,vmlinuz到上层目录(D:\Centos6.5);

复制D:\Centos6.5\ioslinux目录里boot.msg文件到上层目录(D:\Centos6.5);


1.3 在D:\Centos6.5目录中创建pxelinux.cfg目录,复制Centos6.5镜像中的文件 ISOLINUX.CFG到pxelinux.cfg文件夹中,重命名为default。


备注

如果你要为所有的服务器安装D:\Centos6.5,请将ISOLINUX.CFG更名为default。如果你要为指定的服务器安装,请记下服务器的MAC地址(服务器上可能有多个网卡,需要记下通过网卡引导的网卡的MAC地址),并复制ISOLINUX.CFG文件,重命名为“序号+MAC地址”,其中序号用01、02、03代替,表示第1台、第2台服务器的顺序,在序号与MAC地址之间,用短横线代替,例如,第1台服务器的MAC地址是F48E38873878,则文件名为01-F4-8E-38-87-38-78

clip_image002_thumb1


注意

如果你是手动填写相关信息,请忽略步骤1.5。

如果选择自动应答,还需要修改default,添加: ks=http://192.168.40.1/Centos6.5/ks.cfg ksdevice=eth0,

default 内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
default vesamenu.c32
#prompt 1
timeout  600
 
display boot.msg
 
menu background splash.jpg
menu title Welcome to CentOS  6.5 !
menu color border  0  #ffffffff #00000000
menu color sel  7  #ffffffff #ff000000
menu color title  0  #ffffffff #00000000
menu color tabmsg  0  #ffffffff #00000000
menu color unsel  0  #ffffffff #00000000
menu color hotsel  0  #ff000000 #ffffffff
menu color hotkey  7  #ffffffff #ff000000
menu color scrollbar  0  #ffffffff #00000000
 
label linux
   menu label ^Install  or  upgrade an existing system
   menu default
   kernel vmlinuz
   append initrd = initrd.img ks = http: / / 192.168 . 40.1 / Centos6. 5 / ks.cfg ksdevice = eth0
label vesa
   menu label Install system with ^basic video driver
   kernel vmlinuz
   append initrd = initrd.img xdriver = vesa nomodeset
label rescue
   menu label ^Rescue installed system
   kernel vmlinuz
   append initrd = initrd.img rescue
label local
   menu label Boot  from  ^local drive
   localboot  0xffff
label memtest86
   menu label ^Memory test
   kernel memtest
   append  -



1.4 设置TFTP,打开tftpd,设置D:\Centos6.5为根目录。设置IP地址的起始地址(地址应该与服务器的地址在同一网段,并且在服务器的地址之后),设置如下,红色部分是要填写的。

image

image



1.5 设置hfs服务。将自动应答文件ks.cfg放在D:\Centos6.5目录下。

image


内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall  - - disabled
# Install OS instead of upgrade
install
#cdrom
url  - - url = http: / / 192.168 . 40.1 / Centos6. 5
# Network
#network --bootproto=dhcp --device=eth0
# Root password
rootpw hundsun@ 1
# System authorization information
auth   - - useshadow   - - passalgo = sha512
# Use text mode install
text
firstboot  - - disable
# System keyboard
keyboard us
# System language
lang en_US.UTF - 8
# SELinux configuration
selinux  - - disabled
# Installation logging level
logging  - - level = info
# Reboot after installation
reboot
# System timezone
timezone Asia / Shanghai
# System bootloader configuration
bootloader  - - location = mbr  - - append = "rhgb quiet crashkernel=auto"
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart  - - all  - - initlabel
# Partition
#autopart
part  / boot  - - fstype = ext4  - - size = 500
part  /  - - fstype = "ext4"  - - size = 8192
part swap  - - fstype = "swap"  - - size = 1024 
 
# Packages
% packages
@base
@chinese - support
@client - mgmt - tools
@core
@debugging
@basic - desktop
@desktop - debugging
@desktop - platform
@directory - client
@fonts
@general - desktop
@graphical - admin - tools
@input - methods
@internet - browser
@java - platform
@legacy - x
@network - file - system - client
@perl - runtime
@print - client
@remote - desktop - clients
@server - platform
@server - policy
@x11
pax
python - dmidecode
oddjob
wodim
sgpio
genisoimage
mtools
abrt - gui
certmonger
pam_krb5
krb5 - workstation
libXmu
perl - DBD - SQLite
% end



1.6 设置防火墙允许TFTP通过防火墙或者直接关闭防火墙。


1.7 开启网络安装,新建虚拟机类型选择Centos6,设置完成后从网卡启动,进入安装,步骤略。


微信图片_20170721093523


二.基于Centos6.8_x64+VMware Workstation12

其实和上面的步骤一样,做了同样的事情。


2.1 安装dhcp、tftp-server、syslinux、xinetd

yum install dhcp tftp-server syslinux xinetd


2.2 挂载Centos6.5 ISO到/mnt

mount /dev/cdrom /mnt


2.3 修改vim /etc/dhcp/dhcpd.conf

1
2
3
4
5
6
7
8
9
10
11
ddns - update - style interim;
allow booting;
allow bootp;
class  "pxeclients"  {
match  if  substring(option vendor - class - identifier,  0 9 =  "PXEClient" ;
next - server  192.168 . 10.78 ;
filename  =  "pxelinux.0" ;
}
subnet  192.168 . 10.0  netmask  255.255 . 255.0  {
range  192.168 . 10.100  192.168 . 10.110 ;
}


2.4启用tftp,修改/etc/xinetd.d/tftp中的disable = yes为disable = no

1
2
3
4
5
6
7
8
9
10
11
12
13
service tftp
{
socket_type  =  dgram
protocol  =  udp
wait  =  yes
user  =  root
server  =  / usr / sbin / in .tftpd
server_args  =  - / var / lib / tftpboot
disable  =  no
per_source  =  11
cps  =  100  2
flags  =  IPv4
}


2.5 复制pxelinux.0到tftp根目录

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/


2.6 新建目录/var/lib/tftpboot/pxelinux.cfg

mkdir /var/lib/tftpboot/pxelinux.cfg


2.7 复制Centos ISO中的文件isolinux.cfg到/var/lib/tftpboot/pxelinux.cfg/下并改名default

cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

修改default文件,具体同上。


2.8 复制Centos ISO中的全部文件到/var/lib/tftpboot/下

复制/mnt/isoinux目录里文件 initrd.img,vmlinuz,boot.msg到/var/lib/tftpboot/目录中;


cp -a /mnt/* /var/lib/tftpboot/

cp /mnt/isoinux/{initrd.img,vmlinuz,boot.msg} /var/lib/tftpboot/



2.9 复制syslinux中的vesamenu.c32到/var/lib/tftpboot/中。

cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/


2.10 重启dhcp、xinetd服务

systemctl restart dhcpd

systemctl restart xinetd


2.11 自定义安装脚本,安装httpd,此文件可以放在任何可以通过url访问到的地方。 编辑脚本ks.cfg

内容同上面。


三. 遇到的问题

在windows下测试时,遇到如下错误:

“unable to read package metadata.this may be due to a missing repodata directory . please ensure that your install tree has been correctly generated ……”


解决方法:

目录repodata下面的文件缺少扩展名,补全扩展名。


原因:在windows下,Centos光盘目录repodata下,文件显示不出扩展名,复制过来的文件也相应缺少扩展名,但是在linux下面显示正常的。

20170721140145


20170721140232


本文转自pizibaidu 51CTO博客,原文链接:http://blog.51cto.com/pizibaidu/1949689,如需转载请自行联系原作者

相关文章
|
2天前
|
运维 安全 Linux
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
|
2天前
|
Linux 测试技术 数据安全/隐私保护
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
|
3天前
|
Linux Docker 容器
centos7安装docker图文详解
该文档提供了在CentOS上安装Docker的步骤:检查系统内核版本(需大于3.10),更新yum,卸载旧版Docker,安装yum-utils和依赖包,设置Docker仓库,列出并选择Docker版本,安装Docker,最后启动并设置Docker开机启动,通过`docker version`验证安装是否成功。
|
3天前
|
存储 监控 安全
【亮剑】网络视频监控如何入门?如何安装和配置、设备选择和实时监控?
【4月更文挑战第30天】本文指导初学者如何搭建和使用网络视频监控系统。核心设备包括摄像头(如固定、PTZ、多目、夜视)、存储选项(NVR、DVR、云存储)及网络交换机等。安装配置步骤涉及规划布局、安装摄像头、设置存储设备和软件配置。实时监控包括实时查看、接收警报和录像回放。理解设备功能、合理布局并细心操作,就能建立稳定监控体系。随着技术进步,未来监控系统将更智能、高效,保障安全。
|
4天前
|
关系型数据库 MySQL 应用服务中间件
centos7在线安装jdk1.8+tomcat+mysql8+nginx+docker
现在,你已经成功在CentOS 7上安装了JDK 1.8、Tomcat、MySQL 8、Nginx和Docker。你可以根据需要配置和使用这些服务。请注意,安装和配置这些服务的详细设置取决于你的具体需求。
20 2
|
5天前
|
NoSQL Linux 网络安全
【专栏】如何在 RHEL 8 或者 CentOS 8 上安装 MongoDB?
【4月更文挑战第28天】本文档介绍了如何在RHEL或CentOS 8上安装MongoDB,包括环境准备(系统更新、依赖安装、硬件需求和sudo用户)、导入MongoDB GPG公钥、创建Yum仓库、安装MongoDB社区版,以及后续的基本配置和验证(启动服务、防火墙设置和连接验证)。通过这些步骤,用户可以顺利安装并运行MongoDB,以处理非结构化数据和扩展技术栈。
|
5天前
|
安全 Linux 网络安全
【专栏】如何进行 CentOS 8 最小安装
【4月更文挑战第28天】本文介绍了如何进行CentOS 8的最小安装,包括准备工作(确认硬件兼容性、下载ISO镜像、制作启动盘及备份数据)和安装步骤(选择语言、最小环境、网络设置、安全策略、分区、用户设置及开始安装)。安装后需进行基础配置,如系统更新、SELinux设置、防火墙配置、安装必要软件包和服务优化。最小安装提供了一个精简高效的环境,便于用户根据需求自定义和管理服务器。
|
6天前
|
存储 Linux 持续交付
【docker】CentOS 7上安装Docker的详细过程
【docker】CentOS 7上安装Docker的详细过程
|
8天前
|
安全 关系型数据库 Linux
centos7_安装mysql8(局域网访问navicat连接)
centos7_安装mysql8(局域网访问navicat连接)
14 1
|
8天前
|
Linux 云计算 Perl
centos7_安装虚拟机工具
centos7_安装虚拟机工具
16 0