Linux 系统自动化部署系统( 二 )

DHCP服务器配置文件cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf #拷贝一个范例文件进行更改#注意:DHCP服务器本身采用静态IP必须配置和DHCP网卡的静态IP所在网段的subnet段,否则DHCP服务无法启动(比如自己的ip是10网段 , 首先就要给10网段配置dhcp)#全局配置subnet {host {next-server:提供引导文件的服务器IP地址filename: 指明引导文件名称范例subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.10 192.168.100.100; #指明分配的ip地址范围range 192.168.100.150 192.168.100.200; #每一行需要以分号结束option routers 192.168.100.1; #指定网关next-server 192.168.1.100; #TFTP服务器地址filename "pxelinux.0"; #bootloader启动文件的名称范例:dhcpd.conf#dhcp的配置文件每一行使用分号结束[root@centos8 ~]#grep -v "#" /etc/dhcp/dhcpd.confoption domain-name "magedu.org";option domain-name-servers 180.76.76.76, 223.6.6.6; #指定使用的dnsdefault-lease-time 600; #指定到期的时间max-lease-time 7200;log-facility local7;subnet 10.0.0.0 netmask 255.255.255.0 { #指定给那个网段分配range 10.0.0.10 10.0.0.100; #分配的ip地址范围range 10.0.0.110 10.0.0.200;option routers 10.0.0.2; #指定网关next-server 10.0.0.8; #指定使用的TFTP服务器filename "pxelinux.0"; } #指定需要再tftp服务器上下载的文件host testclient { #给特定的客户端分配的ip地址hardware ethernet 00:0c:29:33:b4:1a; #客户端的mac地址fixed-address 10.0.0.106; #如果是这个客户端就分配这个ip地址default-lease-time 86400; #合约时间max-lease-time 864000;option routers 10.0.0.254; #网关名option domain-name-servers 114.114.114.114,8.8.8.8 ; #dns服务器option domain-name "test.net"; } #域名自动补齐#范例: DHCP服务器给指定主机分配固定IP[root@centos8 ~]#vim /etc/dhcp/dhcpd.confsubnet 10.0.0.0 netmask 255.255.255.0 {range 10.0.0.50 10.0.0.100;range 10.0.0.150 10.0.0.200;option routers 10.0.0.2;next-server 10.0.0.8;filename "pxelinux.0"; }host test {hardware ethernet 00:0c:29:cd:90:10;fixed-address 10.0.0.123;实现TFTP服务TFTP:Trivial File Transfer Protocol  , 是一种用于传输文件的简单高级协议 , 是文件传输协议(FTP)的简化版本 。TFTP使用UDP作为传输层协议 , TFTP使用69/udp这个端口安装和使用TFTP

  • tftp:提供小文件的下载
  • tftp:只需要下载启动起来就行了
实现tftp的软件:
  • tftp-server 服务器包
  • tftp 客户端包
#安装tftp服务器包[root@centos8 ~]#dnf install tftp-server tftp -y[root@Centos8 ~]# rpm -ql tftp-server/usr/lib/systemd/system/tftp.service #tftp service文件/usr/lib/systemd/system/tftp.socket/usr/sbin/in.tftpd #tftp主程序/usr/share/doc/tftp-server/var/lib/tftpboot ##TFTP服务数据目录 数据都放在这个目录下面#启动服务[root@centos8 ~]#systemctl enable --now tftp.service#tftp客户端下载服务端的指定文件tom@ubuntu1804:~$ tftp 192.168.26.129tftp> get aa.txt #下载服务端/var/lib/tftpboot下的某个文件tftp> quit #退出tftptftp> status #连接状态的查看Connected to 192.168.26.129.Mode: netascii Verbose: off Tracing: offRexmt-interval: 5 seconds, Max-timeout: 25 seconds#以下在tftp服务器执行 , 当用户下载文件后 , 可以观察到服务器端自动打开in.tftpd主程序利用 PXE 实现自动化系统部署【Linux 系统自动化部署系统】 
PXE:Preboot Excution Environment , 预启动执行环境 , 是由Intel公司研发
目标:实现基于网络自动化安装系统
利用PXE实现自动化安装流程
PXE网卡:ROM中不但集成了MAC , 还集成了DHCP和TFTP客户端 。
pxelinux.0 就是一个bootloader 。获取pxelinux.cfg文件(grub二阶段 )
Linux 系统自动化部署系统

文章插图
 
在CentOS 8上实现PXE自动化安装CentOS 7,8
  • 配置服务器环境
  • 安装对应的软件包
  • 配置DHCP服务
  • 配置yum私有仓库
  • 准备应答文件
  • 准备菜单文件
安装前准备:
  • 关闭防火墙和SELINUX , DHCP服务器静态IP
  • 网络要求:关闭Vmware软件中的DHCP服务 , 基于NAT模式
安装相关软件包并启动 
dnf -y install dhcp-server tftp-server httpd syslinux-nonlinux(或者syslinux-tftpboot)


推荐阅读