设为首页 收藏本站
查看: 407|回复: 0

[经验分享] PXE网络批量装机

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-9-3 09:07:04 | 显示全部楼层 |阅读模式
在大规模的linux应用环境中,如web群集、分布式计算等,服务器往往并不配备光驱设备,这种情况下如何为数十乃至上百台服务器裸机快速安装系统?传统的USB光驱、移动硬盘等安装方法显然已经力所难及。接下来介绍的PXE(Pre-boot Excution Enviroment,预启动环境)技术的网络装机方法,并结合Kickstart配置实现无人安装。

一、了解PXE远程安装服务
1.pxe远程安装服务的介绍
PXE是由Inter公司开发的网络引导技术,工作在C/S模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
2.    PXE远程安装服务的优势
1)、规模化:可以大规模的同时安装多台裸机,大大提高了安装操作系统的效率。
2)、自动化:在安装系统和配置服务的过程中全自动,相对减少了管理员安装时间,也大大避免了在安装过程中出错的可能。
3)、远程实现:通过网络实现,不需要光盘、U盘等本地介质。较为方便。
3. 搭建PXE满足的条件
   1)、客户机的网卡支持PXE协议(集成BOOTROM芯片),并且主板支持网络引导。
   2)、网络中有一台DHCP服务器以便于为客户机自动分配IP地址,指定引导文件位置。
   3)、服务器通过TFTP(Trivial  File  Transfer Protocol  简单文件传输协议)提供引导镜像文件的下载。
二、搭建PXE远程安装服务器
    实验环境:准备两台虚拟机,一台作为测试环境(RHEL6IP地址192.168.1.1),另一台作为RHEL6安装端,设置网络引导安装。
1.    设置IP地址为192.168.1.1
修改配置文件:
[iyunv@locahost~]# vim/etc/sysconfig/network-scripts/ifcfg-eth0
修改内容:
IPADDR=192.168.1.1
NETMASK=255.255.255.0
(若没有则添加)
NM_CONTROLLED=”no”
ONBOOT=”yes”
启动network服务
[iyunv@localhost~]#service  network start
查看IP地址确认
[iyunv@localhost~]#ifconfig
注意:
若启动network服务报错,如下图所示:
                            wKioL1QFl9zCLG3RAAFANPeZBoE769.jpg
解决方法:
[iyunv@localhost~]# rm –rf/etc/udev/rules.d/70-persistent-net.rules
[iyunv@locahost~]# vim/etc/sysconfig/network-scripts/ifcfg-eth0
删除Mac地址一行
[iyunv@locahost~]#reboot
  • 2.    搭建yum服务器安装所需要的服务
1)、搭建yum光盘安装源:
[iyunv@localhost ~]#mkdir –p /var/ftp/rhel6
[iyunv@localhost ~]#mount /dev/cdrom /media
[iyunv@localhost ~]#cp –rf /media/* /var/ftp/rhel6/
    2)、在/etc/yum.repos.d/目录下创建以.repo为后缀的文件:
[iyunv@localhost ~]# vim/etc/yum.repos.d/yum.repo
编写内容:
[Server]
name=Server
baseurl=file:///var/ftp/rhel6/Server
enabled=1
gpgcheck=0
  • 3.    安装FTP服务,并设置开机自启动
[iyunv@localhost ~]# yum –y installvsftpd
[iyunv@localhost ~]#/etc/init.d/vsftpd  start
[iyunv@localhost ~]# chkconfig  vsftpd  start
3.  安装tftp服务,并修改相应的配置文件
1)、使用yum安装tftp服务:
[iyunv@localhost ~]# yum –y installtftp
[iyunv@localhost ~]# yum –yinstall-server
2)、修改tftp配置文件:
[iyunv@localhost ~]# vim/etc/xinetd.d/tftp
修改内容:
service tftp
{
……  //省略部分信息
     server_args   = -s/var/lib/tftpboot   //指定TFTP根目录
disable         =no
……  //省略部分信息
}
3)、启动TFTP服务
[iyunv@localhost ~]# service xinetd  start
注:TFTP开机自启动,所以不需要再进行设置
  • 4.    准备linux内核,初始化镜像文件
PXE网络安装的linux内核:vmlinuz
初始化镜像文件:initrd.img
[iyunv@localhost ~]# cd/var/ftp/yum/images/pxeboot
[iyunv@localhost ~]# cp  vmlinux initrd.img  /var/lib/tftpboot
  • 5.    准备PXE引导程序、启动菜单文件
用于PXE网络安装的引导程序pxelinux.0,由软件包syslinux提供。
[iyunv@localhost ~]# yum  -y install  syslinux
[iyunv@localhost~]# cp/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
[iyunv@localhost ~]# mkdir  /var/lib/tftpboot/jpxelinux.cfg
[iyunv@localhost ~]# vim  /var/lib/tftpboot/pxelinux.cfg/default
default  auto                //指定默认出口名称
prompt 1                  //1表示等待用户控制
label auto
kernel  vmlinux
append  initrd=initrd.img  devfs=nomount randisk_size=8192
…….

  • 6.    安装DHCP服务,修改配置文件以及开启服务
