当前位置:文档之家› kickstart无人值守安装配置

kickstart无人值守安装配置

超级RHEL5之KICKSTART批量网络无人职守安装{详解篇}一2009-01-03 22:02:24 标签:linux RHEL KICKSTART无人职守安装[推送到技术圈]版权声明:原创作品,谢绝转载!否则将追究法律责任。

花了一段时间研究linux下的网络批量无人值守安装linux操作系统。

也就是传说中kickstart服务。

现在我把自己的心得和大家分享下,无人值守安装这个词语队大家来说并不陌生,但是估计大家有一定的误解,所谓的GHOS克隆,基于物理层的网络克隆,这些都不算无人职守安装,顶多算无人职守拷贝。

如果大家还要问我什么是kickstart或者为什么要使kickstart的话,我建议你去google,因为我不想用大量的篇幅来写这些文字介绍。

进入正题所有系统的网络安装和无人职守安装都是基于PXE的,当然linux下的无人职守安装也是基于PXE(Preboot Execution Environment,远程引导技术)技术。

同于依耐大量linux服务,最主要的服务包括,kickstart(通过预先设置的脚本,按要求安装系统),dhcpd(很重要,负责pxe启动,还有定义tftp服务器地址kickstart文件位置),nfs、yum、vsftp(为安装提供安装介质),tftp(pxe启动文件传输的通道),dns(如果需要给新安装的机器设置主机名就需要)。

由于PXE技术比较深奥,所以我们今天不做探讨,只做应用。

下面我介绍下kickstart的工作架构。

首先,完成这个服务需要3个角色1、启动服务器:给clinet提供启动的相关参数和连接安装服务器使用的IP地址。

2、安装服务器:提供安装所需的配置文件和安装文件。

3、客户端:需要无人职守安装的机器(网卡要支持PXE,也就是可以从网卡启动,现在的电脑基本都支持,只要你的爱机不是古董)下面是工作流程本来想画个示意图给大家看的,由于美工太差,画出来我自己都看不懂了。

所以我就讲述下吧1、pxe启动,就去广告寻找dhcp服务器获取ip地址hebootstrap 文件,成功以后进入第二步(DHCP提供IP地址,还有bootstrap配置文件的位置)2、client通过tftp连接到服务器,下载bootstrap文件。

