收藏 分销(赏)

kickstart无人值守自动安装Linux系统.doc

上传人:二*** 文档编号:4575518 上传时间:2024-09-30 格式:DOC 页数:17 大小:2.70MB 下载积分:5 金币
下载 相关 举报
kickstart无人值守自动安装Linux系统.doc_第1页
第1页 / 共17页
本文档共17页,全文阅读请下载到手机保存,查看更方便
资源描述
KickStart 无人值守批量安装Linux系统 一:需求分析 不适合本地安装的情况如下: (1)无软驱和光驱:如果计算机不带光驱或软驱,则无法通过本地安装。 (2)非标准的软驱和光驱:虽然笔记本电脑都会配置光驱。但是并不一定都是标准的IDE设备,有些通过USB接口或1394接口(例如Samsung的Q10)连接。在Linux安装时所引导的Linux内核一般都不会带这些接口的驱动,所以也无法通过本地安装。 (3)在一些场合,如机房中有大量的计算机需要同时安装Linux。如果通过光驱的方式逐台安装,不仅效率低,也不利于维护。 (4)光驱或安装光盘故障。 基于以上所属情况,kickstart服务就可以解决这些问题。 二:方案设计 什么是PXE: 所有系统的网络安装和无人职守安装都是基于PXE,PXE技术与RPL技术不同之处为RPL是静态路由,PXE是动态路由。RPL是根据网卡上的ID号加上其他记录组成的一个Frame(帧)向服务器发出请求。而服务器中已有这个ID数据,匹配成功则进行远程启动。PXE则是根据服务器端收到的工件站MAC地址,使用DHCP服务为这个MAC地址指定个IP地址。每次启动可能同一台工作站有与上次启动有不同的IP,即动态分配地址。下以客户端引导过程说明PXE的原理。 (1)客户端开机后,PXE BootROM(自启动芯片)获得控制权之前执行自我测试,然后以广播形式发出一个请求FIND帧。 (2)如果服务器收到客户端所送出的要求,就会送回DHCP回应,包括用户端的IP地址、预设通信通道,以及开机映像文件;否则服务器会忽略这个要求。 (3)客户端收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件,并把自己的MAC地址写到服务器端的Netnames.db文件中。 (4)将有更多的消息在客户端与服务器之间应答,用于决定启动参数。BootROM由TFTP通信协议从服务器下载开机映像文档。客户端使用TFTP协议接收启动文件后,将控制权转交启动块以引导操作系统,完成远程启动。 PXE工安装流程: PXE协议的成功运行需要解决以下的两个问题 (1)既然是通过网络传输,那么计算机在启动时其IP地址如何配置? (2)通过何种下载Linux内核和根文件系统? 第一个问题可以通过DHCP Server解决,由DHCP Server来为PXE Client分配一个IP地址,DHCP Server是用来为DHCP Client动态分配IP地址的协议。不过由于这里是为PXE Client分配IP地址,所以在配置DHCP Server时需要增加相应的PXE特有配置;至于第2个问题,在PXE Client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。这样,PXE协议运行的条件就具备了,PXE的安装流程如图所示。 PXE Client是需要安装Linux的计算机,TFTP Server和DHCP Server运行在另外一台Linux Server上,Bootstrap文件、配置文件、Linux内核,以及Linux根文件系统都放置在Linux Server上TFTP服务器的根目录下。除了配置文件,这3个二进制文件是PXE Client在工件过程中所必需的文件,即bootstrap、Linux内核和Linux根文件系统。Bootstrap文件是可执行程序,它为用户提供简单的控制界面,并根据用户的选择下载合适的Linux内核以及Linux根文件系统。 三:环境准备 1、一台server担任启动服务器和安装服务器 2、一台client,需要能从网卡启动 3、两台机器在同一局域网 4、服务器要有安装所需的所有包软件包 5、我们用10.1.24.0/24网段来试验(网段可随意,本人学号为24) 四:实施步骤 配置IP地址 (1)在终端里输入setup打开IP配置图形界面。 然后重启网卡 service network restart 安装rpm软件包 配置该服务器需要安装dhcp,tftp,nfs,等相关软件包。首先需要检查本机上是否已经安装了这些包,输入rpm –qa | grep +包名。 首先需要检查本机上是否已经安装了这些包,输入rpm –qa | grep +包名。 图7检查RPM包 如果没有安装这些包则需要通过rpm –ivh +包名 安装。 首先需要用 mount /dev/hdc /mnt 来将系统光盘挂载到/mnt目录下。然后安装需要的rpm包。 配置dhcp服务 需要的软件包都安装好之后,使用vim编辑器编辑dhcp服务的配置文件/etc/dhcp.conf 由于是第一次编辑dhcp.conf所以里面的内容是空的,那么我们就需要将/usr/shar/doc/dhcp-3.0.5/dhcp.conf.sample 复制到/etc下并改名为dhcp.conf 复制之后,再进入配置文件可以看到以下内容,然后就可以进行相应的修改了。。。 修改后的内容如下: ddns-update-style interim; ignore client-updates; next-server 10.1.24.1; filename "pxelinux.0"; subnet 10.1.24.0 netmask 255.255.255.0 { # --- default gateway option routers 10.1.24.254; option subnet-mask 255.255.255.0; default-lease-time 21600; max-lease-time 43200; range 10.1.24.20 10.1.24.200; filename "/linuxinstall/ks.cfg"; next-server 10.1.24.10; default-lease-time 21600; max-lease-time 43200; } 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 "10.1.24.10"; option vendor-class-identifier "PXEClient"; vendor-option-space PXE; } 需要注意的是字段range是给待安装的机器分配的的IP地址池,filename字段是ks.cfg的位置,即待安装机器所需要的安装配置文件,next-server是tftp服务器的位置。和下面的tftp-server-name字段是对应的。 配置tftp服务 tftp是为了给待安装的机器发送文件的简单的文件传输服务。 这个配置还是比较简单的,只需要把这个服务给启用就可以了。 使用vim编辑器打开/etc/xinetd.d/tftp文件 图17 tftp配置文件位置 将里面的disable字段值改为no,保存退出就可以了。 配置nfs服务 nfs服务是将安装过程所需要的一些文件共享出来,这个也是比较简单的。 使用vim编辑器打开/etc/exports文件,只要将你想共享的文件夹写入其中就可以了,我们这里需要把/mnt /tftpboot /linuxinstall 给共享出来就可以了,其中/linuxinstall目录是我们自己建立的,将在后面建立。而/tftpboot目录是在安装tftp-server的rpm包时候自动建立的。 配置如下: 保存退出… 其中*表示任何主机都可以访问,ro表示read only,只读权限,sync表示与服务器同步。 通过输入service nfs restart重启nfs服务,然后我们输入exportfs可以看见我们共享的文件。 配置ks.cfg文件 ks.cfg是待安装机器的所有的配置文件,每台机器在安装过linux系统以后都会自动生成一个ks.cfg文件里面记录了在安装系统的时候所做的所有操作,文件的位置位于/root目录下名为anaconda-ks.cfg。 图22 anaconda-ks.cfg文件 下面是我自己的anaconda-ks.cfg文件。 这个文件也可以通过system-config-kickstart的图形界面来编辑。前提需要安装这个rpm包,系统光盘自带这个包。下面的是kickstart configurator图形界面。 本次实验用的ks.cfg 文件内容如下 # /linuxinstall/ks.cfg 的配置内容 install text nfs --server=10.1.24.10 --dir=/mnt key --skip lang zh_CN.UTF-8 keyboard us network --device eth0 --bootproto dhcp --onboot=on rootpw 123456 firewall --disabled authconfig --enableshadow --enablemd5 selinux --disabled timezone Asia/Shanghai bootloader --location=mbr --driveorder=sda --append="rhgb quiet" zerombr clearpart --all --drives=sda --initlabel part / --fstype ext3 --size=1 --grow part /var --fstype ext3 --size=2000 part swap --size=1000 reboot %packages @base @core @editors #@text-internet #@web-server #@mysql #@dns-server #sysstat %post /usr/sbin/useradd admin /bin/echo 888888 | /usr/bin/passwd admin --stdin /bin/touch /home/admin/HelloWorld /sbin/chkconfig auditd off /sbin/chkconfig autofs off /sbin/chkconfig avahi-daemon off /sbin/chkconfig bluetooth off /sbin/chkconfig cups off /sbin/chkconfig firstboot off /sbin/chkconfig gpm off /sbin/chkconfig haldaemon off /sbin/chkconfig hidd off /sbin/chkconfig ip6tables off /sbin/chkconfig kudzu off /sbin/chkconfig lvm2-monitor off /sbin/chkconfig mcstrans off /sbin/chkconfig netfs off /sbin/chkconfig nfslock off /sbin/chkconfig pcscd off /sbin/chkconfig portmap off /sbin/chkconfig restorecond off /sbin/chkconfig rhnsd off /sbin/chkconfig rpcgssd off /sbin/chkconfig rpcidmapd off /sbin/chkconfig smartd off /sbin/chkconfig xfs off /sbin/chkconfig yum-updatesd off 创建所需文件夹 上面我们共享出了/mnt 和/linuxinstall目录,但是系统上并没有/linuxinstall这个目录,所以就需要我们来建立,使用mkdir命令来执行新建操作。mkdir /linuxinstall 然后将上步创建的ks.cfg文件保存到/linuxinstall目录中,需要注意的是在配置dhcp.conf文件中,我们就指定了filename “/linuxinstall/ks.cfg”所以路径一定不能搞错。你在dhcp.conf中写的路径是什么你就需要把你的ks.cfg 放在什么样的路径。并且要通过nfs给共享出来。 配置支持PXE启动 这步需要将linux内核复制到tftpboot文件夹内。 mount /dev/hdc /mnt #把第一张光盘挂载到/mnt cd /tftpboot/ #tfp-server指定的根目录位置(若该文件夹已经存在则不用建立,通常重启tftp服务后会自动建立) cp /usr/lib/syslinux/pxelinux.0 /tftpboot #pxelinux.0是pxe方式的boot loader,如果你发现没有这个目录,不要紧张。找到syslinux这个软件包就OK了 cp /mnt//images/pxeboot/vmlinuz /tftpboot/ #把Linux第一张安装光盘上/image/pxeboot/initrd.img和vmlinux复制到/tftpboot/中 cp /mnt//images/pxeboot/initrd.img /tftpboot/ mkdir /tftpboot/pxelinux.cfg #在tftpboot中新建一个pxelinux.cfg目录 复制好之后,/tftpboot/目录下应该有以下内容才对: 由于启动镜像pxelinux.0文件在执行过程中,会读取配置文件以确定它应该载入什么Linux内核文件来运行。所有的配置文件都放在启动服务器的/tftpboot/pxelinux.cfg/目录下。pxelinux.0根据一定的规则来搜索合适的配置文件名。比如说C0A88A1E > C0A88A1 > … > C0 > C > default就是说,如果C0A88A1E文件存在,它就是pxelinux.0将载入的配置文件。否则,继续往下找。如果C0A88A1文件存在,它就是 pxelinux.0将载入的配置文件。如果前面的以C开头的文件都不存在,那么pxelinux.0将试图从文件default中读取配置。对于一台需要支持很多安装机器的安装服务器来说,将配置写在与IP地址对应的文件里很不灵活。把所有配置都集中在default文件中是个不错的主意,可以减轻配置文件维护负担。 这里也是为什么要建立pxelinux.cfg文件夹。所以接下来就要在pxelinux.cfg里建立default 文件,系统盘里也有这个文件,位于系统盘的isolinux下的isolinux.cfg但是我这里不借用它的default文件,所以这是我们使用vim编辑器在pxelinux.cfg中直接建立一个default文件。 图27 创建default文件 直接在里面写入一句话就可以了 default linux prompt 0 label linux kernel vmlinuz append ks=nfs:10.1.24.10:/linuxinstall/ks.cfg initrd=initrd.img 这样写的好处在于不用在待安装机器启动的时候做一些别的操作。 接下来是要使用mount /dev/hdc /mnt把系统光盘给挂载到/mnt中。 启动服务器 到这里我们的服务器可以说是配置的差不多了,剩下的就只要将这些服务给启动起来就可以了。 service dhcpd restart #启动dhcpd服务 chkconfig dhcpd on #dhcpd服务开机自动启动 service nfs restart #重启nfs服务 chkconfig nfs on #nfs服务开机自动启动 service xinetd restart #启动xinetd服务 chkconfig xinetd on #xinetd服务开机自动启动 五:测试 将待安装机器启动起来,进入bios界面,将启动方式改为从网络启动,保存退出重启即可,有的机器则不用进入bios就可以直接进入安装界面。主要过程如下: 通过DHCP获取IP地址 通过tftp服务器下载配置文件 发送IP信息请求 检查软件包依赖关系 开始安装 安装完成,重启系统 六、常见故障排除 6.1 无法分配到IP地址 如果安装开始的时候无法分配到IP地址,则说明你服务器的dhcp.conf配置的有问题,有可能你的语法有问题,比如说少了个分号(;),又或者单词写的有问题,这些语法错误会导致dhcp服务启动失败。 6.2 tftp无法连接 导致这个错误的主要原因是在你的dhcp.conf文件的next-server和tftp-server-name两个字段上,如果这两个字段没有正确的指出tftp服务器的地址的话,一般就会出现这样的问题。或者是tftp服务没有启动,这类问题一般都出现在dhcp服务器的配置上面,因为当待安装机器在局域网内广播需要分配IP地址的时候,服务器会将IP地址和一些安装文件的地址返回给待安装机器上,如果dhcp出现了问题则无法将这些地址返回回来,这就导致了待安装机器不知道从何处来获取安装文件。返回修改好tftp指定IP 地址,再把/etc/xinetd.d/tftp 里面disable字段值改为no,即可。 6.3 无法获取ks.cfg文件 可以获取到dhcp服务器分配的IP地址,也可以从tftp服务器上获取内核文件,并加载,但是在读取ks.cfg文件的时候出现了错误。如下图。 图37 无法获取ks.cfg文件 出现了这样的问题则说明你的default文件指定的nfs服务器的地址错误,如上图,IP应该为10.1.24.10即可 6.4 在指定目录无法获取安装信息 出现这种情况,是因为光盘没有挂载上来,或者是挂错了光盘,正确的解决办重新 把第一张光盘挂载到/mnt目录 六:总结 如果只是完成一个kickstart服务,不是很难,因为如今的网络资源可以说是应有尽有,但是,要真正明白其中的原理,就要花一定的时间去研究研究。比如说,kickstart服务的工作流程,及其用到的哪些技术。像这些知识如果没有掌握好,实施起来就会出现很多问题。运气好第一次测试就成功,但是出现错误的时候,你怎么知道它错在哪里,而如果你把服务的流程和工作原理都了解透彻的话,这些问题就会很容易解决。 通过这样一篇论文,使自己在Linux方面有更深一层的认识,为以后自己在学习和工作中积累更多的经验。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服