美文网首页Linux
pxe+kickstart部署多个版本的linux实现无人值守安

pxe+kickstart部署多个版本的linux实现无人值守安

作者: cf6d95617c55 | 来源:发表于2018-11-14 22:19 被阅读1次

    系统环境

    实验环境:vwamre 10
    系统环境:CentOS release 6.6 (Final)

    安装步骤

    1、准备工作:关闭防火墙和SElINUX
    [root@alanlin /]# service iptables stop#关闭当前系统防火墙
    [root@alanlin /]# chkconfig iptables off #关闭防火墙开机启动
    [root@alanlin /]# service iptables status#查看防火墙的状态
    [root@alanlin /]# sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
    [root@alanlin /]# setenforce 0
    
    2、配置DHCP服务
    [root@alanlin /]# yum -y install dhcp
    [root@alanlin /]# cp -f /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf 
    [root@alanlin /]# vi /etc/dhcp/dhcpd.conf
    
    
    option domain-name "example.org";
    option domain-name-servers ns1.example.org, ns2.example.org;
    
    #default-lease-time 600;#默认租约期限
    #max-lease-time 7200;#最长租约期限
    #log-facility local7;#日志反动地址
    allow booting;
    allow bootp;
    
    
    subnet 192.168.35.0 netmask 255.255.255.0 {
            range 192.168.35.200 192.168.35.210;  # 可分配的起始IP-结束IP
            option subnet-mask 255.255.255.0;     # 设定netmask
            option routers 192.168.35.1;          # 客户端的默认网关的地址
            default-lease-time 21600;             # 设置默认的IP租用期限
            max-lease-time 43200;                 # 设置最大的IP租用期限
            next-server 192.168.35.129;           # 告知客户端TFTP服务器的ip
            filename "pxelinux.0";                # 告知客户端从TFTP根目录下载pxelinux.0文件
    }
    
    设置开机自启动,启动DHCP
    [root@alanlin ~]# service dhcpd start
    [root@alanlin ~]# chkconfig dhcpd on
    查看DHCP端口是否启动
    [root@alanlin ~]# ss -nltup  | grep 67
    
    3、配置FTP(共享文件)服务
    [root@alanlin ~]# yum install -y vsftpd
    设置开机自启动,启动FTP服务
    [root@alanlin ~]# chkconfig vsftpd on
    [root@alanlin ~]# service  vsftpd start
    查看FTP端口是否启动
    [root@alanlin ~]# ss -lntup | grep vsftpd
    
    准备好centos6和centos7的光盘镜像文件
    在mnt下创建不同挂载点,挂载镜像
    [root@alanlin ~]# mkdir -p /mnt/{6,7} #在mnt下创建不同挂载点,挂载镜像
    [root@alanlin ~]# mkdir -p /var/ftp/{Centos6.6,Centos7.2} #在ftp下创建不同目录
    [root@alanlin ~]# mount  /dev/cdrom  /mnt/6/ -o loop #挂载Centos6.6光盘
    [root@alanlin /]# cp -a /mnt/6/* /var/ftp/Centos6.6/
    [root@alanlin ~]# mount  /dev/cdrom  /mnt/7/ -o loop #挂载Centos7.2光盘
    [root@alanlin /]# cp -a /mnt/7/* /var/ftp/Centos7.2/
    

    浏览器测试是否可以通过ftp服务访问:


    QQ截图20181114220719.png
    4、配置Kickstart一键安装应答文件

    生成kickstart配置文件的三种方法
    方法1:每安装好一台Centos机器,Centos安装程序都会创建一个kickstart配置文件,记录你的真实安装配置。
    方法2:Centos提供了一个图形化的kickstart配置工具。在任何一个安装好的Linux系统上运行该工具,就可以很容易地创建你自己的kickstart配置文件。
    方法3:阅读kickstart配置文件的手册。用任何一个文本编辑器都可以创建你自己的kickstart配置文件。

    这里建议选用方法2比较简单,而且不会出错。
    [root@alanlin ~]#yum install system-config-kickstart
    
    创建Centos6.6和7.2各自的ks.cfg文件(通过ftp服务提供给pxe client)
    [root@alanlin ~]# mkdir /var/ftp/ks -p
    [root@alanlin ~]# touch /var/ftp/ks/cnetos{6.6,7.2}_ks.cfg
    给ks.cfg文件加上读权限
    [root@alanlin ~]# chmod +r /var/ftp/ks/cnetos{6.6,7.2}_ks.cfg
    
    5、配置tftp服务器
    [root@alanlin ks]# yum -y install tftp-server tftp xinetd
    设置开机自启动
    [root@alanlin ~]# chkconfig xinetd on
    [root@alanlin ~]# sed -i '14s/yes/no/' /etc/xinetd.d/tftp
    [root@alanlin ~]# service xinetd restart
    
    6、配置支持PXE的引导加载程序

    PXE引导配置(bootstrap)
    syslinux是小型的Linux操作系统,而且兼容各种介质。这个功能强大的引导加载程序,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。

    [root@alanlin]# yum -y install syslinux-tftpboot
    复制启动菜单程序文件,将内核文件和initrd文件加入tftp下不同的引导目录中
    注:因为是多系统引导安装,所以创建两个不同版本的文件夹,存放不同的引导文件
    [root@alanlin ~]# mkdir -p /var/lib/tftpboot/Centos{6,7}
    [root@alanlin ~]# cp /var/ftp/Centos6.6/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/Centos6/
    [root@alanlin ~]# cp /var/ftp/Centos7.2/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/Centos7/
    
    制作启动菜单
    在tftpboot目录下创建pxelinux.cfg目录,用于编辑并存放客户端的启动菜单文件
    [root@alanlin tftpboot]# mkdir pxelinux.cfg
    [root@alanlin tftpboot]# touch pxelinux.cfg/default
    [root@alanlin tftpboot]# vim pxelinux.cfg/default
    default vesamenu.c32
    prompt 1
    timeout 600
    
    display boot.msg #boot提示设置文件,可直接vim /var/lib/tftpboot/boot.msg添加自定义提示
    
    menu background splash.jpg
    menu title HQHY PXE BootMenu:InstallCentos6.6 or 7.2!
    menu color border 0 #ffffffff #00000000
    menu color sel 7 #ffffffff #ff000000
    menu color title 0 #ffffffff #00000000
    menu color tabmsg 0 #ffffffff #00000000
    menu color unsel 0 #ffffffff #00000000
    menu color hotsel 0 #ff000000 #ffffffff
    menu color hotkey 7 #ffffffff #ff000000
    menu color scrollbar 0 #ffffffff #00000000
    
    label 1、Install Centos6.6
      menu label ^Install Centos6.6
      kernel Centos6/vmlinuz
      append initrd=Centos6/initrd.img text ks=ftp://192.168.35.129/ks/centos6.6_ks.cfg
    
    label 2、Install Centos7.2
      menu label ^Install Centos7.2
      kernel Centos7/vmlinuz
      append initrd=Centos7/initrd.img text ks=ftp://192.168.35.129/ks/centos7.2_ks.cfg
    

    到此基本完成所有的配置,只要把客户端和pxe连接在同一个局域网,并且利用网络启动就可以进入安装的界面。亲自验证过此教程可以成功的

    相关文章

      网友评论

        本文标题:pxe+kickstart部署多个版本的linux实现无人值守安

        本文链接:https://www.haomeiwen.com/subject/unpsfqtx.html