linux基于网络的批量安装教程,DHCP服务器+TFTP服务器+FTP服务器 +Kickstart文件,
linux基于网络的批量安装教程,DHCP服务器+TFTP服务器+FTP服务器 +Kickstart文件,
准备:
DHCP服务器
TFTP服务器
FTP服务器
Kickstart文件
拥有PXE ROM芯片,支持网络启动的客户端,即要安装系统的裸机
Linux镜像文件
这里用一台主机同时提供DHCP,TFTP,FTP三种服务,kickstart也放在这台服务器上。
原理
远程客户端计算机启动,由于BIOS设置了网卡启动,所以网卡PXE ROM中的程序被调入内存执行。首先,客户端在网络中寻找DHCP服务器,然后请求一个IP地址;同时DHCP服务器联系到TFTP服务器为此客户端发送一个bootstrap(引导程序)。客户端收到bootstrap(文件pxelinux.0)后执行,bootstrap会请求TFTP传送bootstrap的配置文件(pxelinux.cfg)。收到后读配置文件。根据配置文件内容和客户情况,客户端请求TFTP传送内核映象文件(vmlinuz)和根文件系统文件(initrd.img)。最后启动内核。这就是一个完整的pxe构建过程。然而要使网卡启动后再继续网络安装系统,则最后还需要FTP服务将系统所需安装文件放置FTP相应目录中进行传输安装。
安装
[plain] view plain copy
#yum–disablerepo=\*--enablerepo=c5-mediainstalldchp*tftp*ftp*system-config-kickstart*
配置服务
安装完DHCP后,其配置文件为空。我们可以根据其文档中的样本修改
[plain] view plain copy
[root@pxe~]#cat/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample>>/etc/dhcpd.conf
然后修改其内容
[plain] view plain copy
[root@pxe~]#vi/etc/dhcpd.confddns-update-styleinterim;
ignoreclient-updates;allowbooting;#新添加
allowbootp;#新添加subnet192.168.128.0netmask255.255.255.0{
#---defaultgateway
optionrouters192.168.128.1;optionsubnet-mask255.255.255.0;
optionnis-domain"domain.org";
optiondomain-name"domain.org";#optiondomain-name-servers192.168.128.1;#注释此行,以加快启动
optiontime-offset-18000;#EasternStandardTime
#optionntp-servers192.168.1.1;#optionnetbios-name-servers192.168.1.1;
#---Selectspoint-to-pointnode(defaultishybrid).Don'tchangethisunless#--youunderstandNetbiosverywell
#optionnetbios-node-type2;
rangedynamic-bootp192.168.128.150192.168.128.200;filename"/pxelinux.0";#指定启动文件
next-server192.168.128.111;#指定服务器IPdefault-lease-time21600;
max-lease-time43200;
#wewantthenameservertoappearatafixedaddresshostns{
next-servermarvin.redhat.com;hardwareethernet12:34:56:78:AB:CD;
fixed-address207.175.42.254;}
}
修改TFTP的配置
[plain] view plain copy
[root@pxe~]#cat/etc/xinetd.d/tftp#default:off
#description:Thetftpserverservesfilesusingthetrivialfiletransfer\#protocol.Thetftpprotocolisoftenusedtobootdiskless\
#workstations,downloadconfigurationfilestonetwork-awareprinters,\#andtostarttheinstallationprocessforsomeoperatingsystems.
servicetftp{
socket_type=dgramprotocol=udp
wait=yesuser=root
server=/usr/sbin/in.tftpdserver_args=-s/tftpboot
disable=no#将yes改为noper_source=11
cps=1002flags=IPv4
}
FTP使用匿名登录,使用默认目录/var/ftp,配置不做修改,只需将linux镜像文件放在/var/ftp下。
[plain] view plain copy
[root@pxe~]#ls/var/ftp/cdrom/CentOSimagesRELEASE-NOTES-csRELEASE-NOTES-de.htmlRELEASE-NOTES-en_USRELEASE-NOTES-es.htmlRELEASE-NOTES-jaRELEASE-NOTES-nl.htmlRELEASE-NOTES-roRPM-GPG-KEY-beta
EULAisolinuxRELEASE-NOTES-cs.htmlRELEASE-NOTES-enRELEASE-NOTES-en_US.htmlRELEASE-NOTES-frRELEASE-NOTES-ja.htmlRELEASE-NOTES-pt_BRRELEASE-NOTES-ro.htmlRPM-GPG-KEY-CentOS-5GPLNOTESRELEASE-NOTES-deRELEASE-NOTES-en.htmlRELEASE-NOTES-esRELEASE-NOTES-fr.htmlRELEASE-NOTES-nlRELEASE-NOTES-pt_BR.htmlrepodataTRANS.TBL
在TFTP服务安装完后,会创建一个/tftpboot目录,这个目录便是我们用来放置bootstrap引导程序(pxelinux.0),bootstrap配置文件(default),内核映像(vmlinuz)和文件系统文件(initrd.img)的。这里我们需要先创建一个pxelinux.cfg目录,并将default文件放在其下。
[plain] view plain copy
[root@pxe~]#ll/tftpboot/总计9828
-rw-r--r--1rootroot805661404-1800:57initrd.img-rw-r--r--1rootroot1314804-1920:22pxelinux.0
drwxr-xr-x2rootroot409604-2018:40pxelinux.cfg-rw-r--r--1rootroot195366004-1920:21vmlinuz
[root@pxe~]#ll/tftpboot/pxelinux.cfg/总计8
-rwxr-xr-x1rootroot39604-1922:03default
上述四个文件的来源:
[plain] view plain copy
[root@pxe~]#cp/usr/lib/syslinux/pxelinux.0/tftpboot/[root@pxe~]#cd/var/ftp/cdrom/isolinux/
[root@pxeisolinux]#pwd/var/ftp/cdrom/isolinux
[root@pxeisolinux]#cpinitrd.imgisolinux.cfgvmlinuz/tftpboot/
这里的isolinux.cfg就是我们的default文件,我们需要更名并放在pxelinux.cfg目录下
[plain] view plain copy
[root@pxetftpboot]#mkdirpxelinux.cfg/[root@pxetftpboot]#mvisolinux.cfgpxelinux.cfg/
[root@pxetftpboot]#cdpxelinux.cfg/[root@pxepxelinux.cfg]#mvisolinux.cfgdefault
default文件我们还需要一些设置
[plain] view plain copy
[root@pxepxelinux.cfg]#videfaultdefaultlinux
prompt1timeout600
displayboot.msgF1boot.msg
F2options.msgF3general.msg
F4param.msgF5rescue.msg
labellinuxkernelvmlinuz
#ks=ftp://192.168.128.111/ks.cfg指向的是ftp服务器/var/ftp下的文件,这个文件就是linux安装的应答文件,即我们前面说的Kickstart文件appendks=ftp://192.168.128.111/ks.cfginitrd=initrd.img
labeltextkernelvmlinuz
appendinitrd=initrd.imgtextlabelks
kernelvmlinuzappendksinitrd=initrd.img
labellocallocalboot1
labelmemtest86kernelmemtest
append-
kickstart文件的制作可以参考Kickstart的配置和使用
最后要将ks.cfg文件放在/var/ftp下
[plain] view plain copy
[root@pxeftp]#ll总计24
drwxr-xr-x7rootroot409604-1923:04cdrom-rw-r--r--1rootroot139904-2020:41ks.cfg
drwxr-xr-x2rootroot409604-2020:43pub
启动服务
启动DHCP服务
[plain] view plain copy
[root@pxeftp]#servicedhcpdstart
启动TFTP服务
[plain] view plain copy
[root@pxeftp]#servicexinetdstart启动FTP服务[plain] view plain copy
[root@pxeftp]#servicevsftpdstart
至此,服务器配置完成。
将裸机选择从网络启动即可。
出处:http://blog.csdn.net/limb99/article/details/7481878
补充:基于图形界面的kickstart配置使用
操作系统:CentOS_5.5_Final(64bit)
首先安装system-config-kickstart
#yum –disablerepo=\* --enablerepo=c5-media install system-config-kickstart*
更改文件名 CentOS-Base.repo为CentOS-Base.repo.bk
#mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bk
如果没有做着一步,当你启动Kickstart的时候它会到官网去更新mirrorlist,把它改名后,kickstart就会根据本地的光盘镜像获取mirrorlist。
添加base标签
#vi /etc/yum.repos.d/CentOS-Media.repo 添加如下内容
[base]
name=base
baseurl=file:///media/CentOS_5.5_Final/ #这个是你的光盘挂载点
enable=1
gpgcheck=0
这一步没有去做的话就会出现下面的题
OK,现在可以使用system-config-kickstart命令启动kickstart程序了。
我使用的是ftp安装,使用匿名登录,其默认目录是/var/ftp
这里使用默认选项就好
这里要注意。分区根据情况自定义。
网络我使用的是DHCP
验证采用默认选择即可
根据情况自己定义
根据情况自己定义
选择文件保存即可。
补充阅读
评论暂时关闭