zoukankan      html  css  js  c++  java
  • kickstart自动化安装

    preboot execute environment预启动执行环境--intel开发的技术,计算机可以通过pxe协议从网络引导启动。

    工作模式为客户端/服务器端的c/s模式

    客户端从远端服务器下载镜像,并支持通过网络启动操作系统(启动过程,客户端要求服务器端分配ip地址,再用TFTP或MTFTP协议下载一个启动软件包到客户端内存中执行)

    为了节省时间和成本,使用kickstart+PXE自动化安装部署来解决数百台服务器的系统,版本一致。

    架构:DHCP+NFS+TFTP+PXE+kickstart

    需要安装的服务:dhcp,tftp,nfs,kickstart(一个配置文件)等

    前提:1.客户端开启pxe功能2.如是虚拟机环境,建议分配内存2g以上,太小可能会出现下面问题:

    #服务器端:

    1.挂载镜像

    2.DHCP安装:

    yum install dhcp* -y

    配置dhcp:vi /etc/dhcp/dhcpd.conf

    #有一个dhcpd.conf.sample的文件可以参考

     

    如果dhcp地址池用完,可以用echo ""> /var/lib/dhcpd/dhcpd.leases释放掉地址 

    3.TFTP安装:

    yum install tftp* -y

    配置tftp服务:vi /etc/xinetd.d/tftp

    disable=yes改为no

    #tftp基于xinetd.d的服务启动

    4.配置TFTPBOOT+PXE配置

    要实现远程安装系统,需要在TFTPBOOT目录指定相关PXE内核模块及相关参数。

    #系统是5,默认tftpboot目录自动创建到/目录下

    #系统是6,默认tftpboot目录在/var/lib/下,需要centos6.x需要软链接到/目录下

    #yum install syslinux

    #先用find命令查找pxelinux.0文件,如果没有执行上面的命令

    cp /usr/share/syslinux/pxelinux.0 /tftpboot

    #拷贝到tftpboot目录下

    引导文件pxelinux.0

    syslinux是一个功能强大的引导加载程序,而且兼容各种介质。更加确切地说:SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。

    将镜像中的文件拷贝出来:

    cp /mnt/images/pxeboot/vmlinuz /tftpboot/

    cp /mnt/images/pxeboot/initrd.img /tftpboot/

    拷贝初始化引导文件,内核到tftpboot目录下

    在tftpboot目录下

    mkdir -p pxelinux.cfg

    # 参数:-p 确保目录名称存在,如果目录不存在,就新创建一个

    cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

    拷贝isolinux.cfg配置文件并重命名为default,系统安装的时候会根据此文件的配置启动相应的选项

    类似一个菜单:

    ........

    #注意可能需要给default文件添加权限chmod 777这样

    加入:

    label centos7.8//centos7.8标签

    kernel vmlinuz//内核文件

    append ks=nfs:kickstart服务器的ip地址:/centosinstall/ks.cfg ksdevice=eth0 initrd=initrd.img

    #/centosinstall是nfs共享linux镜像的目录,也是linux存放安装文件的路径

    #ks.cfg是kickstart主配置文件

    #设置timeout 10,超时时间为10s

    #ksdevice=eth0代表客户端从eth0安装操作系统--用于多个网卡的服务器,vm环境下可以不用这个

    由于安装7.8的centos版本,安装后是ens33

     

    #default文件 将default后的 改为centos7.8,就可以默认引导到centos7.8这个标签来,就不需要在安装的时候输入centos7.8

     #客户端:

    5.配置nfs

    nfs传镜像文件--默认已经安装

    mkdir -p /centosinstall

    cp -rf /mnt/* /centosinstall

    #把镜像文件都拷贝到centosinstall目录下

    并在nfs配置文件/etc/exports添加

    /centosinstall   *(rw,sync)

    #centosinstrall为共享目录,rw,sync允许任何主机访问

    #注意/centosinstall目录要有读写权限

    6.kickstart配置

    #配置kickstart,一个是可以使用system-kickstart系统软件包来配置,也可以直接拷贝/root/目录下的anaconda-ks.cfg到刚分享的/centosinstall目录下,并重命名为ks.cfg

    anaconda-ks.cfg文件:

    #chmod 777 ks.cfg

    #根据需要修改ks文件:

    #clearpart --all --initlabel//初始化所有磁盘

     ks.cfg文件可分三部分:命令部分,软件部分,脚本部分

    其中脚本部分:

    %pre:预安装脚本(由于只依赖于启动镜像,支持的命令很少)
    %post:后安装脚本(基本支持所有命令)

    在%post中如果加入wget的命令,就要在%packages中加入wget包;另外,如在windows系统写的脚本,可能存在 的字符问题,可以在linux上用vi/vim命令打开脚本文件,输入“:set fileformat=unix”,回车,保存退出。

    #浪潮服务器在安装系统过程中,发现在dd后,系统无法起来,解决方法:在ks.cfg文件中增加

    ignoredisk --only-use=sda 

    重启服务

    /etc/init.d/nfs restart

    /etc/init.d/xinetd restart

    /etc/init.d/dhcpd restart

    启动客户端:dhcp获取到地址。输入引导的是centos7.8

     

  • 相关阅读:
    大四实习几个课题
    Keil 4 与Proteus 7.8联调
    局域网共享
    win 8.1 网卡
    路由器无线桥接 router wireless bridge
    系统对话框alert-prompt-confirm
    处理浏览器兼容性
    pageX--clientX--scrollLeft-clientLeft-offsetWidth
    处理注册事件的兼容性问题
    处理innerText的兼容性问题
  • 原文地址:https://www.cnblogs.com/lianyg/p/9583739.html
Copyright © 2011-2022 走看看