基于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服务器、启动文件等),然后恳求并下载安装须要的文件。
系统概况顾客端:以下为服务端设置安装所须要的软件:#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 自动安装:实现无人值守的高效安装的详细内容,更多请关注小闻网其它相关文章!
评论(0)