• 无人值守安装服务


           Kickstart是一种无人值守的安装方式,其工作原理是预先把原本需要运维人员手工填写的参数保存成一个ks.cfg文件,当安装过程中需要填写参数时则自动匹配Kickstart生成的文件。

     

    配置DHCP服务程序

    DHCP服务程序用于为客户端主机分配可用的IP地址,而且这是服务器与客户端主机进行文件传输的基础

    [root@linuxprobe ~]# yum install dhcp -y
    [root@linuxprobe ~]# vim /etc/dhcp/dhcpd.conf         # 分配IP地址
     allow booting; 
     allow bootp;                                 # 允许了BOOTP引导程序协议,旨在让局域网内暂时没有操作系统的主机也能获取静态IP地址
     ddns-update-style interim;
     ignore client-updates;
     subnet 192.168.10.0 netmask 255.255.255.0 {                        # 设置网段
          option subnet-mask       255.255.255.0;                       # 设置网关#设置子网掩码
          option domain-name-servers 192.168.10.10;                     # 设置dns服务器地址
          range dynamic-bootp 192.168.10.100 192.168.10.200;            # IP地址租用的范围
          default-lease-time         21600;                             # 默认租约时间
          max-lease-time             43200;                             # 大租约时间
          next-server                   192.168.10.10;                  # tftp服务器地址
          filename                             "pxelinux.0";            # 在配置文件的最下面加载了引导驱动文件pxelinux.0(这个文件会在下面的步骤中创建),
    # 其目的是让客户端主机获取到IP地址后主动获取引导驱动文件,自行进入下一步的安装过程。 } [root@linuxprobe
    ~]# systemctl restart dhcpd [root@linuxprobe ~]# systemctl enable dhcpd ln -s '/usr/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service'

    配置TFTP服务程序

    使用TFTP协议帮助客户端获取引导及驱动文件。TFTP作为一种基于UDP协议的简单文件传输协议,不需要进行用户认证即可获取到所需的文件资源。

    [root@linuxprobe ~]# yum install tftp-server -y
    [root@linuxprobe ~]# vim /etc/xinetd.d/tftp
     14         disable                 = no                         # 不要禁用tftp功能
    
    [root@linuxprobe
    ~]# systemctl restart xinetd [root@linuxprobe ~]# systemctl enable xinetd [root@linuxprobe ~]# firewall-cmd --permanent --add-port=69/udp # TFTP服务程序默认使用的是UDP协议,占用的端口号为69 success [root@linuxprobe ~]# firewall-cmd --reload success [root@linuxprobe ~]# iptables -F [root@linuxprobe ~]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

    配置SYSLinux服务程序

      SYSLinux是一个用于提供引导加载的服务程序。与其说SYSLinux是一个服务程序,不如说更需要里面的引导文件,在安装好SYSLinux服务程序软件包后,/usr/share/syslinux目录中会出现很多引导文件。

    [root@linuxprobe ~]# yum install syslinux
    [root@linuxprobe ~]# cd /var/lib/tftpboot/
    [root@linuxprobe tftpboot]# cp /usr/share/syslinux/pxelinux.0 .                      # 复制SYSLinux提供的引导文件
    [root@linuxprobe tftpboot]# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} .    # 复制光盘镜像中引导文件
    [root@linuxprobe tftpboot]# cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} .
    [root@linuxprobe tftpboot]# mkdir pxelinux.cfg
    [root@linuxprobe tftpboot]# cd pxelinux.cfg/
    [root@linuxprobe pxelinux.cfg]# cp /media/cdrom/isolinux/isolinux.cfg default        # 复制开机选项菜单,并命名defaul
    [root@linuxprobe pxelinux.cfg]# ls
     default
    [root@linuxprobe pxelinux.cfg]# vim default
      1 default linux                                                                    # 系统在开机时就会默认执行那个名称为linux的选项
     61 label linux
     62   menu label ^Install Red Hat Enterprise Linux 7.0
     63   kernel vmlinuz
     64   append initrd=initrd.img inst.stage2=ftp://192.168.10.10 ks=ftp://192.168.10.10/pub/ks.cfg quiet
           # 将默认的光盘镜像安装方式修改成FTP文件传输方式,并指定好光盘镜像的获取网址以及Kickstart应答文件的获取路径
     64   append initrd=initrd.img ks=http://192.168.134.130/config/ks.cfg biosdevname=0 net.i
           # 将默认的光盘镜像安装方式修改成HTTP协议,并指定好光盘镜像的获取网址以及Kickstart应答文件的获取路径
    
     

    配置VSFtpd服务程序

      vsftpd服务程序用于将完整的系统安装镜像通过网络传输给客户端。当然,只要能将系统安装镜像成功传输给客户端即可,因此也可以使用httpd来替代vsftpd服务程序。

    [root@linuxprobe ~]# yum install vsftpd
    [root@linuxprobe ~]# systemctl restart vsftpd
    [root@linuxprobe ~]# systemctl enable vsftpd
    ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
    [root@linuxprobe ~]# iptables -F
    [root@linuxprobe ~]# cp -r /media/cdrom/* /var/ftp

    配置HTTP服务程序

      通过把光盘镜像内容传给客户端,因此也可以使用vsftpd来替代httpd服务程序。

    [root@linuxprobe ~]# yum install httpd -y
    [root@linuxprobe ~]# systemctl restart httpd
    [root@linuxprobe ~]# systemctl enable httpd
    ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
    [root@linuxprobe ~]# systemctl status httpd
    [root@linuxprobe ~]# cp -rf /mnt/* /var/www/html/
    [root@linuxprobe ~]# mkdir -p /var/www/html/config                     # 新建目录,把自定义的文件、脚本等放置于此

    创建KickStart应答文件

    [root@linuxprobe ~]# ls                                   # 在root管理员的家目录中有一个名为anaconda-ks.cfg的文件,它就是应答文件
    [root@linuxprobe ~]# cp anaconda-ks.cfg /var/ftp/pub/
    [root@linuxprobe ~]# cd /var/ftp/pub/
    [root@linuxprobe pub]# ls
    anaconda-ks.cfg
    [root@linuxprobe pub]# mv anaconda-ks.cfg ks.cfg
    [root@linuxprobe pub]# chmod +r ks.cfg                    # 确保所有人都有可读权限,以保证客户端主机顺利获取到应答文件及里面的内容
    [root@linuxprobe pub]# vim ks.cfg                         # 使用vsftpd服务程序。
      6 url --url=ftp://192.168.10.10
     12 # System language 
     13 # lang zh_CN.UTF-8
     21 timezone Asia/Shanghai --isUtc
     29 clearpart --all --initlabel                           # 磁盘选项设置为清空所有磁盘内容并初始化磁盘
     
    [root@linuxprobe ~]# vim /var/www/html/config/ks.cfg      # 使用httpd服务程序。
     # Use network installation 
     url --url="http://192.168.134.130/"
     #!!!
     # Use CDROM installation media
     repo --name="yum" --baseurl=http://192.168.134.130/
     #!!!

     检查是否存在错误

    [root@linuxprobe ~]# yum install pykickstart
    [root@linuxprobe ~]# ksvalidator ks.cfg
  • 相关阅读:
    1.4(java学习笔记) 面向对象内存分析
    1.3(java学习笔记)构造方法及重载
    1.2(java学习笔记)类与对象
    1.1(java学习笔记) 面向过程与面向对象
    STM32F0库函数初始化系列:GPIO配置
    STM32F4库函数初始化系列:PWM输出
    STM32F4库函数初始化系列:DMA串口接收
    STM32F4库函数初始化系列:三重ADC——DMA
    STM32F1库函数初始化系列:DMA—ADC采集
    STM32F4库函数初始化系列:串口DMA接收
  • 原文地址:https://www.cnblogs.com/dinghailong128/p/12178434.html
Copyright © 2020-2023  润新知