Linux基于PXE实现系统自动化部署

阅读:335 2019-03-19 14:40:01 来源:开源中国

一、前言:

通常为计算机安装操作系统的方式主要是,光盘安装和u盘安装;在企业生产环境中,会需要对多台客户机或服务器安装linux操作系统,如果还用常规的方法去安装,费时又费力;pxe批量部署系统即可高效完成此类工作。

二、原理:

使用光盘(镜像)安装linux操作系统过程:post(加电自检)-->引导序列(通过biso发现引导cd-rom或u盘)--bootloader(kernel+ramdisk)-->anaconda(安装程序)

1、自动化部署服务器所需环境:

pxe:prebootexecuteenvironment,预启动执行环境;网卡支持pxebootrom;

dhcp:dynamichostconfigurationprotocol,动态主机设置协议;为客户端提供ip地址;

tftp:trivialfiletransferprotocol,简单文件传输协议;为客户端提供启动引导文件和内核引导文件;

xinetd:超级守护进程,用来唤醒tftp服务;

http:hypertexttransferprotocol,超文本传输协议;为客户端提供kickstart文件及安装源;

kickstart文件:系统自动化安装脚本;

syslinux:提供pxelinux.0文件,启动引导文件,相当于bootloader;

操作系统光盘或镜像:安装源和内核引导文件;

2、实现过程:

pxe采用c/s服务架构:

1)、client:客户端加电自检通过bios发现支持pxe的网卡,然后pxebootrom会向网络中发送广播请求,向网络中的dhcp服务器请求ip地址;

2)、server:服务器收到广播,会为客户端提供ip地址和tftp服务器的ip地址,tftp中包含pxebootrom引导程序所需的文件;

3)、client:客户端会向tftp服务器发送下载请求,下载引导程序文件;

4)、server:tftp服务器接收到请求,传输引导程序文件;

三、实验过程:

1、实验前提:

1)、客户端:

网卡支持pxe;

2)、服务器:

配置静态ip地址;

#vim/etc/sysconfig/network-scripts/ifcfg-eth:修改网络配置文件;#servicenetworkrestart:重新启动网络服务;

关闭防火墙和selinux;

#chkconfigiptablesoff:防火墙设置开机关闭;#serviceiptablesstop:光比防火墙服务;#setenforce0:关闭selinux;#vim/etc/selinux/conf:修改selinux配置文件;

配置好yum源,并安装所需软件包:dhcp,tftp-server,xinted,httpd,system-config-kickstart,syslinux;

#mount-oloop/mnt/hgfs/lin/centos-6.6-x86_64-bin-dvd1.iso/media/cdrom/:挂载光盘镜像;#vim/etc/yum.repos.d/centos.repo:配置yum仓库位置;#yuminstalldhcptftp-serverxinetdhttpdsystem-config-kickstartsyslinux�y:安装相关服务软件包;

2、dhcp服务配置:

#/etc/dhcp/dhcpd.conf:主配置文件;#/usr/share/doc/dhcp-**/dhcpd.conf.sample:可参照次主配置文件模板进行修改配置;

#cp/etc/dhcp/dhcpd.conf/etc/dhcp/dhcpd.conf.backup:备份原配置文件;#cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample/etc/dhcp/dhcpd.conf:模板覆盖原配置文件;#vim/etc/dhcp/dhcpd.conf:修改配置文件;

全局配置:

>optiondomain-name"chencer.org";:配置域名>optiondomain-name-servers192.168.1.2;:配置dns服务器地址>default-lease-time3600;:默认租约时间,单位为秒;>max-lease-time86400;:最大租约时间,单位为秒;

地址池配置:

>subnet192.168.1.0netmask255.255.255.0{>range192.168.1.1192.168.1.100;:配置地址池范围;>optionrouters192.168.1.1;:网关配置;>next-server192.168.1.2;:配置tftp服务器地址;>filename"pxelinux.0";:配置pxe引导文件>}

#servicedhcpdconfigtest:编辑完成,保存退出,检查配置文件语法;#chkconfigdhcpdon:设置开机启动;#servicedhcpd{start|restart}:启动或重启服务;#ss�unl:查看监听端口;dhcpd监听在udp67号端口;

3、tftp服务配置:

1)、xinetd配置:

#vim/etc/xinetd.d/tftp:xinetd是tftp服务的超级守护进程,修改配置文件;

2)、为tftp服务提供引导文件:

#cp/usr/share/syslinux/pxelinux.0/var/lib/tftpboot/:为tftp服务器提供启动pxe的工作环境;#cp/media/cdrom/images/pxeboot/{vmlinuz,initrd.img}/var/lib/tftpboot/:提供kernel和ramdisk;#cp/media/cdrom/isolinux/{boot.msg,splash.jpg,vesamenu.c32}/var/lib/tftpboot/:提供安装菜单框架;

#mkdir-p/var/lib/tftpboot/pxelinux.cfg#cp/media/cdrom/isolinux/isolinux.cfg/var/lib/tftpboot/pxelinux.cfg/default#vim/var/lib/tftpboot/pxelinux.cfg/default

#tree/var/lib/tftpboot/:检查文件完整性;

3)、启动服务:

#chkconfigxinetdon:设置开机启动;#servicexinetd{start|restart}:启动或重启xinetd服务;#ss�unl:查看监听端口;tftp监听在udp69号端口;

4、http服务配置:

1)、提供安装源:

#mkdir/var/www/html/centos6.6:创建安装源目录;#mount--bind/media/cdrom//var/www/html/centos6.6/:挂载镜像到安装源目录;

2)、提供kickstart文件:

#system-config-kickstart:通过图形界面工具创建kickstart文件保存于/var/www/html/ks.cfg;#vim-o/root/anaconda-ks.cfg/var/www/html/ks.cfg:可参照/root/anaconda-ks.cfg进行修改;

添加或修改以下两行,指定安装源位置:

>url--url=http://192.168.1.2/centos6.6>repo--name="centos"--baseurl=http://192.168.1.2/centos6.6--cost=100

3)、启动服务:

#chkconfighttpdon:设置服务开机启动#servicehttpd{start|restart}:启动或重启服务;#ss�tnl:httpd监听在tcp80号端口;

下一篇: Charles
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>
推荐商标

{{ v.name }}

{{ v.cls }}类

立即购买 联系客服