(1)、配置IP地址为192.168.1.1
2)、安装dhcpd服务
[iyunv@localhost ~]# yum  -y  install   dhcpd
3)、修改dhcpd的配置文件
[iyunv@localhost ~]# vim /etc/dhcpd.conf
编写内容:
subnet 192.168.1.1   netmask 255.255.255.0 {
range 192.168.1.2     192.168.1.200;
next-server 192.168.1.1;   //指定TFTP服务器的地址
filename “pxelinux.0”;     //指定PXE引导程序的文件名
}
4)、启动dhcp服务,并设置为开机自启动
[iyunv@localhost ~]# service dhcpdstart
[iyunv@localhost ~]# chkconfig dhcpd on
  • 3.    验证PXE网络安装
客户机使用裸机,不需要额外设置;若为已有系统的主机重装系统,则可能需要修改BIOS设置,将“Boot First”设为“NETMASK”或“LAN”,然后重启主机。
如果服务器配置正确,则客户机重启后将自动配置IP地址,然后从TFTP服务器获得引导程序pexlinux.0,并根据引导菜单配置提示用户指定启动入口,
  • 实现Kickstart无人值守安装
  • 安装之前需要先安装system-config-kickstart noarch软件包

[iyunv@local~]# yum –y installsystem-config-kickstart  noarch
  • 2.配置安装应答参数

通过桌面菜单“应用程序”→“系统工具”→“Kickstart”即可打开Kickstart
1)、基本设置
将“默认语言”设置为中文,时区选择“Asia/Shanghai”设置“根口令”并且设置为“给根口令加密”,切记要勾上“安装后重新引导系统“,如图所示:
wKioL1QFl--wLYREAAErWwjr2OQ515.jpg
2)、安装方法
安装方法选择“执行新安装”(毕竟我们是在裸机上装系统),安装方法选择“FTP”;写入FTP服务器的IP地址以及FTP目录,即FTP服务器的根目录,根据上述设置,我们在这里填写为“rhel6”;如果有指定的ftp用户和用户名的话,我们也可填写好ftp用户和用户名。
wKiom1QFl_rAd2_UAAD1sEmVAGA531.jpg
3)、引导装载程序选项
“安装类型”选择“安装新引导装载程序”,选择“使用GRUB口令”,输入口令即可;在“安装选项“选择”在主引导记录(MBR)上安装引导装载程序;
wKiom1QFmASD2bWjAADh07KZYo4425.jpg
4)、分区信息
在“磁盘标签”上选择“初始化磁盘标签”,其余选择默认即可。同时要正确规划分区方案,例如可划分一个500MB/boot分区、4GB/home分区、2GB的交换分区,剩余的空间划分为/分区。
wKioL1QFmBKwgLWiAADrP8sX7Aw088.jpg
5)、网络配置
设置网络设备为“eth0”,网络类型为“DHCP”选择“确定”即可。

wKiom1QFmB3Sbzv6AADtaeDXDgQ288.jpg
6)、验证
默认即可。选择“下一步”;
wKiom1QFmDuA3147AAC4rBekFlA581.jpg
7)、防火墙配置
最好禁用,也可以开启ftp的例外端口21
wKiom1QFmEvjk2N6AACnrAAGltY198.jpg
8)、显示配置,选择安装“图形环境”;否则安装完成后,裸机上的系统是没有图形环境的桌面的;
wKioL1QFmFiSJyn2AAB9PlIhEZg618.jpg
9)、软件包选择
根据实际需要选择安装的软件包,比如可以选择“基本”、“万维网安装服务器”、“X窗口系统”、“字体”、以及“开发工具”等等;
wKiom1QFmGPRxghJAAD8fGqwUQM249.jpg
10)、安装脚本
安装脚本分为“预安装脚本”和“安装后脚本”,分别是安装前执行和安装后执行的可执行语句。此设置可以是客户机在完成自动安装后自动执行脚本命令
wKioL1QFmHPDtXSqAAEXh9yIcUI844.jpg
  • 4.    保存自动应答文件
单击Kickstart配置程序的“文件”中的“保存菜单”;指定目标文件夹和文件名,在这里我们保存到/root/ks.cfg文件中。
配置好的应答参数保存为文本文件
  • 5.    实现批量自动装机
       启用自动应答文件
       [iyunv@localhost~]# cp  /root/ks.cfg /var/ftp/rhel6/ks.cfg
       [iyunv@localhost~]# vi  /var/lib/tftpboot/pxelinux.cfg/default
       配置内容
       default    auto
       prompt   0     //0表示不等待用户控制
        label  auto
               kernel  vmlinuz
               appendks=ftp://192.168.1.1/rhel6/ks.cfg initrd=initrd.img devfs=nomount   ramdisk_size=8192




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-24306-1-1.html 上篇帖子: Linux磁盘分区及格式化 下篇帖子: Linux shell 流程控制(条件if,循环for,while) 网络
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表