传统的系统安装需要有安装光盘或者U盘,当一个网络有数百台主机需要安装操作系统时采用传统的安装不仅浪费时间又增加了网络管理员的工作量,为了减轻管理员的工作量可以采用网络安装。随着我们的硬件的革新,现在几乎所有的集成在电脑主板上的网卡,都已经有了支持PXE的NIC卡。通过NIC卡,我们能够实现网络安装,并且可以避免交互。
下面我们来说一下实现PXE安装的环境需求:首先必须要有安装文件,因为其是基于网络安装,所以我们的安装树必须是一个网络服务器(FTP、HTTP、NFS三者之一),由于在进行PXE安装时,客户机会发出dhcp广播请求,所以我们的网络中必须要有dhcp server。而PXE是基于网络引导系统的,而引导文件会存放在tftp的目录下,因此我们的网络中必须要有tftp server,在这个tftp server的目录下存放有引导文件驱动程序和内核。
下面我们就基于FTP服务器,来实现网络中其他主机系统的网络引导与安装:
一、首先,我为了方便起见,将我们的网络中的一台主机打造成ftp server、dhcp server、tftp server 和yum server;
1.将我们的主机的ip address 设置为192.168.2.10,保存并且退出使用serivice network restart命令重启网络服务。
2.建立/mnt/cdrom挂载点,挂载光驱,安装vsftpd服务,启动vsftpd服务并且改为开机自启动:
3.安装dhcp服务,并且修改/etc/dhcpd.conf,启动dhcp服务,并且改为开机自启动:
4.使用rpm –qa tftp-server 查看是否安装,发现我们系统已经安装,然后编辑/etc/xinetd.d/tftp文件,将disable = yes改为disable = no,后将xinetd重启一下:
5.由于我们在用kickstart产生ks.cfg文件时,是基于图形界面的,我们知道linux下要想在图形界面下安装软件就必须配置yum服务;由于我们只在我们这台主机上使用,所以将yum服务器配置成本地服务器。我们修改/etc/yum.repos.d/目录下的rhel-debuginfo.repo文件:
二、接下来将安装文件,PXE的引导文件、驱动和内核等文件拷贝到相应的位置,并进行相应的配置;
1.将光盘上的安装文件全部拷贝到FTP的根目录下面:
2.我们进入到/mnt/cdrom/p_w_picpaths/pxeboot/目录下,将与pxe引导相关的驱动和内核文件拷贝到/tftpboot/目录下:
然后,我们进入/us r/lib/syslinux/目录下,将pxe的引导文件pxelinux.0文件拷贝到/tftpboot目录下:
但是,pxe的引导文件还依赖于配置文件,我们在/tftpboot目录下创建一个pxelinux.cfg的目录,将/mnt/cdrom/isolinux/目录下的isolinux.cfg文件拷贝到/tftpboot/pxelinux.cfg/目录下并且改名为default:
修改pex的配置文件default,并强制保存退出:
3.当客户机在pxe启动时,客户端会发送dhcp广播,dhcpserver 收到广播后会告诉客户机ip 地址 和tftpserver的ip地址,tftp server会为客户机指明pxe引导文件。此时我们需要修改/etc/dhcpd.conf文件:
重启dhcp服务。
4.现在,主机已经能够获取到ip地址了,现在我们也想给我们网络内的每台主机都以station+ip地址的最后三位+.a.com命名:我们需要写个脚本,在生成ks.cfg的后安装脚本:
三、现在去采用kickstart去生成ks.cfg文件,由于kickstart也是一个工具,我们先查看这个工具的安装包,然后进行安装,由于我们的yum服务器已经配置好了,所以我们采用yum安装:
采用system-config-kickstart工具,会出现下面的界面:
然后进行如下的配置:
最后,打开file选项,选择save as将ks.cfg保存在/var/ftp目录下:
然后打开ks.cfg文件,在文件内的network --bootproto=dhcp--device=eth0 --onboot=on后面追加一句key --skip:
此时,我们也能看到我们在上面选择的全部软件安装包:
四、现在所有配置已经完成,我们只要把网络内的机器加电开机,系统便会自动安装出现如下界面:
接着会安装我们选择的软件包:
安装完成,会重启系统进入字符终端:
输入正确的用户名和密码便完成了登录,在里面我们可以使用hostname查看主机名,使用ifconfig查看ip地址: