一、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
启动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
结果