• 网络装机pxe服务器的配置过程


    网络装机pxe服务器的配置过程

    背景:

      针对于Linux运维工作中遇到的需要大批量安装Linux系统的情况,通过网络装机的方式实现无人值守安装Linux操作系统,现需要配置一台pxe服务器用于pxe批量安装Linux操作系统,本次以Centos7为例。只要将这台配置好了的服务器合同其他需要安装Linux系统的客户机连接在同一个局域网中,就可以通过网络来进行Linux系统的安装。这台服务器需要提供DHCP服务和tfpt服务以及http服务,DHCP服务主要是为了给客户机提供IP地址,而tftp服务主要是为了提供安装系统所需要的引导文件,而HTTP服务则是提供安装系统的软件包。缺一不可。

    一、准备条件

    1.1、关闭防火墙和selinux。

      关闭防火墙命令:

    1 [root@localhost ~]# systemctl stop firewalld.service 
    2 [root@localhost ~]# systemctl disable firewalld.service 
    3 Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    4 Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    5 [root@localhost ~]# 

      关闭selinux命令:将/etc/selinux/config中的SELINUX的值修改为“disabled”。重启生效。重启命令:reboot

      验证selinux是否关闭,命令:getenforce

    1 [root@localhost ~]# 
    2 [root@localhost ~]# getenforce
    3 Disabled
    4 [root@localhost ~]# 

    1.2、挂载Centos7的光盘镜像

      实验是在虚拟机上做的。挂载前需要将虚拟机的光驱和实际的Centos7的光盘镜像连接起来,这里不做介绍。

      挂载Centos7光盘镜像

      挂载命令:

    1 [root@localhost /]# mkdir /var/www/html/Centos7
    2 [root@localhost /]# ls /var/www/html/
    3 Centos7
    4 [root@localhost /]# mount /dev/sr0 /var/www/html/Centos7/
    5 mount: /dev/sr0 is write-protected, mounting read-only

    1.3、安装DHCP、tftp、http服务

    命令:

    1 [root@localhost yum.repos.d]# yum -y install dhcp
    2 [root@localhost yum.repos.d]# yum -y install httpd
    3 [root@localhost yum.repos.d]# yum -y install xinetd
    4 [root@localhost yum.repos.d]# yum -y install tftp-server
    5 [root@localhost yum.repos.d]# 

    查看是否安装http、tftp、dhcp等服务。

    二、修改配置文件

    2.1、修改dhcp服务的配置文件/etc/dhcp/dhcpd.conf

    导入dhcp模板文件的配置内容。

    修改配置文件。

    2.2、修改tftp服务的配置文件/etc/xinetd/tftp,启用tftp功能。默认tftp是关闭的。

     

    三、http搭建yum源

      用于提供软件包的访问地址。

    启用http服务。配置http服务开机启动。

     命令:

    1 [root@localhost etc]# systemctl restart httpd
    2 [root@localhost etc]# systemctl enable httpd
    3 Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
    4 [root@localhost etc]# 

    创建yum客户端位置文件。在/etc/yum.repos.d/下创建yck.repo文件,这个文件的名字随便取,但是需要以.repo结尾。

    检查yum是否配置成功。

    四、提取光盘镜像中的引导文件和其他系统必须的文件

    将光盘镜像中的initrd.img、splash.png、vesamenu.c32、vmlinuz拷贝到tftp服务默认的共享目录/var/lib/tftpboot/中。

    命令:

    1 [root@localhost yum.repos.d]# cp -a /var/www/html/Centos7/isolinux/initrd.img /var/www/html/Centos7/isolinux/vmlinuz /var/lib/tftpboot/
    2 [root@localhost yum.repos.d]# cp -a /var/www/html/Centos7/isolinux/splash.png /var/www/html/Centos7/isolinux/vesamenu.c32 /var/lib/tftpboot/
    3 [root@localhost yum.repos.d]# 

    在/var/lib/tftpboot/创建目录pxelinux.cfg,并把光盘镜像中的isolinux.cfg拷贝到pxelinux.cfg目录下并命名为default。

    命令:

    1 [root@localhost yum.repos.d]# mkdir /var/lib/tftpboot/pxelinux.cfg
    2 [root@localhost yum.repos.d]# cp -a /var/www/html/Centos7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
    3 [root@localhost yum.repos.d]# ls /var/lib/tftpboot/pxelinux.cfg/
    4 default
    5 [root@localhost yum.repos.d]# 

    获取pxelinux.0文件,pxelinux.0是由syslinux包提供的,所以要先安装syslinux。然后再找pxelinux.0文件。

    1 [root@localhost yum.repos.d]# yum -y install syslinux
    2 [root@localhost yum.repos.d]# find / -name "pxelinux.0"
    3 /usr/share/syslinux/pxelinux.0
    4 [root@localhost yum.repos.d]# 

    把pxelinux.0文件拷贝到/var/lib/tftpboot/下。

    修改/var/lib/tftpboot/pxelinux.cfg/default文件。

    修改内容。

     

    六、生成自动应答文件ks.cfg.并将应答文件放在/var/www/html/下。

    安装system-config-kickstart软件包。通过命令system-config-kickstart开始配置自动应答文件,这个过程是全图形操作。

    命令:

    1 system-config-kickstart

     

     如果软件包选择项看不到任何软件包。

    也可自定义脚本如下,根据自己的想法去写脚本。

    将ks.cfg文件放在/var/www/html/下。

    七、启动tftp服务、dhcp服务。确认dhcp、tftp、http服务是否正在运行。

    八、新创建一个虚拟机,将新的虚拟机网卡设置为桥接模式,复制主机的网络状态。开机从网卡启动,开始装机。

     新建虚拟机就不多介绍了。内存设为2G。太小可能导致系统安装失败。

    新的虚拟机开机按F12.从网卡启动。

    按回车键后,开始安装。

    开始加载文件了,之后的暗账过程都是无人值守的。

    系统安装完成。





     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    python2代码改成python3踩过的坑
    Mac下为什么有的文件名后带一个* 星号?
    Mac 的 Vim 中 delete 键失效的原因和解决方案(转)
    使用pandas处理大型CSV文件(转)
    Java基础——02
    javaee相关基础
    Cookie&Session笔记
    EL&JSTL笔记------jsp
    JavaWeb基础
    Java基础——01
  • 原文地址:https://www.cnblogs.com/mython/p/10919355.html
Copyright © 2020-2023  润新知