• pxe自动化装机


      自动化装机的核心是——kickstartkickstart是一个装机自动应答文件,它可实现手动改装机时的各种操作,通过配置文件中的命令,实现自动应答装机。只有kickstart免去了我们在安装OS时手动选择和配置例如键盘,时区,分区等操作;还是需要人为去参与。自动化装机最终实现应该时在kickstart基础上实现,除通过dhcp服务器获取动态IP外,还从dhcp服务器中获得tftp服务器的位置,在tftp加载启动文件和内核等文件。从而实现从以网络的方式自动安装操作系统。

    kickstart的创造方式:

    1. 在手动安装后,在/root下自动生成kickstart文件——anaconda-ks.cfg。我们可以根据此文件稍加修改形成自己个性的配置。
    2. 使用systemc-kickstart-config工具自动生成kickstart文件
    3. 手工编写文件

    下面是一个ks文件示例

    install
    keyboard 'us'
    rootpw --iscrypted $1$tMDmgsuf$HPBEmj8FpqjphA30DzmG70
    lang en_US
    auth  --useshadow  --passalgo=sha512
    cdrom
    text   ##文本界面安装
    firstboot --disable
    selinux --disabled  ##关闭selinux
    skipx
    firewall --disabled  ##关闭防火墙
    timezone Asia/Shanghai  ##时区配置
    bootloader --append="net.ifnames=0" --location=mbr  ###"net.ifnames=0" 在centos7 上使用eth样式的网卡明明规则
    zerombr
    clearpart --all
    part / --fstype="ext4" --size=10000 ##分区信息
    %post
    echo "hello" > /root/1.txt  ###安装后配置脚本
    %end
    %packages
    @^minimal   ##安装最小化安装包组
    %end  

    实验一:根据ks文件示例实现半自动化安装os 

    实验环境

    两台VMware虚拟机。192.168.206.15作为http服务器,提供通过网络获取ks文件功能,代号X一台新建虚拟机没有操作系统,代号Y

    实验步骤

    第一步:X上搭建http服务器,将ks文件放在/var/www/html/ks7/testks.cfg

    第二步:Y需要在VMware的编辑虚拟机中选择好要使用的centos7光 

    第三步:Y开机时按F2进入bios选择第一启动为光盘启动

    第四步:如下图,Y上出现grub选择界面时选择第一项,按table。在后边添加ks=http://192.168.206.15/ks7/testks.cfg

    第五步:按enter开始自动安装。装机完成。

    实验二:Pxe自动化安装服务器。

    实验环境 

    192.168.206.15作为httptftp服务器代号X,一台新建虚拟机没有操作系统,代号Y

    安装软件包

    yum -y install httpd tftp-server dhcp syslinux system-config-kickstart

    syslinux:可以提供从网络安装os时需要的网络版bootloader——pxelinux.0

    httpd:作为发布镜像以及ks文件的网站

    Img:是/dev/sr0光盘镜像的挂在位置,ks6,ks7存放了ks文件

    dhcp:提供动态IP,并指定tftp位置

    tftppxelinux.0及其配置文件存放的位置存放路径/var/lib/tftpboot/

      menu.c32提供文本环境安装界面

      default是由grub的配置文件重命名后得到的定制化的grub界面,提供启动菜单。

        cp /var/www/html/img/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

      vmlinux:内核文件

     配置服务

    配置文件共享服务:

    systemctl enable httpd

    systemctl start httpd

    mkdir /var/www/html/img

    mount /dev/sr0  /var/www/html/img

    准备kickstart文件

    使用system-kickstart-config 生成后放在/var/www/html/testks.cfg 注意:权限

    配置tftp服务

    systemctl enable tftp.socket

    systemctl start tftp.socket

    tftp不用做配置。它的默认共享目录为/var/lib/tftpboot/

    ④配置dhcp服务

    systemctl enable dhcpd

    systemctl start dhcpd

    配置内容如下,next-server指明tftp位置

    ⑤相关文件准备

    mkdir /var/lib/tftpboot/pxelinux.cfg/

    cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/

    cp /var/www/html/img/isolinux/{vmlinuz,initrd.img} / var/lib/tftpboot/

    cp /var/www/html/img/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

    ⑥准备启动菜单

    Vim /var/lib/tftpboot/pxelinux.cfg/default 。建议将本地启动label local设为默认项,以防止,安装系统后,重启时会自动在安装系统

    开启自动安装

    选择第一项,后续就不用操作。装机会自动进行

  • 相关阅读:
    烂泥:学习ubuntu之快速搭建LNMP环境
    烂泥:学习ubuntu远程桌面(二):远程桌面会话管理
    烂泥:学习ubuntu远程桌面(一):配置远程桌面
    烂泥:学习ssh之ssh密钥随身携带
    烂泥:学习ssh之ssh无密码登陆
    JS 获取浏览器窗口大小
    connect() failed (111: Connection refused) while connecting to upstream的解决
    css加载没效果,查看网络显示类型为 text/plain 的解决方法
    empty和isset的区别
    SQLite3命令操作大全
  • 原文地址:https://www.cnblogs.com/wxxjianchi/p/13557648.html
Copyright © 2020-2023  润新知