利用Kickstart实现Pxe的自动安装

一、Kickstart简介

简介
        Kickstart是一个利用Anconda工具实现服务器自动化安装的方法;通过生成的

kickstart配置文件ks.cfg,服务器安装可以实现从裸机到全功能服务的的非交互式(无

人值守式)安装配置;ks.cfg是一个简单的文本文件,文件包含Anconda在安装系统及

安装后配置服务时所需要获取的一些必要配置信息(如键盘设置,语言设置,分区

设置等);Anconda直接从该文件中读取必要的配置,只要该文件信息配置正确无误

且满足所有系统需求,就不再需要同用户进行交互获取信息,从而实现安装的自动

化;但是配置中如果忽略任何必需的项目,安装程序会提示用户输入相关的项目的

选择,就象用户在典型的安装过程中所遇到的一样。一旦用户进行了选择,安装会

以非交互的方式(unattended)继续。

 

使用kickstart优势:

1. 流线化自动化的安装;

2. 快速大量的裸机部署;

3. 强制建立的一致性(软件包,分区,配置,监控,安全性);

4. 减少人为的部署失误。

 

使用Kickstart方法安装的过程:

1. 创建一个kickstart文件;

2. 创建有kickstart文件的引导介质或者使这个文件在网络上可用;

3. 筹备一个安装树;

4. 开始ks安装:anconda自身启动 -->选取ks安装模式--> 从ks文件读取配置 --> 最后

安装。

 

创建kickstart配置文件的方式:

1. 文本编辑器编辑生成:vim;

2. 用图形化界面配置:system-config-kickstat(需要安装system-config-kickstart.noarch

包)。

注:图形化界面配置时,磁盘选项无法创建配置LVM(逻辑卷);

文件生成后,推荐使用ksvalidator命令检查配置文件语法及完整性错误。

[root@bogon ~]# ksvalidator ks.cfg

not enough arguments for format string
 

二、Pxe简介

介绍  

        PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server

的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的

操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP

(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个

启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而

引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:

Windows95/98/2000,linux等。

 
表现形式

  PXE最直接的表现是,在网络环境下工作站可以省去硬盘,但又不是通常所说

的无盘站的概念,因为使用该技术的PC在网络方式下的运行速度要比有盘PC快3倍

以上。当然使用PXE的PC也不是传统意义上的TERMINAL终端,因为使用了PXE的

PC并不消耗服务器的CPU,RAM等资源,故服务器的硬件要求极低。

 
启动过程

  PXE是RPL的升级品,它是Preboot Execution Environment的缩写。它们的不同之处

在于RPL是静态路由,而PXE是动态路由。其通信协议采用TCP/IP,与Internet连接高

效而可靠,PXE无盘工作站的启动过程分析如下:

 

  ¨ 客户端个人电脑开机后, 在 TCP/IP Bootrom 获得控制权之前先做自我测试。 

  ¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP。

  ¨ 如果服务器收到个人电脑所送出的要求, 就会送回 BOOTP/DHCP 回应,内容包

括。 

  客户端的 IP 地址, 预设网关, 及开机影像文件。否则, 服务器会忽略这个要求。

  ¨ Bootprom 由 TFTP 通讯协议从服务器下载开机影像文件。

  ¨ 个人电脑通过这个开机影像文件开机, 这个开机文件可以只是单纯的开机程式

也可以是操作系统。

  ¨ 开机影像文件将包含 kernel loader 及压缩过的 kernel, 此 kernel 将支持NTFS

root系统。 

  ¨ 远程客户端根据下载的文件启动机器。

 

三、实现步骤

 创建挂载点

 [root@localhost ~]# mkdir /mnt/cdrom

挂载

 [root@localhost ~]# mount /dev/cdrom /mnt/cdrom      

 编辑yum

[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo

编辑结果

 

 

 

 

安装vsftpd

[root@localhost ~]#yum install –y vsftpd  

安装dhcpd

[root@localhost ~]#yum install –y dhcp
 
安装tftp
 
[root@localhost ~]#yum install –y tftp
 
启动vsftpd
 
[root@localhost ~]#service vsftpd start
 
启动dhcp
 
[root@localhost ~]#service dhcpd start
 
如果启动失败,执行以下命令
 
[root@localhost ~]#cd  /mnt/cdrom
 
[root@localhost cdrom]#cp -r .  /var/ftp/pub/
 
编辑dhcp配置
 
[root@localhost ~]#vim  /etc/dhcpd.conf
 
进入后,在低行模式下,输入r ,后跟路径
 
编辑结果
 
 

  启动dhcp

[root@localhost ~]#service dhcpd start

查看tftp配置脚本

[root@localhost ~]#rpm -ql tftp-server

编辑tftp超级守护进程脚本

[root@localhost ~]#vim /etc/xinetd.d/tftp

编辑结果

 

启动超级守护进程

[root@localhost ~]#service xinetd restart

切换到tftpboot

[root@localhost ~]#cd  /

[root@localhost /]#cd tftpboot

复制驱动到当前目录

[root@localhost tftpboot]#cp /usr/lib/syslinux/pxelinux.0  . /

复制pxe内核到当前目录

[root@localhost tftpboot]#cp /mnt/cdrom/images/pxeboot/vmlinuz  . /

复制驱动到当前目录

[root@localhost tftpboot]#cp /mnt/cdrom/images/pxeboot/initrd.img  . /

创建目录

[root@localhost tftpboot]#mkdir -pv pxelinux.cfg

复制提示信息到刚创建的目录中,并重命名为default

[root@localhost tftpboot]#cp /mnt/cdrom/isolinux/isolinux.cfg  pxelinux.cfg/default

切换到pxelinux.cfg目录

[root@localhost tftpboot]#cd pxelinux.cfg

查看default文件

[root@localhost pxelinux]#vim default

切换到ftp目录

[root@localhost pxelinux]#cd

[root@localhost ~]#cd /mnt/cdrom

[root@localhost cdrom]#cd /var/ftp

安装system-config-kickstart

[root@localhost ftp]#vim install -y system-config-kickstart

执行system-config-kickstart

[root@localhost ftp]#system-config-kickstart

执行结果(不能再命令行模式下执行,需切换到图形界面)

 

配置结果

 

 

 

 

 

 

编辑ks.cfg

[root@localhost ~]#vim ks.cfg

结果

 

 

编辑dhcp配置

[root@localhost ~]#vim  /etc/dhcpd.conf

结果

 

切换到pxelinux.cfg

[root@localhost ~]#cd /tftpboot

[root@localhost tftpboot]#cd pxelinux.cfg

编辑default

[root@localhost pxelinux.cfg]#vim default

结果

 

 

 

你可能感兴趣的:(linux,自动安装,pxe,kickstart)