实现Kickstart + NFS + DHCP + PXE的全自动远程无人职守安装

实验环境:C/S结构,服务器采用的操作系统为RHEL 4.0,客户端预装RHEL 4.0。 服务器上的配置如下: 第一步:配置安装树: 在虚拟机中添加新的硬盘,并且实现开机之后的自动挂载。 这个步骤在以前已经总结过,所以在这里我只给出完成之后的结果: 我在虚拟机中添加的为SCSI硬盘,分区格式化之后的文件为/dev/sda1,编辑/etc/fstab文件,将该分区自动挂载于/installing文件夹下,并且在该文件夹下建立目录/var/ftp/pub,那么配置的安装树就在/installing/var/ftp/pub目录下。 挂载第一张光盘: [root@server1 ~]# mount /media/cdrom [root@server1 cdrom]# alias cp=cp                使cp命令在执行的时候直接覆盖已经存在内容而不询问 [root@server1 cdrom]# cp -dpR * /installing/var/ftp/pub/        拷贝第一张光盘内容到目标 挂载第二张光盘: [root@server1 cdrom]# cp -dpR * /installing/var/ftp/pub/RedHat/RPMS        将所有的安装包集中到一起 按照同样的方法挂载并拷贝第三张和第四张光盘的内容 重启动系统进行检测。 第二步:配置kickstart无人值守安装脚本: 需要安装kickstart工具包: [root@server1 ~]# cd /installing/var/ftp/pub/RedHat/RPMS/ [root@server1 RPMS]# ls *kickstart* system-config-kickstart-2.5.16-2.noarch.rpm [root@server1 RPMS]# rpm -ihv system-config-kickstart-2.5.16-2.noarch.rpm --aid warning: system-config-kickstart-2.5.16-2.noarch.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing...                ########################################### [100%]      1:system-config-kickstart########################################### [100%] 进入图形界面运行system-config-kickstart命令按照提示进行无人值守脚本配置 *选择的安装方式是通过NFS网络文件系统安装; *选择的分区方法是不管客户机磁盘多大,都分三个必须分区,并指定分区的大小,剩余空间备用; *选择的数据包不能包含图形界面开发工具或者开发工具,否则安装过程中会报错 将生成的ks.cfg文件拷贝到安装树所在路径下/installing/var/ftp/pub 第三步:配置服务器的服务: 1.配置DHCP服务: 从安装树中安装DHCP服务的软件包: [root@server1 ~]# cd /installing/var/ftp/pub/RedHat/RPMS/ [root@server1 RPMS]# ls *dhcp* dhcp-3.0.1-12_EL.i386.rpm        dhcpv6-0.10-8.i386.rpm dhcp-devel-3.0.1-12_EL.i386.rpm  dhcpv6_client-0.10-8.i386.rpm [root@server1 RPMS]# rpm -ihv dhcp-3.0.1-12_EL.i386.rpm dhcp-devel-3.0.1-12_EL.i386.rpm –aid 配置DHCP服务: [root@server1 ~]# cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcpd.conf [root@server1 ~]# vi /etc/dhcpd.conf 我的服务器IP地址为192.168.1.170,所以该配置文件的内容如下: 红色的地方为我修改或者需要注意的地方 ddns-update-style interim; ignore client-updates; subnet 192.168.1.0 netmask 255.255.255.0 { # --- default gateway         option routers                  192.168.1.170;         option subnet-mask              255.255.255.0;         option nis-domain               "RHCE";         option domain-name              "example.com";         option domain-name-servers      192.168.1.170;         option time-offset              -18000; # Eastern Standard Time #       option ntp-servers              192.168.1.170; #       option netbios-name-servers     192.168.1.170; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well #       option netbios-node-type 2;         range dynamic-bootp 192.168.1.128 192.168.1.254;         default-lease-time 21600;         max-lease-time 43200;         filename "/pxelinux.0";         # we want the nameserver to appear at a fixed address         host ns {                 next-server marvin.redhat.com;                 hardware ethernet 12:34:56:78:AB:CD;                 fixed-address 207.175.42.254; 保存并且退出,其中NTP服务器、NIS服务器、以及NETBIOS服务器并不是必须,但是一定要注意后面手动添加的一行:filename "/pxelinux.0"; 完成之后启动服务: # service dhcpd restart         在客户端启动之后通过查看文件/var/lib/dhcp/dhcpd.leases可以得知客户端是否正常获得IP地址 2.配置DNS服务: 按照刚才DHCP配置文件中的内容去配置DNS即可,这个步骤不是必须; 3.配置TFTP服务: 这种安装的原理是客户端启动之后通过TFTP服务器获得配置文件信息和安装信息,因此需要开启TFTP服务。 # vi /etc/xi        net.d/tftp TFTP服务为非独立服务,更改其中的内容如下: # default: off # description: The tftp server serves files using the trivial file transfer / #       protocol.  The tftp protocol is often used to boot diskless / #       workstations, download configuration files to network-aware printers, / #       and to start the installation process for some operating systems. service tftp {         disable = no         socket_type             = dgram         protocol                = udp         wait                    = yes         user                    = root         server                  = /usr/sbin/in.tftpd         server_args             = -s /tftpboot         per_source              = 11         cps                     = 100 2         flags                   = IPv4 } 之后重启TFTP服务:/etc/rc.d/init.d/xinetd restart或者干脆chkconfig tftp on即可 4.配置NFS服务: # vi /etc/exports 添加安装树的路径: /installing/var/ftp/pub    192.1681.0/24(ro,async) 保存退出 # service portmap restart # service nfs restart # exportfs –rv          # showmount –e # chkconfig nfs on 出现下面内容即可: /installing/var/ftp/pub 192.168.1.0/24 5.配置支持PXE启动: # mkdir /tftp                ————>若该文件夹已经存在则不用建立 # cp /usr/lib/syslinux/pxelinux.0 /tftpboot 把Linux第一张安装光盘上/image/pxeboot/initrd.img和vmlinux 以及isolinux/*.msg拷贝到/tftpboot目录下 # cd /tftpboot # mkdir pxelinux.cfg # cd pxelinux.cfg # vi default 配置文件default文件的内容如下: default prompt 1 timeout 30 display boot.msg F1 boot.msg F2 options.msg F3 general.msg F4 param.msg F5 rescue.msg F7 snake.msg label local localboot 0 label linux kernel vmlinuz append initrd=initrd.img devfs=nomount ramdisk_size=9216 label text kernel vmlinuz append initrd=initrd.img text devfs=nomount ramdisk_size=9216 label expert kernel vmlinuz append expert initrd=initrd.img devfs=nomount ramdisk_size=9216 label ks kernel vmlinuz append ks initrd=initrd.img devfs=nomount ramdisk_size=9216 label nofb kernel vmlinuz append initrd=initrd.img devfs=nomount nofb ramdisk_size=9216 label lowres kernel vmlinuz append initrd=initrd.img lowres devfs=nomount ramdisk_size=9216 kernel vmlinuz 如果我们执行的是远程手动安装,这个配置文件就足够了。但是我们执行的是远程无人值守安装,所以还需要对该配置文件进行一定修改,主要在配置文件中添加内容,指定ks.cfg配置文件的位置。 因此经过编辑,最终配置文件的内容如下: default linux prompt 1 timeout 30 display boot.msg F1 boot.msg F2 options.msg F3 general.msg F4 param.msg F5 rescue.msg F7 snake.msg label local localboot 0 label linux kernel vmlinuz append ks=nfs:192.168.1.170:/installing/var/ftp/pub/ks.cfg  initrd=initrd.img  devfs=nomount   ramdisk_size=9216 label text kernel vmlinuz append initrd=initrd.img text devfs=nomount ramdisk_size=9216 label expert kernel vmlinuz append expert initrd=initrd.img devfs=nomount ramdisk_size=9216 label ks kernel vmlinuz append ks initrd=initrd.img devfs=nomount ramdisk_size=9216 label nofb kernel vmlinuz append initrd=initrd.img devfs=nomount nofb ramdisk_size=9216 label lowres kernel vmlinuz append initrd=initrd.img lowres devfs=nomount ramdisk_size=9216 kernel vmlinuz 添加的为红色标注的部分,并且要注意,必须添加在这个位置。而且存储ks.cfg的目录必须是通过NFS共享出来的目录。 完成所有的服务配置之后进行检查。 准备一台客户端,然后更改启动方式为通过带PXE自启动模块的网卡启动,客户端在开启之后会主动向DHCP服务器获取地址,并且从TFTP服务器上获得安装配置以及信息;客户端所做的工作只是开机,剩下的工作由ks.cfg文件控制自动完成。 [ 本帖最后由 jerrywjl 于 2008-6-3 11:48 编辑 ]

你可能感兴趣的:(实现Kickstart + NFS + DHCP + PXE的全自动远程无人职守安装)