Kickstart+Dhcp+Nfs+Tftp+Pxe 批量Linux服务器安装平台

简介:

前言* 随着公司业务不断增加,经常需要采购新服务器,并要求安装Linux系统,并且要求Linux版本要一致,方便以后的维护和管理,每次人工安装linux系统会浪费掉更多时间,如果我们有办法能节省一次一次的时间岂不更好呢?下面就让我们开始进入自动安装linux系统学习!

一、实用环境

虽然网上有成千上万的kickstart安装配置文档,但是在这些文章中,有好多配置,我们可能看不懂,好多地方模糊,所以根据亲身实践并在生产环境使用自动安装linux过程写给大家,希望对刚接触Linux自动安装系统的朋友一些点滴的帮助!

二、正式安装

实践环境为Centos 5.3 x86_64 ,通过标题我们需要配置这些步骤Kickstart+Dhcp+Nfs+Tftp+Pxe,我们从最简单的dhcp、tftp、nfs开始配置:安装dhcp、tftp

yum install   -y  dhcp*  tftp*  即可!nfs系统默认已经安装,稍后会配置,先来配置tftp

vi /etc/xinetd.d/tftp

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

#需要修改1个地方

#disable = yes 修改为no即可!

2、配置tftp+pxe

安装linux系统,首先需要挂载linux安装镜像,可以是iso,可以是linux光盘

mount     /dev/cdrom    /mnt

#如果系统是5.x,默认tftpboot目录已经自动创建到/根目录下

#如果系统是6.x,默认tftpboot目录在/var/lib/下,所以centos6.x需要做软链接到/根目录下

1
2
3
4
5
6
7
8
9
ln -s / var /lib/tftpboot/
cd   /tftpboot
yum install syslinux syslinux-devel -y
#如果是 5 .x系统执行这一条命令
cp /usr/lib/syslinux/pxelinux. 0  ./
#如果是 6 .x系统执行这一条命令
cp  /usr/share/syslinux/pxelinux. 0  ./
cp  /mnt/images/pxeboot/{vmlinuz,initrd.img}   ./
mkdir  -p  pxelinux.cfg  &&cp  /mnt/isolinux/isolinux.cfg   pxelinux.cfg/ default 完毕!

3、然后编辑defalut配置文件:
vi   /tftpboot/pxelinux.cfg/default (修改配置为如下)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
default  linux
prompt  1
timeout  10
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label  linux
kernel vmlinuz
append ks=nfs: 192.168 . 0.79 :/centosinstall/ks.cfg  ksdevice=eth0 initrd=initrd.img
label  text
kernel vmlinuz
append initrd=initrd.img text
label  ks
kernel vmlinuz
append ks initrd=initrd.img
label  local
localboot  1
label  memtest86
kernel memtest
append -

#修改如上两个红色地方即可:设置timeout 10 /*超时时间为10S */;ksdevice=etho代表当我们有多块网卡的时候,要实现自动化需要设置从eth0安装,不指定的话,安装的时候系统会让你选择,那就不叫全自动化了

#192.168.0.79是kickstart服务器,/centosinstall 是nfs共享linux镜像的目录,也是linux存放安装文件的路径,ks.cfg是kickstart主配置文件,稍后会详细配置

#自此tftp配置完毕!我们可以启动它,它是非独立服务,需要借助xinetd启动如下:

1
chkconfig    tftp  --level  35  on  && service  xinetd  restart 即可!

4、接下来安装nfs+kickstart:

创建nfs共享目录,也是存放linux镜像的目录:

