Linux-Day14.自动批量装机

今日目标:

DHCP

TFTP

FTP

课前准备:

1.SELinux 宽松模式

root@svr1 \~# getenforce

Permissive

2.关闭防火墙

root@svr1 \~# systemctl status firewalld

● firewalld.service - firewalld - dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)

Active: inactive (dead)

Docs: man:firewalld(1)

root@svr1 \~#

3.yum自定义仓库

一、网络装机概述

网络装机的优势:

----规模化:同时装多台主机

----自动化:装系统,配置各种服务

----远程实现:不需要光盘,U盘等物理安装介质

----开机启动项:

1.本地硬盘 2.光驱设备 3.U盘 4.网络引导安装

  • PXE 网络

----PXE 预启动执行环境,可用于远程安装

----DHCP 分配ip地址,定位引导程序

----TFTP 提供引导程序

----HTTP (FTP/NFS) 提供yum安装源

-----条件:

网卡芯片必须支持PXE协议

主板支持从网卡驱动

二、构建装机服务

① DHCP

1、配置DHCP

dhcp动态主机配置协议,用于简化主机地址分配管理

-----主要相关参数:ip地址 子网掩码 广播地址 默认网关地址 DNS服务器地址

dhcp过程:

discover--------offer-------Request--------ACK

服务器端概念:

租期:允许客户机租用ip地址,单位为秒

作用域:分配给客户机的地址网段

地址池:用于动态分配ip地址所在范围

2、部署DHCP服务

1>装包

root@svr1 \~# yum -y install dhcp

root@svr1 \~# rpm -q dhcp

dhcp-4.2.5-82.el7.centos.x86_64

2>配置文件 /etc/dhcp/dhcpd.conf

模板位置:/usr/share/doc/dhcp*/dhcpd.conf.example

追加内容方式1.

root@svr1 doc# cat /usr/share/doc/dhcp*/dhcpd.conf.example >> /etc/dhcp/dhcpd.conf

追加内容方式2:

root@svr1 doc# vim /etc/dhcp/dhcpd.conf

修改配置文件:

root@svr1 \~# vim /etc/dhcp/dhcpd.conf

pxelinux.0 网卡引导文件

3>启服务

root@svr1 doc# systemctl start dhcpd

root@svr1 doc# systemctl status dhcpd

② tftp服务

ftp:文本传输协议 21

tftp:简单的文件传输协议 69

共享的主目录: /var/lib/tftpboot

1>装包

root@svr1 \~# yum -y install tftp-server

2>部署pxelinux.0文件

root@svr1 \~# yum provides */pxelinux.0

root@svr1 \~# yum -y install syslinux

root@svr1 \~# rpm -ql syslinux | grep pxelinux.0

root@svr1 \~# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

root@svr1 \~# ls /var/lib/tftpboot/

3>部署菜单文件

root@svr1 \~# df -h (查看光盘的挂载点)

root@svr1 \~# ls /mnt

root@svr1 \~# mkdir /var/lib/tftpboot/pxelinux.cfg

root@svr1 \~# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

4> 部署图形模块和背景图片

root@svr1 \~# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot

5>部署启动内核和驱动程序

root@svr1 \~# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot

6>修改default下面的文件

③ 构建FTP服务

ftp:文件传输协议 端口 21

数据共享目录 /var/ftp/

1>装包启服务

root@svr1 \~# yum -y install vsftpd

root@svr1 \~# systemctl restart vsftpd

root@svr1 \~# systemctl status vsftpd

2>建立挂载点

root@svr1 \~# mkdir /var/ftp/centos

root@svr1 \~# umount /mnt

root@svr1 \~# df -h

root@svr1 \~# mount /dev/cdrom /var/ftp/centos/

mount: /dev/sr0 写保护,将以只读方式挂载

root@svr1 \~# ls /var/ftp/centos/

root@svr1 \~# curl ftp://192.168.4.7/centos/

④ 实现无人值守安装,生成应答文件

1>生成应答文件

root@svr1 \~# yum -y install system-config-kickstart

root@svr1 \~# system-config-kickstart (不可以用远程,因为要打开图形化界面所以在本机上运行)

2>利用FTP服务共享应答文件

root@svr1 \~# ls /root

anaconda-ks.cfg linux.txt named.conf tools 公共 视频 文档 音乐

ks.cfg merge.txt original-ks.cfg tools.tar.gz 模板 图片 下载 桌面

root@svr1 \~# cp /root/ks.cfg /var/ftp/

root@svr1 \~# ls /var/ftp

centos ks.cfg pub

root@svr1 \~# curl ftp://192.168.4.7/ks.cfg

3>修改菜单文件

root@svr1 \~# vim /var/lib/tftpboot/pxelinux.cfg/default

三、检测装机步骤

就可以装机啦啦啦啦啦啦啦!

撒花撒花💞

总结:

1、关闭防火墙,SELinux

root@svr1 \~# systemctl stop firewalld

root@svr1 \~# systemctl status firewalld

root@svr1 \~#getenforce

2、重启服务 DHCP TFTP

root@svr1 \~# systemctl start dhcpd

root@svr1 \~# systemctl start tftpd

3、DHCP的配置文件

root@svr1 \~# systemctl restart dhcpd

4、配置六项内容

5、配置菜单文件

6、构建ftp,提供软件包

root@svr1 \~# yum -y install vsftpd

root@svr1 \~# systemctl restart vsftpd

root@svr1 \~# mkdir /var/ftp/centos

root@svr1 \~# mount /dev/cdrom /var/ftp/centos/

mount: /dev/sr0 写保护,将以只读方式挂载

root@svr1 \~# ls /var/ftp/centos/

7、生成应答文件

root@svr1 \~# yum -y install system-config-kickstart

root@svr1 \~# system-config-kickstart

root@svr1 \~# cp /root/ks.cfg /var/ftp/

8、修改菜单文件

root@svr1 \~# vim /var/lib/tftpboot/pxelinux.cfg/default

9、实现批量装机

注意:新建的虚拟机内存最少2G,cpu 内核最少2个

相关推荐
阿里云大数据AI技术2 小时前
阿里云 EMR AI 助手正式发布:从问答工具到全栈智能运维助手
运维·人工智能
你好潘先生8 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
orion5719 小时前
Missing Semester Class1:course overview and introduction of shell
linux
SkyWalking中文站1 天前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
程序员老赵1 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
火车叼位1 天前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
vivo互联网技术1 天前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式