通过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,如需转载请自行联系原作者

目录
打赏
0
0
0
0
69
分享
相关文章
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
110 26
CentOS 7.8下使用kubeadm安装Kubernetes 1.26
这就是所有的前线报告,冒险家们,你们已经做好准备,开始在CentOS 7.8上通过Kubeadm安装Kubernetes 1.26的挑战了吗?走上这段旅程,让你的代码飞翔吧。
53 16
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
45 10
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
### 安装VMtools的作用及步骤 安装VMtools可以实现Windows与CentOS之间的字符串和命令粘贴、文件夹共享等操作。在CentOS中,通过VMware菜单栏选择“VMware Tools”,将下载的压缩包拷贝到`/opt`目录并解压。接着进入终端,使用`./vmware-install.pl`命令完成安装。安装后重启系统,即可实现Windows与CentOS之间的字符和文件共享。具体步骤包括解压文件、启动命令行终端、安装VMtools以及配置文件共享。
92 16
VMware隐藏黑科技!CentOS安装这个神器效率翻倍 文件互传竟比U盘还快?
在CentOS 7.9中安装sshpass教程
如果在控制台显示出sshpass的使用方法,那就说明我们的大餐已经准备好,sshpass已经成功安装。 以上就是在 CentOS 7.9 中安装 sshpass 的彩色步骤,专业而生动,就像大厨在厨房一样顺利。
47 8
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
149 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
如何从CentOS7升级到8?CentOS8最新安装教程
从CentOS 7升级到8只需三步:清理系统、更换软件包及存储库、安装新内核与发布版本。首先确保系统最新并清理冗余包,接着替换基础系统包为CentOS 8版本,最后通过DNF工具完成内核更新与系统同步。整个过程需在终端执行,建议升级前备份VPS快照以防数据丢失。此方法可避免重装系统导致的数据清除问题,实现平滑升级。
95 6
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
232 25
|
2月前
|
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
99 20
Centos7.9安装kerberos
Centos7.9安装kerberos
119 25
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等