基于网络的_Red_Hat_无人值守安装_第1页
基于网络的_Red_Hat_无人值守安装_第2页
基于网络的_Red_Hat_无人值守安装_第3页
基于网络的_Red_Hat_无人值守安装_第4页
基于网络的_Red_Hat_无人值守安装_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于网络的 Red Hat 无人值守安装本文介绍了 PC、服务器 平台上的一种快速 Red Hat Linux 安装方案。它具有很高的自动化程度-用户只需手工启动机器并选择从网络启动,就可以完成整个安装过程。在需要批量安装大量 Red Hat Linux 系统的情况下,这种方案可以节省大量的时间。而且由于不需要额外的软件和光驱和软驱等硬件设备,在成本上也有很大优势。1. 方案介绍这种方案需要首先设置一个启动服务器和一个安装服务器(可以配置在同一台物理机上),然后通过网络启动存放在启动服务器上的安装程序。安装程序会自动访问存放在安装服务器上的安装配置文件和安装介质来完成安装。涉及到的技术该方案主

2、要应用了三种技术:1) 在PC、服务器上从网络启动Red Hat Linux安装程序的PXE协议2) Red Hat Linux安装程序提供的网络安装功能(即指通过网络访问安装介质)3) Red Hat Linux 安装程序提供的无人值守安装功能(Red Hat称为kickstart)软硬件需求要按本文介绍的方法完成自动化安装,你需要如下软硬件资源:一台PC机器作为启动和安装服务器(其它架构机器也可以) 一台待安装的PC机器,它的网卡必须带有PXE支持 一个建好的局域网,上述两台机器已经连接入同一子网 待安装的Red Hat Linux安装介质 方案原理示意图图1 网络安装原理示意图图1是网络

3、安装环境的一个原理示意图。整个安装环境由一个局域网,和连接到该局域网的三台机器组成:启动服务器(Boot Server),安装服务器(Installation Server),和待安装机器(Client)。其中启动服务器和安装服务器可以部署在同一台物理机上。表1列出了对这些机器的软硬件要求,和其上负载的服务与数据。表1 网络安装环境里各机器上的软硬件配置该方案的实现步骤1) 配置启动服务器2) 配置安装服务器3) 从网络启动机器以完成安装步骤1)和2)只需做一次即可。对每一台需安装Red Hat Linux的机器,都需要在启动服务器和安装服务器中部署相应的数据,并执行一次步骤3)。(此操作说明

4、:限制特定客户端机器的mac地址可以获得dhcp提供的ip并安装,如果不限制客户端对dhcp服务器的使用,不用重复执行)为了简单,下面将用示例来说明如何在一台安装了 Red Hat Enterprise Linux AS 5 的 PC 机上设置启动服务器和安装服务器,并在一台PC上安装 Red Hat Enterprise Linux AS 53. 步骤1:配置启动服务器启动服务器的目的是帮助在待安装机器上启动Red Hat Linux 安装程序。启动服务器上需要搭建一个DHCP 服务器和一个TFTP 服务器。前者是为了给待安装机器分配IP地址,后者则是提供了一个让待安装机器下载启动镜像的途径

5、。配置DHCP 服务器1) 安装DHCP服务相关rpm包(RPM包名:dhcp)。(注意:在虚拟机上做实验时,先排除局域网内dhcp服务器对实验结果的干扰,虚拟机使用bridged网络连接方式的,断开外部网络环境;使用host only连接模式的,停止虚拟机自己的dhcp功能:editvirtual network settingdhcpstop)rootstation1 # mount /dev/cdrom /mntmount: block device /dev/cdrom is write-protected, mounting read-onlyrootstation1 # cd /m

6、nt/Serverrootstation1 Server# rpm -ivh drootstation1 Server# rpm -ivh d2) 编辑DHCP服务器配置文件 /etc/dhcpd.conf。dhcp安装包完成后,系统会提供一个范例文件在,可以将这个文件导入配置文件,再进行修改,这里是一个修改后的示例导入文件:cat /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample > /etc/dhcpd.conf编辑/etc/dhcpd.conf将此文件修改如下:ddns-update-style none;#定义所支持的DNS动态更新类型(必选

