Linux

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

2018-11-14  本文已影响1人  cf6d95617c55

系统环境

实验环境: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连接在同一个局域网,并且利用网络启动就可以进入安装的界面。亲自验证过此教程可以成功的

上一篇下一篇

猜你喜欢

热点阅读