(linux里的bootstrap文件就是pxelinux.0,系统内有,大家可以使用#locate pxelinux.0查找它存放的位置)3、client下载成功pxelinux.0文件后,系统还会下载控制pxelinux.0的配置文件,叫default。

然后client就会按照default的配置来执行pxelinux.0文件。

4、现在client端会在获取一次IP地址。

并且根据DHCP服务器配置文件找到kickstart配置文件并下载。

也是使用的tftp协议。

5、pxelinux.0文件定义的想服务器请求linux内核,根文件系统之类的参数。

运行这个文件,client就会向服务器请求相关的文件并下载,都里使用的都是tftp协议。

6、文件下载文成后,client就会启动linux内核,这就进入了我们安装时候看见的第一个图形界面,这个界面和自己安装看见的第一个画面一样,回车就是图形安装,输入text就是文本安装那里。

如果使用了kickstart,这个界面消失很快,可能看不见。

到这里PXE启动就完成了。

7、下面就该主角kickstart出场了。

其实kickstart在第四步已经出现了,当按照default要求运行pxelinux.0文件,系统读取内核,挂在根文件系统以后,的任务就都交给了kickstart了。

包括安装介质来源、语言、时区、分区、安装哪些包等,都是在kickstart文件中定义。

只要进入这一步,kickstart配置文件正确,我们的无人值守安装已经成功了。

原理介绍就算完成,下面我们来实战,使用kickstart服务安装系统一、环境搭建1、一台server担任启动服务器和安装服务器2、一台client,需要能从网卡启动3、两台机器在同一局域网4、服务器要有安装所需的所有包5、我们用192.168.0.0/24网段来试验,我的服务器IP是:192.168.0.2/246、服务器系统RHEL5.1,client系统RHEL5.1二、具体实施,server端配置1、安装自己的yum服务器(必须要做)。

不会的请参考我的blog:[url]/195664/109496[/url] yum服务器架设。

2、使用自己的yum服务器安装dhcp服务#yum install "dhcp*"安装成功以后就修改配置文件DHCP的配置文件如下,我给大家解释下重点===================================== ==#配置文件内代表注释#定义所支持的DNS动态更新类型(必选)ddns-update-style none;#定义作用域(或IP子网)subnet 192.168.0.0 netmask 255.255.255.0 {##################################### ####在用#表示的条线之间的意思是:定义一些值,,指定何时使用他们。

#例如,假定要管理两种客户端类,使用选项空间定义在前面的例子中,现在能够依据不同的virtual值向客户端发送不同的选项值,#如下:当client端的mac前三个满足00:16:3e 那么,client就会获取到192.168.0.61-192.168.0.80,否则就会获取192.168.0.1#-192.168.0.20class "virtual" {match if substring (hardware, 1, 3) = 00:16:3e;}option routers 192.168.0.2; #router的ip地址option subnet-mask 255.255.255.0; #subnet-mask 地址option domain-name ""; #域名根据你自己的情况定option domain-name-servers 192.168.0.2;#域名服务器也就是DNS服务器地址default-lease-time 21600;max-lease-time 43200;# Assign IPs 61-80 to Xen domUspool {allow members of "virtual";range 192.168.0.61 192.168.0.80;}# Assign IPs 1-20 for classroom systems unless# static IPs are assigned belowpool {deny members of "virtual";range 192.168.0.1 192.168.0.20;}##################################### ############################filename "/kickstart/ks.cfg"; #指定kickstart配置文件的位置next-server 192.168.0.2; #指定下以个服务器,也就是tftp服务器。

# host定义某个mac得到某个IP,一般没有启用## host station1 {# hardware ethernet 00:a0:cc:3c:80:c5;# fixed-address 192.168.0.1;# }# host station2 {# hardware ethernet 00:A0:CC:39:AF:B0;# fixed-address 192.168.0.2;# }}#下面就是PXE的参数了,很重要option space PXE;class "PXE" {match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";option vendor-encapsulated-options 01:04:00:00:00:00:ff;option boot-size 0x1;filename "pxelinux.0";option tftp-server-name "192.168.0.2"; #这个IP地址一定要修改成你的TFTP的IP地址option vendor-class-identifier "PXEClient";vendor-option-space PXE;}#我会给出以份DHCP配置文件,你只要修改我红色标记出来的地方符合你自己的环境。

==================================3、安装tftp服务#yum install "tftp*"安装后会生成/tftpboot 这个目录现在我们往这个目录加入启动需要的一些文件拷贝pxeboot目录下的所有文件到tftpboot目录主要有这四个文件:initrd.img,README,TRANS.TBL,vmlinuz。

#cp /var/ftp/pub/images/pxeboot/* /tftpboot/删除TRANS.TBL,这个文件没用#rm -f /tftpboot/TRANS.TBL查找pxelinux.0这个文件拷贝到tftpboot目录#updatedb#locate pxelinux.0#cp /usr/lib/syslinux/pxelinux.0 ./在tftpboot目录内创建pxelinux.cfg目录。

然后把default文件放进去#mkdir pxelinux.cfgdefault文件的内容default linuxlabel linuxkernel vmlinuzappend ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks noipv6不建议你修改此文件,这样TFTP,的相关设置就完成了4、制造kickstart文件,我知道有三种方法方法1、每当你安装好一台Red Hat Linux机器,Red Hat Linux 安装程序都会创建一个kickstart 配置文件,记录你的真实安装配置。

如果你希望实现和某系统类似的安装,可以基于该系统的kickstart配置文件来生成你自己的kickstart配置文件。

相关主题