7、),一般我们设置成关闭,interim和none都是关闭的意思default-lease-time 7200; #默认租期,单位是秒max-lease-time 36660;#最大租期,单位是秒subnet netmask #定义作用域(或IP子网) range dynamic-bootp 54;#动态分配的IP地址池,host test #指定某个主机要固定获取某个IP,不需要设置时可以将此项注释掉hardware ethernet 00:0C:29:CD:31:67;fixed-address

8、 0;filename "pxelinux.0"#指定tftp-server 需要推送给客户端的启动文件pxelinux.0及其所在的位置,默认绝对路径在/tftpboot,如果要设置为此目录下的其他路径,如pxelinux.0文件放置在 /tftpboot/linux-install文件下,此处就需要重新指定,如 filename “linux-install/pxelinux.0” next-server ;#next-server意思就是下一个服务器,指向tftp服务器,告诉客户端在获取到 pxelinux.0 文件之后去哪

9、里获取其余的启动文件在这个例子中,定义的子网是.0/。主机定义项host test指出 IP 地址0 将分配给以太网卡00:0C:29:CD:31:67(待安装机器),文件 pxelinux.0(在 TFTP 服务器的根目录中)将作为启动映像被网卡ROM里的PXE客户端载入内存并运行。每增加一台需安装的机器,我们需在dhcpd.conf中增加一条host条目。注:如果对客户端ip配置不作限制,可去掉hardware ethernet 00:0C:29:CD:31:67;fixed-address 0;条目,这样局域网内所有机器均可通过dhcp主机

10、获得ip地址。3) 给启动服务器配置一个IP,这个IP必须在DHCP服务器定义的子网内,这里我们使用.2。4) 启动DHCP服务。rootbsvr #service dhcpd restart配置TFTP服务器1) 安装TFTP服务器包(RPM包名:tftpd)。在第三张光盘上,需要xinted安装包支持,可先从光盘上安装xinetd,再安装tftp-server2) 编辑TFTP 服务器的配置文件 /etc/xinetd.d/tftp。配置文件如下:service tftp socket_type = dgram protocol = udp wait = yesuser = root se

11、rver = /usr/sbin/in.tftpdserver_args = -s /tftpboot disable = no(此项目默认为yes,使用时需要打开)这里选定了/tftpboot为TFTP 服务器的根目录位置。3) 将Linux安装程序的内核/根文件系统文件复制到 TFTP 服务器的根目录。对于每一个要被安装的Red Hat Linux版本,都需要执行一次该操作。Red Hat Linux第一张安装光盘/isolinux目录下会包含Linux安装程序的内核/根文件系统文件。下面一段命令将这些文件复制到TFTP服务器的根目录下,并按照版本重新命名。rootbsvr#mkdir /

12、mnt/isorootbsvr#mount -o loop,ro RHEL5-i386-AS-disc1.iso /mnt/isorootbsvr#cp /mnt/iso/isolinux/initrd.img /tftpbootrootbsvr#cp /mnt/iso/isolinux/vmlinuz /tftpbootrootbsvr#mv /tftpboot/initrd.img /tftpboot/initrd-rhel5-i386.imgrootbsvr#mv /tftpboot/vmlinuz /tftpboot/vmlinuz-rhel5-i3864) 将启动镜像文件pxelin

13、ux.0复制到TFTP服务器根目录。启动镜像pxelinux.0可以在syslinux安装包里获得。安装好syslinux安装包后,将pxelinux.0复制到TFTP服务器根目录rootbsvr#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/5) 编辑pxelinux.0的配置文件,以使pxelinux可以正确载入Red Hat Linux安装程序。对于每一个要被安装的Red Hat Linux版本,都需要执行一次该操作。启动镜像pxelinux.0文件在执行过程中,会读取配置文件以确定它应该载入什么Linux内核文件来运行。所有的配置文件都放在启动服务

14、器的/tftpboot/pxelinux.cfg/目录下。pxelinux.0根据一定的规则来搜索合适的配置文件名。举例来说,对于前面为待安装机器分配的IP地址0(十六进制表示为C0A88A1E),pxelinux.0会按如下次序搜索配置文件:C0A88A1E > C0A88A1 > > C0 > C > default就是说,如果C0A88A1E文件存在,它就是pxelinux.0将载入的配置文件。否则,继续往下找。如果C0A88A1文件存在,它就是pxelinux.0将载入的配置文件。如果前面的以C开头的文件都不存在,那么pxelin

