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