zoukankan      html  css  js  c++  java
  • RedHat7搭建无人值守自动安装Linux操作系统(PXE+Kickstart)

    Kickstart服务器

    IP: 192.168.136.253   掩码:255.255.255.0   网关:192.168.136.2   DNS:192.168.136.2

    • 安装部署HTTP服务器

    # mkdir -p /content/pub/rhel7/x86_64/{isos,dvd}/

    上传RedHat安装光盘镜像至 /content/pub/rhel7/x86_64/isos/rhel-server-7.2-x86_64-dvd.iso

    安装HTTP服务器(Nginx)

    # rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    # yum -y install nginx

    修改默认网站配置文件

     # vi /etc/nginx/conf.d/default.conf

    server {
        listen       80;
        server_name  localhost;
        root        /content;
        index       index.html index.htm;
    
        location ^~ /pub/ {
            autoindex             on;
            autoindex_exact_size  off;
            autoindex_localtime   on;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }

    启动Nginx服务并设置为开机启动

    # systemctl start nginx
    # systemctl enable nginx

    修改网站目录SELinux类型

    # chcon -t public_content_t -R /content/

    设置开机自动挂载光盘镜像到/content/pub/rhel7/x86_64/dvd

    # echo "/content/pub/rhel7/x86_64/isos/rhel-server-7.2-x86_64-dvd.iso   /content/pub/rhel7/x86_64/dvd   iso9660   loop,ro   0 0" >> /etc/fstab
    # mount -a
    • 安装部署DHCP服务器
    # yum -y install dhcp

    修改配置文件

    # vi /etc/dhcp/dhcpd.conf

    log-facility local7;
    
    option domain-name "example.com";
    option domain-name-servers 192.168.136.2;
    
    default-lease-time 600;
    max-lease-time 7200;
    
    subnet 192.168.136.0 netmask 255.255.255.0 {
      range 192.168.136.100 192.168.136.200;
      option routers 192.168.136.2;            #路由器IP,可以写网关IP
      next-server 192.168.136.253;             #TFTP Server 的IP地址
      filename "pxelinux.0";                   #pxelinux 启动文件位置
    }

    启动DHCP服务并设置为开机启动

    # systemctl start dhcpd
    # systemctl enable dhcpd
    • 安装部署TFTP服务器
    # yum -y install tftp-server

    修改配置文件

    # vi /etc/xinetd.d/tftp

    # default: off
    # description: The tftp server serves files using the trivial file transfer 
    #       protocol.  The tftp protocol is often used to boot diskless 
    #       workstations, download configuration files to network-aware printers, 
    #       and to start the installation process for some operating systems.
    service tftp
    {
            socket_type             = dgram
            protocol                = udp
            wait                    = yes
            user                    = root
            server                  = /usr/sbin/in.tftpd
            server_args             = -s /var/lib/tftpboot
            disable                 = no                       #把这行改成no即可
            per_source              = 11
            cps                     = 100 2
            flags                   = IPv4
    }

    启动TFTP服务并设置为开机自启动

    # systemctl start tftp
    # systemctl enable tftp

    将客户端所需启动文件复制到TFTP服务器

    # yum -y install syslinux
    # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

    复制启动镜像文件和启动配置文件至TFTP共享目录

    # cp /content/pub/rhel7/x86_64/dvd/isolinux/{boot.msg,splash.png,vmlinuz,initrd.img} /var/lib/tftpboot/
    # mkdir /var/lib/tftpboot/pxelinux.cfg/
    # cp /content/pub/rhel7/x86_64/dvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
    # chmod 644 /var/lib/tftpboot/pxelinux.cfg/default

    修改启动配置文件

    # vi /var/lib/tftpboot/pxelinux.cfg/default

    default linux
    timeout 600 ... label linux menu label
    ^Install Red Hat Enterprise Linux 7.2
    kernel vmlinuz
    append initrd=initrd.img ks=http://192.168.136.253/ks-config/ks7.cfg
    ...
    • 创建Kickstart自动应答文件

    # mkdir /content/ks-config/

    # vi /content/ks-config/ks7.cfg

    #platform=x86, AMD64, or Intel EM64T
    #version=DEVEL
    # Install OS instead of upgrade
    install
    # Keyboard layouts
    keyboard --vckeymap=us --xlayouts='us'
    # Root password
    rootpw --plaintext redhat
    # System services services --enabled="chronyd"
    # System timezone timezone Asia/Shanghai --isUtc # Use network installation
    url --url="http://192.168.136.253/pub/rhel7/x86_64/dvd"
    # System language lang en_US.UTF-8 # System authorization information auth --enableshadow --passalgo=sha512 # Use graphical install graphical # Network information network --bootproto=dhcp --device=eth0 # Reboot after installation reboot # System bootloader configuration bootloader --location=mbr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part swap --fstype="swap" --size=2048 part /boot --fstype="xfs" --size=256 part / --fstype="xfs" --grow --size=1

      %packages
      @^minimal
      @core
      chrony
      kexec-tools

      %end

    %post
    cat > /etc/yum.repos.d/rhel-dvd.repo << EOF
    [rhel-dvd]
    name=rhel dvd
    baseurl=http://192.168.136.253/pub/rhel7/x86_64/dvd
    gpgcheck=0
    enabled=1
    EOF
    %end

    或者在有图形界面的RedHat上安装kickstart图形化配置软件system-config-kickstart

    # yum -y install system-config-kickstart

    运行system-config-kickstart

    # system-config-kickstart

    • 开通防火墙
    # firewall-cmd --permanent --add-service={tftp,http}
    # firewall-cmd --reload
    •  启动客户端,安装部署系统

    在所有客户端主机的BIOS中,将第一启动方式设置为PXE网络启动。设置完成后,重启所有客户端计算机即可完成大规模集中安装部署操作系统。

  • 相关阅读:
    MySQL内连接和外连接
    MySQL 重命名数据库
    linux查看文件大小
    Linux合并两个文件夹内容
    Linux压缩和解压命令
    深度学习反向求导
    深度学习网络压缩模型方法总结
    cuda培训素材
    cuda编程-卷积优化
    交叉熵代价函数(损失函数)及其求导推导
  • 原文地址:https://www.cnblogs.com/edward2013/p/5182202.html
Copyright © 2011-2022 走看看