PXE自动化安装系统

PXE自动化安装的流程:

开机自检 > 加载ROM中的bios代码 > 检查设备启动顺序,由于PXE自动安装是基于网卡作引导的,所以,会选择网卡 > 网卡中会有PXE的模块,从dhcp服务器获取ip地址 掩码 网关 dns 重要的是tftp服务器的地址 从tftp服务器需要获取的bootloder的文件名的信息 > 从tftp中加载pxelinux.0引导程序 >  加载内核和initrd.img > 从initrd中的虚拟根中启动init,然后再从中启动/bin/loader,loader加载ks.cfg文件 > 最后从http服务器中加载启动anaconda,又根据ks.cfg文件 ,实现自动配置和安装。

实现过程:

  1. 安装好http tftp-server syslinux dhcp,我这里已经安装好了:

    }WYC2%{%(HV0S3]8V`SFWK2.png

  2. 配置tftp服务器,tftp是基于udp协议的,是一个超级守护进程,他是被xinetd来管理的,xinetd帮他进行监听,当有请求是xinetd管理的进程时,才把它唤醒,把请求交回给它处理,这种方式适合一些访问量比较小的服务,可以节省资源,这些在xinetd内部的服务不一直占用系统资源;如果是独立进程,它会一直监听它的套接字上,常驻在内存上,比较消耗资源,但是请求反应速度快!

       由于tftp是受xinetd管理的内部服务,他要先把他on起来:

        方法一:

                        chkconfig tftp on

        方法二:

                        修改/etc/xinetd.d/tftp

                        把里面的disable = yes 修改为 diaable = no

然后,service xinetd start

好了,要把需要的文件放到tftp服务器的下载目录下:

mount /dev/cdrom /media/cdrom(先进行光盘的挂载)

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/  (把bootloder复制过去)

mkdir /var/lib/tftpboot/pxelinux.cfg

cp /media/cdrom/isolinux/{vesamenu.c32,splash.jpg,boot.msg} /var/lib/tftpboot/ (把引导时的菜单 背景图片boot的文字界面文件复制过去)

cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default (这是一个pxelinux.0的引导中所需的配置文件)

然后我们修改这个default文件,在label linux 下加入 text(安装时文本模式) 还有指定ks文件的位置

R3R(]UAGUAXB`H[{~N(K0{J.png

cp /media/cdrom/image/pxelinux/{vmlinuz,initrd.img} (复制内核和initrd过去)

D`ULI8P6YI[NLH]N8UUY}8V.png

 3.进行配置dhcp服务器:

cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf 把例子的配置文件复制过来进行覆盖和修改配置。

F0{OS@2V~7LF~}2[6DFICD2.png

}[Q]2C[7I~S1I`[`0(3UWWU.png

上面的next-server参数是为了给安装主机一个ip地址后,让他加载这个IP地址的服务器,然后加载filename定义的文件。

service dhcp start (注意:dhcp服务器的主机要使用静态地址)

3.配置http服务器

mkdir /var/www/html/centos6

mount –bind /media/cdrom /var/www/html/centos6(提供repo源)

service httpd start

4.创建ks文件

我们要使用system-config-kickstart这个工具,要进行安装,这个工具可以图形配置我们安装系统的配置

这里我会加载我配置好的ks文件。

0TAXD6`3ZI0ZH6KR`98BZAG.png配置 安装时的语言 键盘的语言类型 时区 root的密码 还有安装后重启 

D(93%KMY`1@_W[~O8LHW2S9.png根据什么方式来获取安装的源和安装源在哪

WE4`4QO]8Q[SP_KGFMQ%EL7.png

clear master boot record 这个一定要选 不让在安装时,会有交互。

要创建lvm要在ks文件中手动加上去,这里不支持lvm创建

DLM{NI)N}8V9G2WDRGDXP(K.png

对你的系统需要的包或包组进行安装。

用ss命令检查服务是否处于监听状态

}U~71RAM_LN3)S}K9BDK${O.png

还有把iptables服务关闭

开始测试:

4DOC9L(AZHYUP731IR0(M}6.png

]2YY`3%S}BOKJ`48RA(MQS3.png

MO(}KVN9WLUL2OSOZD0$W]K.png

244HVKUI]{]GR8EDW%XN[VF.png

G}BAY{VD69HK1AWBYV}7_FF.png

好了,我们可以等待它安装完成了!

最后,总结我做的过程中出现的错误:

YB9%N%2C`MZJ}}[[JH`5N7E.png

由于我的ks文件中存在一个错误行:

repo –name="CentOS"  –baseurl=cdrom:sr0 –cost=100

这个行是说用光盘提供安装源的,我们是基于http的安装源,所以,我把这行去了就ok了!

 

原创文章,作者:13-广州-杨过,如若转载,请注明出处:http://www.178linux.com/6937

(0)
上一篇 2015-08-11 14:57
下一篇 2015-08-11 15:05

相关推荐

  • N25-第七周博客作业

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; 查看当前分区情况 [root@han ~]# fdisk -l Disk /dev/sda: 42…

    Linux干货 2017-02-23
  • 马哥教育网络班21期+第5周课程练习

    1.显示/boot/grub/grub.conf中至少以一个空白字符开头的行 [root@itop ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf 2.显示/etc/rc.d/rc.sysinit文件中以#开头,后面至少一个空白字符,而后又有至少一个非空…

    Linux干货 2016-08-08
  • 马哥教育网络班21期-第八周课程练习

    第八周作业 1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 集线器:集线器工作在OSI七层模型的物理层;功能是将传输信号再生或放大,收到数据后将数据转发至除接收接口外的所有接口(广播)),但是由于集线器所有端口属于共享带宽,属于同一个冲突域和属于同一个广播域,容易产生信号冲突导致帧碎片,现今大部分集线器已经被交换机所替代; 网…

    Linux干货 2016-09-01
  • 计算机的组成及功能

    计算机的组成及功能 计算机的组成 计算机的组成,简单地来说,包含硬件和软件两部分,两者相辅相成,缺一不可。在计算机网络发展的今天,网络也已成为计算机不可或缺的一部分。 计算机硬件 可以分为如下5个部分: 控制器 负责对程序的控制信息进行分析,控制并协调输入、输出操作或内存访问,如CPU 运算器 负责数据的算术运算和逻辑运算,如C…

    Linux干货 2016-10-29
  • HTTP详解(2)-请求、响应、缓存

    1. HTTP请求格式              做过Socket编程的人都知道,当我们设计一个通信协议时,“消息头/消息体”的分割方式是很常用的,消息头告诉对方这个消息是干什么的,消息体告诉对方怎么干。HTTP协议传输的消息也是这样规定的…

    Linux干货 2015-04-04
  • Linux上实现rsyslog+mysql+loganalyz进行日志收集

    在我们的运维工作中,常常会对系统上的日志进行收集,手动管理少量的几台服务器的日志收集没有太大难度,但是企业当中批量的管理成千上万台服务器的时候,这时候想一台台的收集日志未免太浪费时间了,这时候我们需要一个批量管理日志的系统来解决这一难题,今天我给大家带来的使用 1、syslog介绍       &n…

    Linux干货 2016-10-24