1
2
mkdir   -p   /centosinstall
cp  -rf   /mnt/*  /centosinstall

#镜像拷贝完后,配置nfs共享,如下:

vi  /etc/exports 加入如下内容

1
/centosinstall    *(rw,sync)

表示共享/centosinstall目录 *代表所有的客户端ip都可以访问,权限为读写rw

5、nfs配置完毕,接着配置kickstart主配文件:

cd  /centosinstall/ 目录,然后新建ks.cfg,命令为vi ks.cfg,写入如下内容:

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
# Kickstart file automatically generated by anaconda.
install
text
nfs --server= 192.168 . 0.79  --dir=/centosinstall
key --skip
lang zh_CN.UTF- 8
keyboard us
network --device eth0 --bootproto=dhcp --noipv6
rootpw linux@passwd
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append= "rhgb quiet"
# The following  is  the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first,  this  is
# not guaranteed to work
clearpart --all --initlabel
part /boot --fstype ext3 --size= 200
part swap --size= 4000
part /www/logs --fstype ext3 --size= 20000
part / --fstype ext3 --size= 20000
part /home --fstype ext3 --size= 10000
part /www --fstype ext3 --size= 1  --grow
%packages
@admin-tools
@base
@core
@development-libs
@development-tools
@editors
@system-tools
@base-x
@chinese-support
keyutils
kexec-tools
trousers
fipscheck
device-mapper-multipath
imake
audit
xorg-x11-server-Xnest
xorg-x11-server-Xvfb

如上ks.cfg配置完毕,并设置其权限:chmod   777   /centosinstall/ks.cfg

具体配置参数可以参考该文章:http://wenku.baidu.com/view/ab012dfb770bf78a65295420.html  kickstart参数详解!

6、配置dhcp服务

dhcp配置下载地址,如果需要大批量安装linux服务器,可以设置dhcp段:vi dhcpd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ddns-update-style interim;
ignore client-updates;
next-server  192.168 . 0.79 ;
filename  "pxelinux.0" ;
allow booting;
allow bootp;
subnet  192.168 . 0.0  netmask  255.255 . 255.0  {
# ---  default  gateway
option routers           192.168 . 0.1 ;
option subnet-mask       255.255 . 252.0 ;
#   option nis-domain        "domain.org" ;
#   option domain-name "192.168.0.10" ;
#   option domain-name-servers   192.168 . 0.10 ;
#   option ntp-servers       192.168 . 1.1 ;
#   option netbios-name-servers  192.168 . 1.1 ;
# --- Selects point-to-point node ( default  is  hybrid). Don't change  this  unless
# -- you understand Netbios very well
#   option netbios-node-type  2 ;
range  dynamic -bootp  192.168 . 0.100  192.168 . 0.200 ;
host ns {
hardware ethernet   00 :1a:a0:2b: 38 : 81 ;
fixed-address  192.168 . 0.101 ;}
}

三、部署后测试

#接下来我们重启所有服务,并测试,

#注意这里安装完后重启登陆的密码为ks.cfg里面配置的rootpwd 后面的linux@passwd

1
2
3
service  xinetd  restart
service nfs restart
service   dhcpd restart

#找一台需要安装linux系统机器,进入bios把第一启动项设置为LAN 也即是网卡启动!

#然后启动,系统会自动查找本地pxe 服务器然后,自动安装!

最后非常感谢:http://wenku.baidu.com/view/ab012dfb770bf78a65295420.html参考,当初配置过程也遇到了好多问题,一点一点的解决,只有你真正做过,你才会有体会!不足之处欢迎提出,本文随之更新!


本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/530304


相关文章
|
3月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
333 7
|
6月前
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
98 18
|
5月前
|
Kubernetes 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
283 0
|
7月前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
428 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
7月前
|
运维 Ubuntu 安全
在Linux中,如何配置NFS共享?
在Linux中,如何配置NFS共享?
|
7月前
|
网络协议 Ubuntu Linux
在Linux中,如何使用NFS和Samba共享文件和目录?
在Linux中,如何使用NFS和Samba共享文件和目录?
|
7月前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
|
7月前
|
Ubuntu Linux 网络安全
在Linux中,如何配置Samba或NFS文件共享?
在Linux中,如何配置Samba或NFS文件共享?
|
7月前
|
Linux
在Linux中,如何挂载远程NFS共享或iSCSI目标?
在Linux中,如何挂载远程NFS共享或iSCSI目标?
|
7月前
|
存储 Kubernetes 调度
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
90 0