Table of Contents
一.自动安装脚本
对于个人电脑而言,安装操作系统并不困难。只需要将u盘做成启动盘,再在电脑启动时进入安装系统的界面按步骤安装就可以了。但是当需要部署的电脑数量达到几台或几十台甚至几百台时,那样的安装方法显然不现实。因此我们可以尝试自动安装脚本,做好前期工作后,就可以让需要的电脑自动安装操作系统,全程不需要手动操作。
完成自动安装脚本步骤:
一.预先定义操作系统设定
1.切换到超级用户
2.在服务端的主机上安装httpd和system-config-kickstart
httpd服务是为了提供自己想要的操作系统配置。
kickstart是一个定义了Linux安装过程的配置文件,比如要在系统中使用的时区、如何对驱动器进行分区、或者应该安装哪些软件包。有了这个文件 可以解放双手,让Linux安装过程按照我们预先定义的要求进行自动化安装,同时部署大量主机时十分有用。
3.开启服务
systemctl start httpd ##开启httpd服务
systemctl stop firewalld ##关闭防火墙
4.配置设定
system-config-kickstart ##打开自动安装图形界面
1) Basic Configuration ##基本信息的设定
2)Installtion Method ##安装源设定
我们选择http安装源安装
3)Boot Loader Options ###引导设定
选择安装一个新的引导
4) Partition Information ##分区划分
分区大小配置为:
/boot 200MB
swap 500MB
/ 剩余所有
5)Network Configuration ##网络信息设定
6)Authentication ####认证加密方式
7) Firewall Configuration ##火墙信息设定
8)Display Configuration ####图形界面选择
9)Package Selection ####软件包选择
系统有bug,显示空白,说明无法选择要安装的软件包。要安装的软件包可以在配置文件内写入。
10)保存配置文件
设置完成后,将配置文件保存进/var/www/html/目录下
5.修改配置文件
在完成基本设置后,我们可以进入保存的配置文件进行修改。例如之前无法进行软件包选择,也可以在配置文件内写入希望在要安装的系统内安装上的软件。
在文件内写入:
%packages ###需要安装的软件包
dhcp ###安装dhcp
@base ###安装base这个软件组,@表示软件组
%end
写完后,ksvalidator ks.cfg 检查写的内容语法是否正确。但不检查写的内容是否合理。 如果没有报错,说明语法没有问题。
这样就完成了自动安装的脚本。
但到这一步,要安装的主机并不能识别共享的文件。我们可以利用PXE来实现利用网络共享的方式分享预先设置好的操作系统给待安装系统的主机。
二.服务端主机搭建pxe
预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
利用pxe,我们就可以让客户端主机在请求获取IP地址时,接收到指向网络共享资源的设定的命令;从而直接安装预先定义好的操作系统。
1.服务端安装dhcpd、httpd、syslinux、tftp-server,并启动这些服务。关闭火墙。
dhcpd服务可以在服务端分配IP地址时,同时让客户端指向网络共享文件。
syslinux是PXE的软件包。
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。服务端安装tftp-server
2.切换到/var/lib/tftpboot/目录下,配置pxe,将/usr/share/syslinux/pxelinux.0复制到当前目录
3.再将主机http共享目录中的isolinux目录下的所有内容复制到当前目录下
4.然后再将该目录下的isolinux.cfg文件复制到pxelinuc.cfg目录下的default文件中
5.在服务端配置dhcpd服务
在dhcp配置文件内写入:
next-server 172.25.70.250;
filename"pxelinux.0";
代表让请求IP的主机到该IP下的服务端主机寻找文件名为“pxelinux.0”的文件。
6.编辑default文件
之前安装虚拟机时我们会发现,我们安装的按钮并不是默认在第一个的。而且启动时间也有些长。但这些内容可以在cfg镜像的cfg文件中修改。我们也可以修改/var/lib/tftpboot/pxelinux.cfg中的default文件使得我们安装其他主机系统时等待时间短,标题名字变化以及默认菜单改动。
vim /var/lib/tftpboot/pxelinux.cfg/default ###编辑defaul文件
timeout ###等待时间。默认60s,可以修改,缩短等待时间 。
menu title ###标题名字。
menu default ###默认菜单
以及添加
repo=http://172.25.70.250/yang ks=http://172.25.70.250/ks/ks.cfg
这是网络yum源的位置和ks的位置。
修改完成后,我们就可以看到效果了。
安装界面按照修改的显示:
安装进行中:
整个过程都不需要手动进行,全自动运行。解放双手,值得拥有。
利用这种方式,就可以在局域网内同时部署主机了。