15、ux.0将试图从文件default中读取配置。对于一台需要支持很多安装机器的安装服务器来说,将配置写在与IP地址对应的文件里很不灵活。把所有配置都集中在default文件中是个不错的主意,可以减轻配置文件维护负担。可以将能想到的Red Hat Linux版本的配置都写在default文件里,以便同时支持多种Red Hat Linux版本,如下所示(对于具体某个 Red Hat Linux版本,对应的行该如何写,可以参考它安装盘里的配置文件 /isolinux/isolinux.cfg):mkdir /tftpboot/pxelinux.cfgcd /tftpboot/pxelinux.cfgv

16、i default 编辑default文件如下:DEFAULT rhel5-i386DISPLAY pxelinux.cfg/listPROMPT 1LABEL rhel3u6-x86_64KERNEL vmlinuz-rhel3u6-x86_64APPEND initrd=initrd-rhel3u6-x86_64.img devfs=nomount ramdisk_size=9216LABEL rhel4u2-i386KERNEL vmlinuz-rhel4u2-i386APPEND initrd=initrd-rhel4u2-i386.img ramdisk_size=819i2LABE

17、L rhel5-i386KERNEL vmlinuz-rhel5-i386APPEND initrd=initrd-rhel5-i386.img这样用户可以通过输入某种版本的LABEL(例如,rhel5-i386)来选择具体的安装版本。为了能在安装时知道有哪些备选,可以让pxelinux.0提示要户选择之前显示一个列表。这通过在default里指定DISPLAY选项来实现。在上面的样例中,我们将所有备选Red Hat Linux版本列在文件pxelinux.cfg/list中,它的内容会被pxelinux.0显示出来。在我们的例子中,/tftpboot/pxelinux.cfg/list文件内

18、容如下:Choose one of the following Linux distributions for your installation:Name Distribution Arch. Installation media-rhel3u6-i386 .100:/iso/i386/rhel3u6rhel3u6-x86_64 RHEL 3 AS U6 x86.100:/iso/x86_64/rhel3u6rhel4u2-i386 RH.100:/iso/i386/rhel4u2rhel5-i386 RHEL 5 AS i386 00:/iso/i386/rhel5注

19、:此列表只是个提示而已,可在boot:后输入相应的字符如rhel5-i386执行,其对应default配置文件中的LABEL rhel5-i386项,执行vmlinuz-rhel5-i386和initrd=initrd-rhel5-i386.img6) 启动TFTP服务。rootbsvr#service xinetd restart执行到此处,客户端已经可以引导内核到安装介质选择位置了4. 步骤2:配置安装服务器安装服务器在安装期间提供对 Linux 安装介质和无人值守安装配置文件的访问。安装介质存储在服务器上的一个目录中,可以使用各种网络协议访问它,比如 HTTP,FTP,和NFS。使用NF

20、S协议,Red Hat Linux安装程序可以支持多种安装介质目录结构,尤其是支持ISO光盘镜像文件。这里我们选择使用NFS协议来访问安装介质。配置NFS服务器1) 准备ISO安装介质。将Red Hat Linux安装介质的ISO文件都放置到/iso目录下。注意不要改变文件名。rootbsvr#mkdir p /iso/i386/rhel5(-p指首先建立父目录)rootbsvr#mv RHEL5-i386-AS-disc1.iso /iso/i386/rhel5rootbsvr#mv RHEL5-i386-AS-disc2.iso /iso/i386/rhel5rootbsvr#mv RHE

21、L5-i386-AS-disc3.iso /iso/i386/rhel5rootbsvr#mv RHEL5-i386-AS-disc4.iso /iso/i386/rhel52) 编辑NFS服务器配置文件 /etc/exports,以允许其它机器通过NFS访问目录/iso。/etc/exports 文件内容如下:/iso *(ro,sync)其中:* 表示任何IP地址都可以访问该目录。为了安全的考虑,也可以指定具体的IP地址。 ro 表示远程机器对该目录只有读权限。 3) 重新启动NFS服务以使新配置生效rootbsvr# service nfs restart4) 检测目录/iso是否已被正

22、确共享rootbsvr#showmount -e localhostExport list for localhost:/iso *这样,我们就设置好了一个安装服务器,此时可以引导安装指定nfs服务器ip地址和目录后,系统可能会报错that directory could not be mounted需要关闭防火墙解决,(或修改防火墙策略,进一步nfs配置)/etc/init.d/iptables stop将相关服务dhcpd、xinetd、nfs设置为默认启动:rootrhj # chkconfig -level 3 nfs onrootrhj # chkconfig -list nfsnf

