转载自:
PXE实现Linux的自动安装
安装过linux的人都知道,在只对一台机器进行linux的安装,很容易,我们只需要把光驱放进去就可以了,一步步的安装就ok!
但是当我们在一个机房,多台机器同时安装是就不可能这样做了,那有没有简单的方法呢?
随着现在的技术的发展,基本上所有的网卡都支持pxe,此时我们就可以使用远程的网络安装,这里使用的是ftp安装
技术资料:
在PC上从网络启动Red Hat Linux安装程序的PXE协议,同时需要tftp服务
PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。 PXE协议的成功运行需要解决以下两个问题:既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置;通过什么协议下载Linux内核和根文件系统
对于第一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。
至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。 TFTP根目录下有linux的相关内核启动文件bootstrap,这样可以就可以引导系统启动了 Red Hat Linux安装程序提供的网络安装功能(即指通过网络访问安装介质),需要nfs服务ks.cfg文件中制定了安装介质的位置,如果没有此文件,需要手工指定。 Red Hat Linux 安装程序提供的无人值守安装功能/tftpboot/pxelinux.cfg/default文件中定义了ks.cfg文件的位置,同时ks.cfg规定了安装过程中的选择配置信息,学习ks的最好方式是找到已已安装
1.挂载光驱,并安装dhcp服务和vsftp服务
2.编辑dhcp的配置文件
3.ftp服务
编辑tftp进程文件
现在已经配置好了dhcp和ftp服务!
4.把isolinux.cfg 拷贝到ftp目录pxelinux.cfg目录下,编辑isolinux.cfg
5.追加dhcp.conf文件,开机时读取linux的启动项
6.把光驱上所有的文件都拷贝到ftp下,这样需要的文件可以自动找到安装
7.对于同时安装多台机器来讲,不可能所有的机器的名字都是相同的,所以为了区分开,我们编写脚本,把机器的名字用从dhcp获取得到的ip地址的最后一位分开
8.安装linux,我们会安装很多的工具包,很多的都哦是依赖的,所以我们使用yum安装,那么我们就要配置yum环境了
[root@localhost ~]yum list all
第一次的时候很慢,以后就会很快。
9.网络安装linux ,我们需要配置ks.cfg文件,它是linux的安装的引导说明
10.进行网络安装测试
实验完成!