基于DHCP、PXE的kickstart手动安装简介

一般,在安装操作系统的过程需大量的人机交互过程,为降低交互过程linux定时关机命令,为提升安装效率sogou pinyin linux,RedHatLinux开始支持称为kickstart的功能,只需事先定义好一个kickstart手动应答配置文件(一般储存在安装服务器上),并让安装程序晓得该配置文件的位置,在安装过程中安装程序就可以自己从该文件中读取安装配置,这样就防止了冗长的人机交互,实现无人值守的手动化安装。安装好一机器,安装程序就会创建一个kickstart配置文件/root/anaconda-ks.cfg,记录真实安装配置。CentOS作为RedHatEnterpriseLinux(RHEL)的衍生版也支持此功能。

PXE(Pre-bootExecutionEnvironment)是由Intel设计的合同,它可以使计算机通过网路启动。PXE合同分为client和server两端,PXEclient在网卡的ROM中,当计算机引导时,BIOS把PXEclient调入显存执行,并显示出命令菜单,经用户选择后,PXEclient将放置在远端的操作系统通过网路下载到本地运行。PXE在其启动过程中,顾客端恳求服务器分配IP地址,然后PXEClient使用TFTPClient通过TFTP(TrivialFileTransferProtocol)合同下载启动安装程序所需的文件。

PXE网路安装:顾客机通过支持PXE的网卡向网路中发送恳求DHCP信息的广播恳求IP地址等信息,DHCP服务器给顾客端提供IP地址和其它信息(TFTP服务器、启动文件等),然后恳求并下载安装须要的文件。

linux kickstart_linux kickstart_linux kickstart

系统概况顾客端:以下为服务端设置安装所须要的软件:#yum-yinstalldhcpnfs-utilstftp-server配置tftp:

tftp提供dhcp获取IP后所须要下载pxelinux.0及default、efidefault等文件的服务。更改配置文件/etc/xinetd.d/tftp:

service tftp
{
	disable = no #默认是yes,改为no
	socket_type = dgram
	protocol = udp
	wait = yes
	user = root
	server = /usr/sbin/in.tftpd
	server_args = -s /tftpboot #-s 表示用/tftpboot作为tftp目录的根目录
	per_source = 11
	cps = 100 2
	flags = IPv4
}

登录后复制

重启xinetd服务:#servicexinetdrestart配置NFS服务:

构建ks.cfg等基本引导文件所须要的公共目录/tftpboot及CentOS镜像挂载目录/centos:#mkdir/tftpboot/centos配置NFS共享,容许192.168.100.0/24IP地址顾客端访问,更改配置文件/etc/exports:

/centos 192.168.100.0/24(ro,async,no_root_squash)
/tftpboot 192.168.100.0/24(rw,async,no_root_squash)

登录后复制

重启NFS:#servicenfsrestart查看NFS状态:#exportfs正常的话,应有类似输出:

/centos 	192.168.100.0/255.255.255.0
/tftpboot 	192.168.100.0/255.255.255.0

登录后复制

配置kickstart安装文件

可以使用某台CentOS7(注意不是6)的/root/anaconda-ks.cfg作为模板自动更改linux kickstart,也可以使用system-config-kickstart命令配置ks.cfg文件:PXE引导配置

PXE启动映像文件由syslinux软件包提供,CentOS镜像中已提供。下载第一张DVD镜像:#wget挂载第一张DVD镜像:#mount-oloopCentOS-7-x86_64-DVD-1611.iso/centos将pxelinux.0等复制到/tftpboot:#cp/centos/isolinux/{boot.cat,boot.msg,grub.conf,isolinux.bin,splash.png,TRANS.TBL,vesamenu.c32}/tftpboot将安装光碟目录中的启动文件复制到/tftpboot:#cp/centos/images/pxeboot/{vmlinuz,initrd.img}/tftpboot针对UEFI还须要:创建储存引导顾客端的配置文件,具体采用哪种引导linux kickstart,须要在BIOS中设置,这样启动时调用相应的引导文件。假如确定使用某-种,可以只设置下边对应的那个即可。注:nfs服务还可以换用http或ftp等服务提供,此时须要将nfs::

替换为(注意:分隔)UEFI引导:参见:配置DHCP

更改配置设定提供DHCP的网卡/etc/sysconfig/dhcpd:

DHCPDARGS=eth0

登录后复制

这儿使用与顾客端网路相连的eth0提供DHCP服务,此处不设置也没关系,会依照下边dhcpd.conf中的subnet使用对应的网卡。

设定DHCP分配IP段及PXE服务,更改/etc/dhcp/dhcpd.conf:

#option definitions common to all supported networks...
option domain-name "mydomain.org"; #域名
option domain-name-servers ns1.ustc.edu.cn; #域名服务器
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.100.0 netmask 255.255.255.0 {
	option routers 192.168.100.254;
	option subnet-mask 255.255.255.0;
	option nis-domain"mydomain.org";
	option domain-name "mydomain.org";
	option domain-name-servers 202.38.64.7;
	option time-offset-18000; # Eastern Standard Time
	range dynamic-bootp 192.168.100.1 192.168.100.253;
	default-lease-time 21600;
	max-lease-time 43200;
	host node148 {
		hardware ethernet a0:42:3f:33:49:5f;
		fixed-address 192.168.100.148;
	}
}
option space PXE;
option PXE.mtftp-ipcode 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option architecture-type code 93 = unsigned integer 16; # RFC4578
class "pxeclients" {
	match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
	next-server 192.168.100.254;
	if option architecture-type = 00:07 {
		filename "shim.efi"; #x86_64 UEFI引导
#	} else if option architecture-type = 00:06 {
#		filename "bootia32.efi"; #ia32 UEFI引导,本文后面未涉及
	} else {
		filename "pxelinux.0"; #传统LEGACY引导
	}
}

登录后复制

如不晓得顾客端MAC地址,不设置固定IP,这么将会手动分配随机地址,顾客端系统装好后可以更改顾客端配置设置成固定IP。

重启动DHCP服务:#servicedhcpdrestart服务端配置到此结束,下边开始顾客端安装。启动顾客端进行手动安装设置从网卡PXE启动,通常须要设置BIOS或则在启动时设置按某键(例如F12)从网卡PXE启动。问题

出现问题时,通常须要查看系统日志,如:/var/log/messages。

以上就是linux kickstart 基于 DHCP、PXE 的 kickstart 自动安装:实现无人值守的高效安装的详细内容,更多请关注小闻网其它相关文章

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。