博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PXE实现Linux的自动安装
阅读量:6040 次
发布时间:2019-06-20

本文共 1507 字,大约阅读时间需要 5 分钟。

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.进行网络安装测试

 

 

 

 

 

 

 

 

实验完成!

     本文转自Tar0 51CTO博客,原文链接:http://blog.51cto.com/tar0cissp/1266420,如需转载请自行联系原作者

你可能感兴趣的文章
何为敏捷
查看>>
HA集群之四:Corosync+Pacemaker+DRBD实现HA Mysql
查看>>
服务器定义
查看>>
我的友情链接
查看>>
MYSQL-实现ORACLE- row_number() over(partition by ) 分组排序功能
查看>>
c# 入门 例子
查看>>
HP Designjet 800PS 日常维护
查看>>
rhel7使用fdisk分区时无法使用全部分区的解决办法
查看>>
Docker 清理命令
查看>>
利用NRPE外部构件监控远程主机
查看>>
使用模块化编译缩小 apk 体积
查看>>
router-link传参
查看>>
ios之UISlider
查看>>
短信验证流程
查看>>
php 使用htmlspecialchars() 和strip_tags函数过滤HTML标签的区别
查看>>
OpenCV Error: Assertion failed (data0.dims <= 2 && type == 5 && K > 0) in cv::kmeans
查看>>
python string 之 format
查看>>
树形DP 复习
查看>>
Vuex随笔
查看>>
crontab 不执行
查看>>