23、s 0:off 1:off 2:off 3:on 4:off 5:off 6:off配置kickstart安装自从 5.2 版开始, Red Hat Linux 开始支持一个称为 kickstart 的功能,其主要目的是为了减少安装过程中的人机交互,提高安装效率。使用这种方法,只需事先定义好一个配置文件(通常存放在安装服务器上),并让安装程序知道该配置文件的位置,在安装过程中安装程序就可以自己从该文件中读取安装配置,这样就避免了繁琐的人机交互,实现无人值守的自动化安装。要使用 kickstart ,你必须:1) 创建 kickstart 配置文件。2) 部署kickstart配置文件,即将ki

24、ckstart配置文件放置到安装服务器上,并在安装程序的kernel参数中指定kickstart配置文件的位置。创建kickstart配置文件kickstart 配置文件是一个简单的文本文件,包含一个安装项目列表。每个项目对应于一个安装选择,都用关键字标明。有如下几种方法生成kickstart配置文件:Red Hat提供了一个样例文件。在Red Hat Linux 文档光盘中 RH-DOCS 目录里的 sample.ks 文件。你可以基于该样例来创建你自己的配置kickstart文件。 每当你安装好一台Red Hat Linux机器,Red Hat Linux 安装程序都会创建一个 kicks

25、tart 配置文件,记录你的真实安装配置。如果你希望实现和某系统类似的安装,可以基于该系统的kickstart配置文件来生成你自己的kickstart配置文件。 Red Hat Linux提供了一个图形化的kickstart配置工具。在任何一个安装好的Red Hat Linux系统上运行该工具,就可以很容易地创建你自己的kickstart配置文件。kickstart配置工具命令为redhat-config-kickstart(RHEL3)或system-config-kickstart(RHEL5) 在已经安装好的操作系统下,有此系统安装过程的ks.cfg文件,路径为/root/ anacon

26、da-ks.cfg可作为参考。kickstart配置文件样例:这个是使用网络引导ftp安装完成后的机器里面的ks.cfg 配置rootstation1 # cat anaconda-ks.cfg # Kickstart file automatically generated by anaconda.installnfs -server=00 -dir=/iso/i386/rhel5key -skiplang en_US.UTF-8keyboard usxconfig -startxonbootnetwork -device eth0 -bootproto dhcproo

27、tpw -iscrypted $1$TUMHlaCW$9E9Jm9H36fP2u1d0Zz5OV/firewall -enabled -port=22:tcpauthconfig -enableshadow -enablemd5selinux -enforcingtimezone -utc Asia/Shanghaibootloader -location=mbr -driveorder=hda -append="rhgb quiet"# The following is the partition information you requested# Note that

28、any partitions you deleted are not expressed# here so unless you clear all partitions first, this is# not guaranteed to workclearpart -linux -drives=hdapart /boot -fstype ext3 -size=100part / -fstype ext3 -size=6000part swap -size=512上面四行的注释是要依据实际情况手动去掉的,以适应不同的安装需求。%packagesofficedevelopment-libsedi

29、torsgnome-software-developmenttext-internetx-software-developmentgnome-desktopdialupcorebasegamesjavalegacy-software-supportbase-xgraphicsprintingsound-and-videoadmin-toolsdevelopment-toolsgraphical-internetemacsmesa-libGLU-develkexec-toolsdevice-mapper-multipathxorg-x11-utilsxorg-x11-server-Xnestxo

30、rg-x11-server-Xvfblibsane-hpaioimake-sysreport所有以"#"号开头的都是注释。文件中的nfs -server=00 -dir=/iso/i386/rhel5选项告诉安装程序:到服务器00的NFS共享目录/iso/i386/rhel5下寻找安装介质。Red Hat Linux安装程序足够聪明,可以识别该目录下应该被读取的ISO光盘镜像文件名,所有这里你不需要指定ISO文件名。部署kickstart配置文件首先我们需要把kickstart配置文件放在安装服务器上。我们把它放到/iso/ks目录下。即该文件的NFS访问路径为:.100:/iso/ks/ks.cfgrootstation1 # mkdir /iso/ksrootstation1 # cp anaconda-ks.cfg /iso/ksrootstation1 # cd /iso/ksrootstation1 ks# mv anaconda-ks.cfg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论