首页 > 代码库 > pxe自动安装centos

pxe自动安装centos

 pxe自动安装centos

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

案例pxe自动安装的实现过程

拓扑结构图

E54A869C767A432DA6C7AAF9F9B22515 

服务器端安装环境;

vsftpd  :构建服务器服务  lftp:测试服务器

安装好以后: service vsftpd start  启动vsftpd服务

chkconfig vsftpd on  设置为开机启动   使用lftp测试服务器

084A7D4CED1A43AF9472DD3EF5B6D755 

EC36EEF5A6414D95AF71A0CDAC02195B 

接下来要安装kickstart工具

E4ABE701559B4D6393A4F508AB662255 

system-config-kickstart  运行的环境必须是图形界面,或者下载安装Xmanger软件。

进入图形界面,打开终端,执行system-config-kickstart  命令

进入以下界面

44A44007727945359C400BF82EFAC362 

这些设置都是操作系统中需要安装的东西,可以按自己的需求设置,设置完后,点击左上角的file,保存,产生ks.cfg 文件,将文件保存到/root 目录下    vim  ks.cfg  

37FA59CA01EB41569FA4BFBA4998BE79 

文件中显示的都是上一步保存的设置

然后  cp ks.cfg /var/ftp  ks.cfg 文件拷到ftp目录下

yum --disablerepo=\* --enablerepo=c6-media install dhcp 

vim /etc/dhcp/dhcpd.conf  编辑dhcp脚本

底行模式输入:r /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample 

再修改,修改后如下

D9AD84C875B4447DA1F7BA8CC8F2B532 

service  dhcpd configtest   测试语法是否正确

service  dhcpd  start  启动dhcpd服务

chkconfig dhcpd on  开机启动

新建虚拟机,关闭虚拟机dhcp服务,挂载引导光盘,开启F13EF2B7058A4848BF00552F20AFCB72

进入此页面,按下Esc

68BD3E0A47FF4639AD75ABF917E34EB1 

我们可以把以上过程更简化,只需一个引导盘,不需要系统盘,还可以让它自动寻找ks.cfg

507A10564AB841D6A81A63C5708A44AD 

140682A33E074BA1B0706FA3F2F17E74 

使用此命令,将iso目录下的isolinuxks.cfg生成引导镜像文件   :mkisofs  -o  myiso.iso -b  isolinux/isolinux.bin  -c isolinux/boot.cat  -no-emul-boot -boot-load-size 4 -boot-info-table -R  -J -v  -T  .

生成文件为myiso.iso

myiso.iso 从虚拟机中传到宿主机上,把引导盘挂载到新建的系统中

7DC50FD927E84913A104D57ED27B05AB 

把系统设置为光盘引导,然后在以下界面,按下Esc

913B98186B5448F399B9E016538E2E60 

ECD50F44C5244F7295CBC24810C4AF55 

输入后,系统启动,引导成功

我们还可以更简化,把boot后输入也省掉

cd isolinux/   vim  isolinux.cfg   进入isolinux目录编辑文件

75817099C6B14C0C9DD7F5669C60CC29 

然后删除原来的myiso.iso文件重新制作引导盘,然后上传,挂载再次启动系统,可以发现boot后不用再输入。

下面我们利用pxe实现无人值守,自动安装 

与以上的过程略有不同,重新修改dhcp文件

vim  /etc/dhcp/dhcpd.conf   编辑此文件 

13E72C5A30E742038E5CBA921DAC76B8 

3EE510AE69CE4C718ED7BF8D81B93E59 

 

 yum --disablerepo=\* --enablerepo=c6-media install tftp-server  

安装tftp服务;然后

0EF91CC127294C4BAABA5BB130B1DF20 

AF8D4221908046DDB358837B5A4D0425 

修改后重启服务   service  xinetd  restart

chkconfig  xinetd  on   开机启动

下面安装pxe的驱动以及一些配置

yum --disablerepo=\* --enablerepo=c6-media install syslinux

 cp /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot

pxelinux.0拷贝到tftp的根目录下

752523FC0B474FD2A3A66093C7BCCF03 

A269D4B752814AD0928760066C80F25F 

到此,pxe的驱动与配置文件基本齐全

cd   pxelinux.cfg    vim default   

ADA344FA2D1646ED859CBCCBC1F7BF67  

为了是各个主机的名字不重复,切使主机名与IP地址相关并使其获得静态地址,编辑脚本,新建文件test.sh,编辑如下

070E467625124C0190E1B8312A48D820 

bash  test.sh   测试脚本

 vim /etc/sysconfig/network

5DA70370E3434DB2B1E16C6EF852D446   修改成功

vim /etc/sysconfig/network-scripts/ifcfg-eth0

4A1C43F23C4D4C3F999F903E73ECF6BC 

C6701B8965574D93AC1FDB8E695AE80B 

88217A0DBA704E76AFBB49257D9FCAC9 

system-config-kickstart   启动kickstart再次设置设置与以上设置基本相同,但本次要设置后安装脚本,生成ks.cfg文件

0DC59A7EA3A24E61A8E56EE1F614FDFD 

cp ks.cfg  /var/ftp  将ks.cfg文件拷贝到ftp目录下

service iptables stop   关闭防火墙

 chkconfig iptables off   开机关闭

把新建虚拟机设置为网络启动

4C7B07A8113D4F2BB16322B498B15ACC 

F10保存退出

然后虚拟机就开始自动安装操作系统了,经过一段时间进到以下界面,开始安装软件包

E6360B9406E24FE19BC85CE8FCAE8AE0 

安装完成后,重启进入BIOS模式,主机修改成基于硬盘启动再次boot进入

F67B92D558F6478A9D42C1AA4C08BD8F 

系统安装成功


pxe自动安装centos