利用pxe实现centos的自动安装


一、PXE简介:

   PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户)基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/win7/win8,linux等。

二、利用虚拟机实现pxe实现centos的自动安装

实验环境:centos 6.4,VMware 10

实验内容:

  1. 打开一台虚拟机,做相应的配置,用作服务器

  2. 再创建若干台虚拟机,用作客户机,实现从服务器端的自动安装

实验拓扑如图所示:

wKiom1NSUSehagONAACVGXWLjMg549.png

三、实验步骤

① cd /etc/yum.repos.d/:进入文件,把目录下跟英特网有关的repo文件都给删掉,只留CentOS-Media.repo文件

mount /dev/cdrom /media/cdrom/:挂载光盘

cd /etc/yum.repos.d/:进入目录

rm *:交互删除当前所有

vim CentOS-Media.repo:修改文件,如图所示:

wKioL1NSUjGQupGeAAD98VJ5Xok960.jpg

② 安装ftp服务器,dhcp服务器,tftp-server和system-congig-kickstart工具

yum install vsftpd:

yum install dhcp:

yum install tftp-server system-config-kickstart:可以一块安装,中间要加空格

③ 编辑/etc/dhcp/dhcpd.conf文件

vim /etc/dhcp/dhcpd.conf:打开文件,提示参考文件,直接追加过来修改即可

:r /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample:底行模式下追加指定文件到当前文件,编辑如图所示:

wKioL1NSVXKhh2ZZAATYTLmyhqA293.jpg

④ 配置tftp-server9(udp 69)

rpm -ql tftp-server:查看包内容

cd /etc/xinetd.d/:进入目录

vim tftp:编辑文件,如图所示:

wKiom1NSVbeSCY4sAAJbf02NXL4057.jpg

service iptables stop:关闭防火墙

chkconfig iptables off:把以后每次开机的防火墙都关闭

getenforce:查看selinux,显示关闭:

Permissive

setenforce 0:把selinux关闭

vim /etc/sysconfig/selinux:修改selinux文件(改为disabled,这样每次启动都会关闭)

service xinetd restart:重启服务

netstat -tupln |grep 69:查看下端口,已经启动

wKioL1NSVjHzqbWAAABmxSo2K4Y926.jpg

chkconfig xinetd on:设置每次开机都会启动

cd /var/lib/tftpboot/:进入目录

cd /var/lib/tftpboot/:进入该目录(客户机访问到服务器,要在这个文件夹拷贝文件,这些文件包括内核,驱动,镜像等,在/media/cdrom/isolinux/目录下,要去拷贝)

cp /media/cdrom/isolinux/vmlinuz  ./:拷贝到当前目录

cp /media/cdrom/isolinux/initrd.img  ./:拷到当前目录

cp /usr/share/syslinux/pxelinux.0  ./:把驱动也拷到当前目录

wKiom1NSVnew8idrAADwTKixr00276.jpg

mkdir pxelinux.cfg:

cd pxelinux.cfg/:

cp /media/cdrom/isolinux/isolinux.cfg default:

⑤ 配置ftp服务器

service  vsftpd start:

chkconfig vsftpd on:

cd /var/ftp:这是客户机访问服务器的家目录

cp -r /media/cdrom/. ./ &:把安装树拷到当前目录,后台运行

⑥ 编译脚本,把访问的客户机分配不同的

显示信息的最后一列的例子:

wKioL1NSVofSStwPAAYMs53UUJk190.jpg

vim 1.sh:

wKioL1NSVp2B4LGvAAFMGMNE2ys186.jpg

wKiom1NSVtSxs2BUAAIjj7hLZ0o047.jpg

⑦ 生成ks.cfg

system-config-kickstart:再次开启工具,正常了,设置的显示界面如下:

wKioL1NSVyvh6ay9AAKrzpYCaxg467.jpg


wKiom1NSV5nyb2WnAAHkKLNqnkQ140.jpg

wKioL1NSV3LxFUH4AAIJzW0K0R8341.jpg

wKiom1NSV57h7ya9AAI4grXIx_g653.jpg

wKiom1NSV6PzOc6cAAIm_Y6343U863.jpg

wKioL1NSV3vgY3i9AAG6l6zLw0o078.jpg

wKioL1NSV36SzOGsAAG9g8Bfdn4562.jpg

wKiom1NSV6iyVyYSAAFgqBsZWts007.jpg

wKioL1NSV4KjgoKHAAKbEnMyulg568.jpg

wKiom1NSV63icBIyAAJRjCFQR5k233.jpg

wKiom1NSV67jRIXlAAJRFt4AfMw322.jpg

保存后会生成一个文件查看一下:vim ks.cfg 里面保存刚才的设置,内容如下:

wKiom1NSWDGBBhcyAAYxdY3Vv3E553.jpg

cp ks.cfg  /var/ftp :把生成的文件拷贝到匿名用户能访问到的ftp服务器的目录下

⑧ 编译pxelinux.0文件(告诉客户机ks.cfg在哪)

cd /var/lib/tftpboot/:进入目录,查看目录下内容:

wKiom1NSWL6j8IECAAE72N0tCmQ069.jpg

cd pxelinux.cfg/:

vim default :编辑文件,如图所示:

wKioL1NSWKOC6kEaAARH-FAvTYw600.jpg

⑨ 新建虚拟机,用作客户机去访问服务器,实现自动安装

这样就实现了不同客户机通过访问ftp服务器去安装系统。等待安装:

wKiom1NSWNuRhVUKAAEqhH_vpYs527.jpg

这样就实现了客户机的自动安装


你可能感兴趣的:(linux,centos,服务器,自动安装,pxe)