kickstart自动化安装过程(搜索整理)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kickstart自动化安装过程(搜索整理)相关的知识,希望对你有一定的参考价值。

                Kickstart自动安装配置文档(NFS+http版本)

一、什么是PXE?
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术, 工作于Client/Server的网络模式。严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,Bios 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。
二、Kickstart技术:
Kickstart技术的核心是:自动应答文件(Kickstart文件),就是将本来在安装过程中需要我们手动设置的语言、密码、网络参数等通过读取自动应答文件实现自动设置。也就是说,我们需要事先将对操作系统的设置写入自动应答文件,开始安装操作系统时,指定安装程序读取自动应答文件实现自动安装及部署操作系统。
三、PXE的工作过程
1.客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP
2.DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)
3.客户机向本网络中的TFTP服务器索取bootstrap文件
4.客户机取得bootstrap文件后之执行该文件
5.根据bootstrap的执行结果,通过TFTP服务器加载内核和文件系统
6.进入安装画面, 此时可以通过选择FTP,HTTP,NFS方式之一进行安装
四、配置环境:
先将防火墙等全关闭:sed -ri ‘/^SELINUX/cSELINUX=disabled‘ /etc/selinux/config
iptables -F service iptables save 临时关闭:setenforce 0

服务器的ip:192.168.176.10
步骤如下:
(1)安装部署DHCP服务
yum install -y dhcp
修改配置文件:vim /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;

subnet 192.168.176.0 netmask 255.255.255.0 {
option routers 192.168.176.2;
option domain-name-servers 192.168.1.1;
range dynamic-bootp 192.168.176.5 192.168.176.200;
next-server 192.168.176.10;
filename "pxelinux.0";
}

host CentOS6_AutoInstall {
hardware Ethernet 00:50:56:25:76:C6;
fixed-address 192.168.176.10; }

配置说明:指定为192.168.176.0/24网络分配动态IP地址,动态地址池从192.168.176.5至192.168.176.200;客户端获取的网关地址为192.168.176.2;TFTP服务器地址为192.168.176.10,启动文件名称为pxelinux.0。
启动DHCP服务:/etc/init.d/dhcpd restart
(2)安装tftp部署服务
yum install -y tftp-server
修改配置文件:vim /etc/xinetd.d/tftp

service tftp
{
disable = no 启动服务器 修改为no启用服务
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot 共享路径为/var/lib/tftpboot。
per_source = 11
cps = 100 2
flags = IPv4
tftp服务器由tftp-server软件包提供,默认由xinetd超级服务进行管理,因此配置文件位于/etc/xinetd.d/tftp。配置时只要将“disable = yes”改为“disable = no”,然后再启动xinetd服务即可,启动服务/etc/init.d/xinetd restart。

(3)将客户端所需启动文件复制到TFTP服务器
用于PXE网络安装的引导程序为pxelinux.0,由软件包syslinux提供。安装好软件包syslinux,然后将文件pxelinux.0也复制到tftp服务的根目录下
yum install -y syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
将光盘或ISO挂载到/media中,将安装镜像中的启动镜像文件和启动配置文件复制到TFTP共享目录下
mount /dev/cdrom /media/
cp /media/isolinux/vmlinuz /var/lib/tftpboot/
cp /media/isolinux/initrd.img /var/lib/tftpboot/
cp /media/isolinux/boot.msg /var/lib/tftpboot/

启动菜单用来指导客户机的引导过程,包括如何调用内核、如何加载初始化镜像。默认的启动菜单文件为default,应放置在tftpboot目录的pxelinux.cfg子目录中,典型的启动菜单配置可参考以下操作手动建立。
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
修改启动配置文件如下:
vim /var/lib/tftpboot/pxelinux.cfg/default
######################
default vesamenu.c32
#prompt 1 #显示 ‘boot: ‘ 提示符。为 ‘0‘ 时则不提示,将会直接启动 ‘default‘ 参数中指定的内容。
timeout 60 #在用户输入之前的超时时间
display boot.msg#显示某个文件的内容,注意文件的路径。默认是在/var/lib/tftpboot/ 目录下。也可以指定位类似 ‘/install/boot.msg‘这样的,路径+文件名。
menu background splash.jpg
menu title Welcome to CentOS 6.10!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux #‘label‘ 指定你在 ‘boot:‘ 提示符下输入的关键字,比如boot: linux[ENTER],这个会启动‘label linux‘ 下标记的kernel 和initrd.img 文件。
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz #kernel 参数指定要启动的内核。
#append ks=http://192.168.176.10/ks.cfg ksdevice=eth0 initrd=initrd.img(http)
append initrd=initrd.img ks=nfs:192.168.176.10:/var/www/html/ks.cfg(nfs)
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -

配置说明:default指定默认引导方式,即下面的以label开头的各种引导方式;kernel指定的是系统内核文件;后面的ks参数可以指定自动应答文件的位置,本例设置为通过访问192.168.176.10的NFS共享方式读取kickstart文件。

重启tftp服务:service xinetd restart
(4) 创建kickstart自动应答文件
touch /var/www/html/ks.cfg (ks.cfg用来配置安装系统时的各种参数,比如用户名密码、如何分区、配置网卡等,可按自己需求进行配置。)
vim ks.cfg
以下是ks.cfg的自动应答文件内容:

Kickstart file automatically generated by anaconda.

#version=DEVEL
install
text
#url --url=http://192.168.176.10/6.10
nfs --server=192.168.176.10 --dir=/var/www/html/6.10
key --skip
lang en_us.UTF-8
keyboard us
network --bootproto=dhcp --device eth0 --onboot=on
rootpw 123456
firewall --disabled
auth --useshadow --passalgo=sha512
selinux --disabled
logging --level=info
firstboot --disable
timezone Asia/Shanghai
bootloader --location=mbr
zerombr
clearpart --initlabel --all --drives=sda
clearpart --all --initlabel
part /boot --fstype=ext4 --size=500
part / --fstype="ext4" --grow --size=10000
part swap --size=2048
part /data --fstype=ext4 --size=1 --grow

%packages --nobasebr/>@core
%end

(5)部署NFS服务
修改NFS配置文件如下:vim /etc/exports
/var/www/html/ *(rw,sync)

启动NFS服务: service nfs start
(6)开启客户机
对于首次安装的客户机来说,不需要进入BIOS更改启动顺序,从CD-ROM或硬盘找不到自然会从网络寻找安装源。


以上是关于kickstart自动化安装过程(搜索整理)的主要内容,如果未能解决你的问题,请参考以下文章

kickstart自动化安装--tftp+nfs+dhcp

自动安装

RHCE之HTTPD+FTP+KickStart发布镜像,用于KVM的VM自动安装过程

kickstart自动部署centos

kickstart自动化安装

怎么在安装linux虚拟机时自动设定?linux使用kickstart自动安装脚本安装系统