Kickstart+PXE定制网络批量自动安装
2012-11-22 16:11
691 查看
什么是KickStart
KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
什么是PXE
PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
网络拓扑图:
在机房中批量上线安装服务器通常会使用如上图所示的结构批量安装,由于我们的工作电脑通常都是windows系统(office需要),所以再装个VMware虚拟机,在虚拟机中架设PXE server不失为一种好方法。
VMware workstation虚拟机的设置:安装好CentOS并且虚拟机网络连接方式为桥接(bridge)
以下所有配置都在虚拟机中的CentOS完成:
使用PXE+Kickstart就可以制作网络多机器自动安装,网络安装的方式有三种:NFS、HTTP和FTP。综合起来看,部署这样的自动安装环境需要的条件是:
1.DHCP 服务器
2.TFTP 服务器
3.KickStart所生成的ks.cfg配置文件
4.一台存放系统安装文件的服务器,如 NFS、HTTP 或 FTP 服务器
5.带有一个 PXE 支持网卡的将安装的主机
把系统安装光盘mount到主机上
#mount /dev/cdrom /mnt/cdrom
安装所需要的服务
yum -y install dhcp dhcp-devel nfs-utils nfs-utils-lib tftp tftp-server syslinux
配置TFTP,制定可供下载文件的目录。
DHCP服务器设置
编辑/tftpboot/pxelinux.cfg/default
对安装光盘的定制
安装方式之一:FTP
安装方式之二:NFS
安装方式之三:HTTP
本文出自 “枫之歌” 博客,转载请与作者联系!
KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
什么是PXE
PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
网络拓扑图:
在机房中批量上线安装服务器通常会使用如上图所示的结构批量安装,由于我们的工作电脑通常都是windows系统(office需要),所以再装个VMware虚拟机,在虚拟机中架设PXE server不失为一种好方法。
VMware workstation虚拟机的设置:安装好CentOS并且虚拟机网络连接方式为桥接(bridge)
以下所有配置都在虚拟机中的CentOS完成:
使用PXE+Kickstart就可以制作网络多机器自动安装,网络安装的方式有三种:NFS、HTTP和FTP。综合起来看,部署这样的自动安装环境需要的条件是:
1.DHCP 服务器
2.TFTP 服务器
3.KickStart所生成的ks.cfg配置文件
4.一台存放系统安装文件的服务器,如 NFS、HTTP 或 FTP 服务器
5.带有一个 PXE 支持网卡的将安装的主机
把系统安装光盘mount到主机上
#mount /dev/cdrom /mnt/cdrom
安装所需要的服务
yum -y install dhcp dhcp-devel nfs-utils nfs-utils-lib tftp tftp-server syslinux
配置TFTP,制定可供下载文件的目录。
1、编辑TFTP配置文件 # default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { disable = no #找到disable,修改其值为no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot #此处为TFTP提供下载的位置 per_source = 11 cps = 100 2 flags = IPv4 } 2,TFTP目录建立与设置 #mkdir /tftpboot #cp /usr/share/syslinux/pxelinux.0 /tftpboot/ #mkdir /tftpboot/pxelinux.cfg #cp /mnt/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default #cp /mnt/cdrom/isolinux/* /tftpboot #把光盘中isolinux里的所有文件复制到/tftpboot下 重启动TFTP:service xinetd restart
DHCP服务器设置
# DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.sample # see 'man 5 dhcpd.conf' # # ddns-update-style interim; ignore client-updates; subnet 10.20.30.0 netmask 255.255.255.0 { option routers 10.20.30.1; option subnet-mask 255.255.255.0; option domain-name-servers 10.20.30.2; range dynamic-bootp 10.20.30.2 10.20.30.100; default-lease-time 21600; max-lease-time 43200; next-server 10.20.30.2; ###重要 filename "pxelinux.0"; ###重要 } 单就网络安装来说,只要在已经安装配置好的DHCP服务器上添加指定服务器IP和指定pxelinux.0便可。 重启动DHCP:service dhcpd restart
编辑/tftpboot/pxelinux.cfg/default
default vesamenu.c32 #prompt 1 timeout 10 #超时时间 display boot.msg menu background splash.jpg menu title Welcome to CentOS 6.3! 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 ks=ftp://10.20.30.2/pub/ks.cfg initrdinitrd=initrd.img ## 设置重点 append ks=nfs:10.20.30.2:/tftpboot/ks.cfg initrdinitrd=initrd.img ##设置重点 label vesa menu label Install system with ^basic video driver kernel vmlinuz append initrdinitrd=initrd.img xdriver=vesa nomodeset label rescue menu label ^Rescue installed system kernel vmlinuz append initrdinitrd=initrd.img rescue label local menu label Boot from ^local drive localboot 0xffff label memtest86 menu label ^Memory test kernel memtest append - ############FTP、NFS、HTTP三种安装方式的配置路径写法########## ############主要是为了让安装引导程序找到ks.cfg配置文件######## ############################################################## # append ks=ftp://10.20.30.2/pub/ks.cfg initrdinitrd=initrd.img # append ks=nfs:10.20.30.2:/tftpboot/ks.cfg initrdinitrd=initrd.img # append ks=http://10.20.30.2/linux/ks.cfg initrdinitrd=initrd.img ##############################################################
对安装光盘的定制
# #/root/anaconda-ks.cfg . 安装系统时由anaconda自动生成的ks.cfg文件 #vi anaconda-ks.cfg # Kickstart file automatically generated by anaconda. #version=DEVEL install #cdrom lang en_US.UTF-8 keyboard us network --onboot yes --device eth0 --bootproto dhcp --noipv6 #这里我把它设置为开机DHCP自动获取IP,默认为--onboot no。 rootpw --iscrypted $6$FLLlvfqZKzvs/9bu$oflTVbcg8ZDgfCvBCDeyIBrgswymV7.W6ZoKc0Ona0GT/SCmBvMokbD2Ty86GH.qMOzXKlh6fTUQJRq4C50FC1 firewall --service=ssh authconfig --enableshadow --passalgo=sha512 selinux --enforcing timezone --utc Asia/Shanghai #url --url=ftp://10.20.30.2/pub ###FTP 的方式 #nfs --server=10.20.30.2 --dir=/mnt/cdrom ###NFS的方式 #url --url=http://10.20.30.2/linux ###HTTP的方式 bootloader --location=mbr --driveorder=sda --append="crashkernel=auto 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 zerombr #注意此处,清空MBR clearpart --all --initlabel #重新初始化硬盘分区 part /boot --fstype=ext4 --size=200 #/boot分区,200M part swap --size=1024 #swap 分区,1024M part / --fstype=ext4 --grow --size=1 #根分区/,意为剩下所有的空闲空间都留给/ #repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100 #暂未明白这是什么意思,先注释掉 reboot #安装完成后自动重启 %packages --nobase #这里定义需要安装的包 @core #最小化安装只有一个core就够了。 %post #%post后面可以接一些命令、脚本。如/bin/touch /root/test.cfg,安装完成后会在/root目录下看到test.cfg文件 /bin/touch /root/test.cfg ####################################################### #下面是我创建SSH 公钥的脚本 ####################################################### if [ ! -d /root/.ssh ]; then mkdir /root/.ssh/ fi if [ ! -f /root/.ssh/authorized_keys ]; then touch /root/.ssh/authorized_keys fi cat <<EOF > /root/.ssh/authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDDZCIIaD6lCRhmRY4wwdhLcqfstvd0aT90Py9g0RTtZxkh7NcJuR/+zupmQ0Bet3UW2sGfiP3JSviQvi82QK9+orh0IC+cCboE0usgSH89nra0LLc0y2Iv816lhjh5Dmn9ubfT5uCkgnJMIu10qUqZbu2b/ypMwMe/5jEFBdG89 w EOF %end #必须的结束标志
安装方式之一:FTP
安装vsftpd之后默认允许匿名访问FTP公共目录/var/ftp/pub,所以无需对vsftd配置文件进行修改。 只需要把ks.cfg文件和光盘中的所有文件复制到/var/ftp/pub就可以了。 #cp /root/anaconda-ks.cfg /var/ftp/pub/ks.cfg #cp -a /mnt/cdrom/* /var/ftp/pub #分别修改ks.cfg和/tftpboot/pxelinux.cfg/default文件对应的方式
安装方式之二:NFS
编辑NFS的配置文件,添加以下两句 /tftpboot *(ro,sync) #/tftpboot 可被网络上任何主机读取 /mnt/cdrom *(ro,sync) #/mnt/cdrom 可被网络上任何主机读取 分别修改ks.cfg和/tftpboot/pxelinux.cfg/default文件对应的方式
安装方式之三:HTTP
1,把ks.cfg和/mnt/cdrom里的所有文件复制到apache指定的目录下 2,分别修改ks.cfg和/tftpboot/pxelinux.cfg/default文件对应的方式
本文出自 “枫之歌” 博客,转载请与作者联系!
相关文章推荐
- 部署PXE高效批量网络装机并实现Kickstart无人值守自动安装
- 网络无人自动安装centos 6.2 + PXE + httpd + kickstart
- Kickstart+HTTP+DHCP+TFTP+PXElinux实现RedHat的网络自动安装
- Kickstart+NFS+DHCP+TFTP+PXElinux实现CentOS的网络自动安装
- 基于PXE,kickstart实现通过网络自动安装CentOS6.5
- Kickstart+HTTP+DHCP+TFTP+PXElinux实现RedHat的网络自动安装
- 【unit1 & unit2】kickstart 自动安装系统& 附加pxe网络安装服务
- KickStart + DHCP + NFS + TFTP + PXE全自动网络安装Linux
- Kickstart Pxe 自动批量安装Linux系统
- Kickstart+NFS+DHCP+TFTP+PXElinux实现CentOS的网络自动安装
- Kickstart+HTTP+DHCP+TFTP+PXElinux实现RedHat的网络自动安装
- Kickstart+NFS+DHCP+TFTP+PXElinux实现CentOS的网络自动安装
- kickstart网络全自动安装CentOS
- KICKSTART+DHCP+TFTP+HTTP基于PXE完成全自动安装系统
- Linux网络安装(PXE + DHCP+TFTP+ Kickstart+ FTP)
- PXE KICKSTART 全自动安装系统
- pxe+kickstart自动安装redhat7.0服务的搭建与配置
- PXE,DHCP,Apache-Kickstart系统集体化自动安装
- 实现Kickstart + NFS + DHCP + PXE的全自动远程无人职守安装
- PXE+DHCP+Apache+Kickstart自动安装CentOS