• 基于Ubuntu20.04搭建pxe+kickstart


    系统版本:

    root@zjh-server-pxe:~# lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 20.04.1 LTS
    Release:        20.04
    Codename:       focal
    

    1、dhcp

    安装 isc-dhcp-server

    apt-get install isc-dhcp-server  

     修改 /etc/default/isc-dhcp-server

    INTERFACESv4="ens33"

    修改 /etc/dhcp/dhcpd.conf,在最后一行添加配置如下:

    subnet 192.168.57.0 netmask 255.255.255.0 {
           range 192.168.57.100 192.168.57.200;
           option subnet-mask 255.255.255.0;
           option routers 192.168.57.2;
           option domain-name-servers 192.168.57.2;
           option broadcast-address 192.168.57.255;
           filename "pxelinux.0";
           next-server 192.168.57.149;
    }

    启动dhcp服务并设置开机启动

    systemctl start isc-dhcp-server
    systemctl enable isc-dhcp-server
    

    2、tftp

    安装 tftpd-hpa

    apt-get install tftp-hpa
    

    修改 /etc/default/tftpd-hpa

    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/var/lib/tftpboot"
    TFTP_ADDRESS="0.0.0.0:69"
    TFTP_OPTIONS="-l -c -s"
    

    创建 tftp目录并设置权限

    mkdir /var/lib/tftpboot/ && chmod 777 /var/lib/tftpboot/

    启动 tftp服务并设置开机启动

    systemctl start tftpd-hpa.service
    systemctl enable tftpd-hpa.service
    

    3、http

    安装 apache2

    apt-get install apache2

    启动 apache2服务并设置开机启动

    systemctl start apache2.service
    systemctl enable apache2.service
    

    4、pxe

    创建工作目录

    mkdir /var/lib/tftpboot/Centos7.2
    mkdir /var/www/html/Centos7.2

    由于ubuntu20.04已经没有pxelinux.0这个启动文件,所以我们需要到官网下载

    wget http://www.archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz /var/lib/tftpboot/

    解压

    root@zjh-server-pxe:/var/lib/tftpboot# tar -zxvf netboot.tar.gz 
    root@zjh-server-pxe:/var/lib/tftpboot# ls 
    ldlinux.c32 netboot.tar.gz pxelinux.0 pxelinux.cfg ubuntu-installer version.info Centos7.2

    挂载光盘并拷贝镜像文件到工作目录

    root@zjh-server-pxe:~# mount /dev/sr0 /mnt/
    root@zjh-server-pxe:~# cd /mnt/
    root@zjh-server-pxe:/mnt# cp -r * /var/www/html/Centos7.2/

    拷贝启动内核到工作目录

    root@zjh-server-pxe:/mnt# cd /var/www/html/Centos7.2/isolinux/
    root@zjh-server-pxe:/var/www/html/Centos7.2/isolinux# cp vmlinuz initrd.img /var/lib/tftpboot/Centos7.2/
    

    修改 /var/lib/tftpboot/pxelinux.cfg/default

    default    Centos7.2 
    prompt    0 
    timeout    600 
    display    boot.msg 
    
    label Centos7.2
      kernel Centos7.2/vmlinuz
      append initrd=Centos7.2/initrd.img repo=http://192.168.57.149/Centos7.2 ks=http://192.168.57.149/Centos7.2/ks.cfg
    

    5、kickstart

    这里可以通过安装system-config-kickstart,通过图形化界面生成ks.cfg文件;

    还有一种方法就是 已经安装完成的机器上都有/root/anaconda-ks.cfg这个文件,可以改名为ks.cfg直接使用。

    root@zjh-server-pxe:/var/www/html/Centos7.2# more ks.cfg
    #version=DEVEL
    # System authorization information
    auth --enableshadow --passalgo=sha512
    # Use network installation
    url --url="http://192.168.57.149/Centos7.2"
    # Use graphical install
    graphical
    # Run the Setup Agent on first boot
    firstboot --enable
    ignoredisk --only-use=sda
    # Keyboard layouts
    keyboard --vckeymap=us --xlayouts='us','cn'
    # System language
    lang zh_CN.UTF-8
    
    # Network information
    network  --bootproto=dhcp --device=eno16777736 --ipv6=auto --activate
    network  --hostname=localhost.localdomain
    
    # Root password
    rootpw --iscrypted $6$totlFMklPXP1obga$zC1nRV6L2YcB5ZF88Y6JjdE3OT6Vm6GBVkEmpXy22xKK9umMR5ofDJiCEoYCVuiVGDvPCGLYzX5TeXxidkhM3.
    # System services
    services --enabled="chronyd"
    # System timezone
    timezone Asia/Shanghai --isUtc
    user --name=zjh --password=$6$gucjhf1N9pliUxRk$VkC.HHC6QvHjm6g6mDENczlwwwGbhpgUDnqk0pOg9KCWo.5QreEp254hXlhZeAxLmKyOOU0j9ebiG1tvE4.Qh1 --iscrypted --gecos="zjh"
    # System bootloader configuration
    bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
    autopart --type=lvm
    # Partition clearing information
    clearpart --none --initlabel
    
    %packages
    @^infrastructure-server-environment
    @base
    @core
    @development
    @dns-server
    @file-server
    @ftp-server
    @ha
    @infiniband
    @java-platform
    @mail-server
    @mariadb
    @postgresql
    @remote-system-management
    @resilient-storage
    chrony
    kexec-tools
    
    %end
    
    %addon com_redhat_kdump --enable --reserve-mb='auto'
    
    %end
    

      

  • 相关阅读:
    AC自动机讲解超详细
    区间树Splay——[NOI2005]维护数列
    区间树Splay——[NOI2005]维护数列
    Trie学习总结
    微信小程序刮刮乐
    微信小程序获得高度
    微信小程序多video播放暂停问题
    vue中的问题思考
    vue的开发技巧
    微信小程序消息推送,前端操作
  • 原文地址:https://www.cnblogs.com/zhangjianghua/p/13930560.html
Copyright © 2020-2023  润新知