自动化部署 *** 作系统-Kickstart+PXE自动部署

自动化部署 *** 作系统-Kickstart+PXE自动部署,第1张

自动化部署 *** 作系统-Kickstart+PXE自动部署 Kickstart+PXE自动部署

目录:

  • 无人值守安装简介

  • 实战:PXE批量部署linux *** 作系统。

  • 部署dhcp服务

    HTTP服务

    TFTP服务

    复制PXE启动所需的文件。

    修改引导启动菜单。

    配置kickstart自动安装文件(ks.cfg)

    安装测试

    无人值守安装简介

    无人值守安装(UnattendedSetup)是指在没有任何用户干预的情况下,默认或通过答案文件设置安装软件,对于没有特殊需求的用户或企业来说,非常方便大批量部署安装 *** 作系统和软件。无人值守安装也称为静默安装。在安装过程中,可以静默安装一些常用的预设计集成软件。安装后软件已经可以使用了,很多软件都支持静默安装。


    PXE:预引导执行环境:计算机包含PXE支持的网卡(NIC)的一种引导模式,即NIC必须有PXE客户端,这样计算机才能通过PXE协议从网络启动(NIC必须有PXE芯片)。协议分为客户端和服务器端。PXE客户端在网卡的ROM中。当计算机开始启动时,BIOS将PXE客户端调入内存运行,PXE客户端通过网络下载放在远端的文件在本地运行。运行PXE协议需要设置DHCP服务器和TFTP服务器。DHCP服务器用于为PXE客户端(需要安装系统的主机)分配IP地址。由于它正在为PXE客户端分配IP地址,因此在配置DHCP服务器时需要添加相应的PXE设置!此外,TFTPClient已经存在于PXE客户端的ROM中。PXE客户端通过TFTP协议从TFTPServer下载所需文件!


    KickStart是一种无人值守的安装方法。KickStart的工作原理是记录典型安装过程中需要人工干预的各种参数,生成一个名为ks.cfg的文件;在后续的安装过程中(不限于生成KickStart安装文件的机器),当需要填写参数时,安装程序会先寻找KickStart生成的文件,当找到合适的参数时,就会使用找到的参数。当没有找到合适的参数时,需要安装人员的手动干预。这样,如果KickStart文件涵盖了安装过程中需要填写的所有参数,安装人员只需告诉安装人员从哪里获取ks.cfg文件,然后就可以各忙各的了。安装完成后,安装程序将根据ks.cfg中设置的重启选项重启系统,并结束安装。

    实战:PXE批量部署linux *** 作系统 前言

    在真实的生产环境中,如果遇到很多新上线的服务器,安装系统是一件很麻烦的事情,工作效率很低,机房辐射又那么大。如果我们掌握了批量安装的技巧,我们可以在一个小时内解决上百个甚至更多的系统安装。先说Kickstart+PXE自动部署,补鞋匠稍后更新。请记得注意。

    部署dhcp服务

    安装dhcp服务器,关闭selinux和iptables。

    [root@localhost~]#setenforce0      #设置selinux为permissive模式    
    [root@localhost~]#getenforce
    Permissive
    [root@localhost~]#serviceiptablesstop #关闭防火墙

    [root@localhost~]#yum-yinstalldhcp              #安装
    [root@localhost~]#rpm-qldhcp|grep"dhcpd.conf"         #检查
    [root@localhost~]#cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample/etc/dhcp/dhcpd.conf
    cp:overwrite`/etc/dhcp/dhcpd.conf'?y
    [root@localhost~]#vim/etc/dhcp/dhcpd.conf            #配置

    配置dhcp服务器

    ddns-update-stylenone;  #不进行DDNS的更新
    ignoreclient-updates;  #不允许客户机更新DNS记录

    subnet192.168.1.0netmask255.255.255.0  #与下面的range配合声明可分配IP的范围
    {
        optionrouters192.168.1.1;    #设置网关
        range192.168.1.110192.168.1.120; #可分配的起始IP结束IP
        optionsubnet-mask255.255.255.0;   #设定netmask
        default-lease-time21600;       #设置默认的IP租用期限
        max-lease-time43200;        #设置最大的IP租用期限
        next-server192.168.1.2;     #用来告知主机TFTP服务器的ip
        filename"/pxelinux.0";   #tftp服务器根目录下面的文件名(pxelinux.0是PXE专用的一个bootloader文件)
    }

    启动服务

    [root@localhost~]#servicedhcpdstart           #启动
    [root@localhost~]#chkconfigdhcpdon           #设置开机启动
    [root@localhost~]#netstat-nlptu|grepdhcp         #检查服务
    [root@localhost~]#sed-i's/DHCPDARGS=/DHCPDARGS=eth1/g'/etc/sysconfig/dhcpd  #仅在eth1上提供dhcp服务
    [root@localhost~]#sed-i's/net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g'/etc/sysctl.conf&&sysctl-p #开启路由功能
    HTTP服务 [root@localhost~]#yum-yinstallhttpd          #安装
    [root@localhost~]#chkconfighttpdon           #开机自启动
    [root@localhost~]#servicehttpdstart           #启动服务
    [root@localhost~]#mkdir-p/var/www/html/os/6        #创建挂载目录
    [root@localhost~]#mount/dev/cdrom/var/www/html/os/6     #挂载系统镜像
    TFTP服务 [root@localhost~]#yum-yinstalltftp-server          #安装
    [root@localhost~]#vim/etc/xinetd.d/tftp            #配置
    servicetftp
    {
        socket_type        =dgram
        protocol         =udp
        wait          =yes
        user          =root
        server         =/usr/sbin/in.tftpd
        server_args       =-s/tftpboot    #指定默认目录
        disable        =no          #由原来的yes,改为no
        per_source       =11
        cps          =1002
        flags         =IPv4
    }
    复制PXE启动时需要的文件 [root@localhost~]#yum-yinstallsyslinux #安装引导程序(提pxelinux.0文件)
    [root@localhost~]#cp/usr/share/syslinux/pxelinux.0/tftpboot/       #复制引导文件到TFTP的根目录
    [root@localhost~]#cp/usr/share/syslinux/{vesamenu.c32,boot.msg,splash.jpg}/tftpboot/
    [root@localhost~]#cp/var/www/html/os/6/p_w_picpaths/pxeboot/vmlinuz/tftpboot/  
    [root@localhost~]#cp/var/www/html/os/p_w_picpaths/pxeboot/initrd.img/tftpboot/
    [root@localhost~]#mkdir-p/tftpboot/pxelinux.cfg       
    [root@localhost~]#cp/var/www/html/os/6/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default  #拷贝启动菜单
    修改引导启动菜单 [root@localhost~]#vim/tftpboot/pxelinux.cfg/default                 
    //然后修改下22行(即在后面添加ks=http://192.168.1.2/ks.cfgksdevice=eth0ip=dhcp)。第22行的意思是使安装程序通过http服务器访问kickstart文件。
    #配置文件
    labellinux
     menulabel^Installorupgradeanexistingsystem
     menudefault
     kernelvmlinuz
     appendinitrd=initrd.imgks=http://192.168.1.2/ks.cfgksdevice=eth0ip=dhcp

    //检测文件
    [root@localhost~]#chmod644/tftpboot/pxelinux.cfg/default          #设置文件权限
    [root@localhost~]#ls/var/lib/tftpboot   #检查
    boot.msg initrd.img pxelinux.0 pxelinux.cfg splash.jpg vesamenu.c32 vmlinuz
    配置kickstart自动安装文件(ks.cfg) [root@localhost~]#yum-yinstallsystem-config-kickstart #建议在图形化界面内安装配置
    [root@localhost~]#echo$LANG
    en_US.UTF-8
    [root@localhost~]#.UTF-8
    [root@localhost~]#system-config-kickstart

    图形界面配置:(在终端运行system-config-kickstart命令)图形界面不做介绍,可以中文设置,和安装的选项没什么区别(保存到/var/www/html/directory)。在前端引导菜单中指定。

    作者的ks.cfg我是通过系统-配置-kickstart做出来的。

    #platform=x86,AMD64,或IntelEM64T
    #version=DEVEL
    #Firewallconfiguration  
    firewall--disabled          #禁止防火墙
    #InstallOSinsteadofupgrade
    install                #告知安装程序,这是一次全新安装,而不是升级
    #Usenetworkinstallation
    url--url="http://192.168.1.2/os/6"
    #Rootpassword
    rootpw--iscrypted$1$H8k1EIfB$BD1WyfZ4SkDNsypX1jjgR0 #设定root的密码
    #Systemauthorizationinformation
    auth --useshadow --passalgo=sha512  #设置密码加密方式为sha512启用shadow文件
    #Usetextmodeinstall
    text                  #使用文本模式安装
    firstboot--disable          #禁止firstboot,firstboot就是我们使用图形化安装完系统,重启后有一个初始设置
    #Systemkeyboard
    keyboardus              #使用美式键盘
    #Systemlanguage
    langen_US               #默认语言是英语
    #SELinuxconfiguration
    selinux--disabled           #禁止selinux
    #Installationlogginglevel
    logging--level=info          #设定安装过程中的日志级别
    #Rebootafterinstallation
    reboot                 #设定安装完成后重启
    #Systemtimezone
    timezone Asia/Shanghai        #设置时区
    #Networkinformation
    network --bootproto=dhcp--device=eth0--onboot=on#设置安装完成后的网络
    #Systembootloaderconfiguration
    bootloader--location=mbr
    #CleartheMasterBootRecord
    zerombr                #清空mbr
    #Partitionclearinginformation
    clearpart--all--initlabel      #清空所有分区
    #Diskpartitioninginformation
    part/boot--fstype="ext4"--size=200 #新建/boot分区
    partswap--fstype="swap"--size=2048 #新建swap分区
    part/--fstype="ext4"--grow--size=1 #新建swap分区

    %post
    #加上优化脚本
    mkdir/shell
    cd/shell
    /usr/bin/wgethttp://192.168.1.2/shell.tar.gz
    /bin/tar-zxfshell.tar.gz
    /bin/sh*.sh
    %end
    #安装包我选择的是Basic模式,添加了中文支持
    %packages
    @base
    @chinese-support
    @development
    @kde-desktop

    %end

    注意:如果您自己为ks.cfgroot生成密码

    grub-crypt              #密方式为sha512生成的密码
    Password:rhce
    Retypepassword:rhce
    $6$QHOksakPohOoVUL9$CNCHfAMYDZZZzZixAGGKCWdPkK8qVvpRk9DkaDOJtrRXlJkzk5GHMZ9zqCTdr8Qiozl9qHOVT5XnbGaZKt06d0
    装机测试

    创建新的虚拟机。如果没有,千万不要把网卡设置在第一位,否则会一直重装。客户端必须能够获得分配的地址。

    安装成功,登录界面



    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/zz/778411.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存