设为首页 加入收藏

TOP

Linux 系统自动化部署系统(二)
2023-07-23 13:29:41 】 浏览:59
Tags:Linux
5.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.conf
option domain-name "magedu.org";
option domain-name-servers 180.76.76.76, 223.6.6.6; #指定使用的dns
default-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.conf
subnet 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.129
tftp> get aa.txt  #下载服务端/var/lib/tftpboot下的某个文件
tftp> quit #退出tftp
tftp> status #连接状态的查看
Connected to 192.168.26.129.
Mode: netascii Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds

#以下在tftp服务器执行,当用户下载文件后,可以观察到服务器端自动打开in.tftpd主程序

利用 PXE 实现自动化系统部署

PXE:Preboot Excution Environment,预启动执行环境,是由Intel公司研发
目标:实现基于网络自动化安装系统

利用PXE实现自动化安装流程

PXE网卡:ROM中不但集成了MAC,还集成了DHCP和TFTP客户端。

pxelinux.0 就是一个bootloader。 获取pxelinux.cfg文件(grub二阶段 )
image

在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)

syslinux-nonlinux这个软件包里面提供了pxelinux.0,menu.c32等文件。
menu.c32提供了菜单的功能
配置DHCP服务

配置yum的私有仓库

准备kickstart文件
准备PXE启动相关文件

这些相关文件放在tftp的指定目录下面。( /var/lib/tftpboot/)

[root@centos8 ~]#mkdir /var/lib/tftpboot/centos{6,7,8}
#准备CentOS6,7,8各自的内核相关文件

[root@centos8 ~]#cp /var/www/html/centos/7/os/x86_64/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos7
[root@centos8 ~]#
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇基于容器部署一个web站点 下一篇Linux Shell 自动交互功能

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目