Linux的自动装机服务器搭建(持续优化)

您所在的位置:网站首页 linux装机工具 Linux的自动装机服务器搭建(持续优化)

Linux的自动装机服务器搭建(持续优化)

2023-12-10 02:19| 来源: 网络整理| 查看: 265

一、部署DHCP服务和相关原理 1、DHCP原理

DHCP即动态配置协议,用于TCP/IP网络中的计算机自动分配TCP/IP参数的协议。

客户机请求IP: 1、客户机通过DHCP获取一个合法的地址。 2、DHCP客户机通过广播方式来发送DHCP Discover 发现信号寻找DHCP服务器。 服务器响应: 服务器收到客户机请求IP时在IP地址池中查找是否有合法的IP地址提供给客户机。如果有合法的IP地址,DHCP服务器就会在这个IP地址上做标记,加入在DHCP Offer的消息中,再广播一则DHCPoffer。 服务器确定租约: DHCPServer接收DHCRequest消息后,DHCPACK消息向客户段广播确认,包含IP地址和有效租约和其它可配置信息。 客户机收到ACK时配置IP地址完成一个TCP/IP的初始化。

在这里插入图片描述

2、DHCP服务的部署 a、安装DHCP服务 ### 安装DHCP服务 yum -y install dhcp b、修改DHCP配置文件 ### 其中的配置文件:dhcpd.conf(复制这个模板:dhcpd.conf.example) ### 修改配置文件: cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf vim /etc/dhcp/dhcpd.conf # 指定默认的一个域名 option domain-name "YGB.com"; # 指定DNS的地址 option domain-name-servers 8.8.8.8, 202.106.148.1; # 默认租约时间和最大租约时间 default-lease-time 21600; max-lease-time 21600; # 禁止DNS动态更新 ddns-update-style none; # 网段声明:作用子网段,优先级高于全局配置参数 subnet 192.168.88.0 netmask 255.255.255.0 { range 192.168.88.100 192.168.88.144; option routers 192.168.88.254; } # 模板文件为:/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example c、重启服务 ### 重启服务 systemctl restart dhcpd 二、部署PXE远程服务

PXE远程安装服务器集成了CentOS 7安装源、TFTP服务、DHCP服务、FTP服务,能够向客户机裸机发送 PXE引导程序、Linux内核、启动菜单等数据,以及提供安装文件。

在这里插入图片描述

网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统

PXE批量部署的优点 1、规模化:同时装配多台服务器 2、自动化:安装系统、配置各种服务 3、远程实现:不需要光盘、U盘等安装介质,也能保障服务器安全

搭建PXE网络体系所需条件 1、客户机的网卡要支持PXE协议(集成BOOTROM芯片),且主板支持网络引导。一般大多数服务器都支持,只需要在BIOS设置中允许从Network或LAN启动即可。 2、网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置。 3、服务器要通过TFTP服务(简单文件传输协议)来提供引导镜像文件的下载。 一台Linux系统作为服务器虚同时提供,DHCP服务和TFTP服务,创建安装源,向客户端发送PXE引导程序,Linux内核,启动菜单自动来安装系统指令.

TFTP(简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP 端口69。

0、PXE服务器的工作原理

PXE是远程引导技术,前身为RPL远程启动服务,但是PRL为静态路由,PXE为动态路由。 RPL:向服务器发送的一个数据帧(网卡ID和其它数据记录),而服务器那边也同样记录了这个网卡ID,匹配成功后,就能远程启动。 PXE:是根据工作站中网卡的MAC地址来接收DHCP服务器分配给该MAC地址(网段)一个指定的IP地址,但是该客户端每次重启后的IP可能不同,因为是动态分配IP地址。

在这里插入图片描述

PXE客户端中的BootROM自启动芯片会获取控制权,然后广播得方式发送请求FIND的数据帧到DHCP服务器。DHCP收到请求后,会回应PXE客户端,发送IP地址。PXE就会到TFTP服务器获取预设通讯通道和开机映射文件。TFTP服务器就会回应PXE传输相应的镜像引导文件。PXE会主动将自动应答文件传输给客户端(自动装机)客户端会根据PXE的镜像引导文件完成自动安装操作系统。 1、安装TFTP服务并启动

TFTP(简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP端口69;

### 安装TFTP服务(默认不存在该服务需更新yum仓库) yum -y install tftp-server.x86_64 xinetd ### xineta是新一代的网络守护进程服务程序,又叫超级服务器,常用来管理多种轻量级Internet服务。 ### 修改配置文件:/etc/xinetd.d/tftp vim /etc/xinetd.d/tftp protocol = udp # 表示TFTP传输协议:UDP wait = no # no表多台客户机可连接,yes只能一台 server_args = -s /var/lib/tftpboot # 指定TFTP根目录 disable = no # no开启TFTP服务,yes关闭 2、安装启用DHCP服务 ### 复制DHCP配置文件:修改 cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example >> /etc/dhcp/dhcpd.conf # dhcpd.conf # 指定默认的一个域名 option domain-name "YGB.com"; # 指定DNS的地址 option domain-name-servers 8.8.8.8, 202.106.148.1; # 默认租约时间和最大租约时间 default-lease-time 21600; max-lease-time 21600; # 禁止DNS动态更新 ddns-update-style none; # 指定TFTP服务器地址 next-server 192.168.88.11; # 指定PXE下载的引导程序文件 filename "pxelinux.0"; # 网段声明:作用子网段,优先级高于全局配置参数 subnet 192.168.88.0 netmask 255.255.255.0 { range 192.168.88.100 192.168.88.144; option routers 192.168.88.11; } # 默认网关为TFTP服务器地址:IP # 模板文件为:/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example ###################################################333 3、准备Linux内核和初始化镜像文件 ### 挂载镜像的基础上进行 ## 内核文件复制 cp /CD/images/pxeboot/vmlinuz /var/lib/tftpboot/ cp /CD/images/pxeboot/initrd.img /var/lib/tftpboot/ 4、PXE引导程序, ### 安装PXE引导程序 yum -y install syslinux ## PXE引导程序复制 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 5、FTP程序来指定安装镜像源 ### 安装ftp服务 yum -y install vsftpd ### 创建一个镜像目录,复制镜像文件 mkdir /var/ftp/CentOS7/ cp -rf /CD/* /var/ftp/CentOS7/ 6、配置启动引导文件 ### 创建引导文件目录,并配置编辑引导文件 mkdir /var/lib/tftpboot/pxelinux.cfg vim /var/lib/tftpboot/pxelinux.cfg/default # 引导文件 default auto prompt 1 # 设置为 0 可自动选择进行安装,1 需手动选择 label auto kernel vmlinuz append initrd=initrd.img method=ftp://192.168.88.11/centos7 label linux text kernel vmlinuz append text initrd=initrd.img method=ftp://192.168.88.11/centos7 7、启动服务 ### 启动相关的服务, systemctl start tftp #开启ftp服务 systemctl enable tftp #开启ftp服务开机自启 systemctl start xinetd #开启xinetd服务 systemctl enable xinetd #开启xinetd服务开机自启 ### 安装system-config-kickstart 工具,来制作ks.cfg文件指定自动安装系统 yum install -y system-config-kickstart 8、指定自动装机模板文件 a、图形化界面 ### 安装的 system-config-kickstart 就是为了生成ks.cfg文件 cat ks.cfg # 图形化系统自动装机部署 #platform=x86, AMD64, or Intel EM64T #version=DEVEL # Install OS instead of upgrade install # Keyboard layouts keyboard 'us' # Root password rootpw --iscrypted $1$AMNeYVTl$OWkIzU5K5dZm/9n2cv0vi1 # Use network installation url --url="ftp://192.168.88.11/centos7" # System language lang en_US # System authorization information auth --useshadow --passalgo=sha512 # Use graphical install graphical firstboot --disable # SELinux configuration selinux --disabled # Firewall configuration firewall --disabled # Network information network --bootproto=dhcp --device=ens32 # Reboot after installation reboot # System timezone timezone Asia/Shanghai # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --fstype="xfs" --size=500 part swap --fstype="swap" --size=4096 part /home --fstype="xfs" --size=4096 part / --fstype="xfs" --grow --size=1 %post --interpreter=/bin/bash rm -rf /etc/yum.repos.d/* echo '[local] name=local baseurl=ftp://192.168.88.11/CentOS7 enabled=1 gpgcheck=0' > /etc/yum.repos.d/local.repo %end %packages @^gnome-desktop-environment @base @core @desktop-debugging @development @dial-up @directory-client @fonts @gnome-desktop @guest-agents @guest-desktop-agents @input-methods @internet-browser @java-platform @multimedia @network-file-system-client @networkmanager-submodules @print-client @security-tools @system-admin-tools @x11 chrony %end ### 制定的自动装机模板 cp ks.cfg /var/ftp/ks.cfg ### 完成后需要修改文件, cat /var/lib/tftpboot/pxelinux.cfg/default default auto prompt 0 ### 图形化系统 label auto kernel vmlinuz append initrd=initrd.img method=ftp://192.168.88.11/CentOS7 ks=ftp://192.168.88.11/ks.cfg b、命令行界面 ### 命令行系统自动装机部署:ks1.cfg 配置文件 vim /var/ftp/ks1.cfg #platform=x86, AMD64, or Intel EM64T #version=DEVEL # Install OS instead of upgrade install # Keyboard layouts keyboard 'us' # Root password rootpw --iscrypted $1$AMNeYVTl$OWkIzU5K5dZm/9n2cv0vi1 # Use network installation url --url="ftp://192.168.88.11/centos7" # System language lang en_US # System authorization information auth --useshadow --passalgo=sha512 # Use graphical install graphical firstboot --disable # SELinux configuration selinux --disabled # Firewall configuration firewall --disabled # Network information network --bootproto=dhcp --device=ens32 # Reboot after installation reboot # System timezone timezone Asia/Shanghai # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --fstype="xfs" --size=500 part swap --fstype="swap" --size=4096 part /home --fstype="xfs" --size=4096 part / --fstype="xfs" --grow --size=1 %post --interpreter=/bin/bash rm -rf /etc/yum.repos.d/* echo '[local] name=local baseurl=ftp://192.168.88.11/CentOS7 enabled=1 gpgcheck=0' > /etc/yum.repos.d/local.repo %end %packages @^minimal @compat-libraries @core @debugging @development @security-tools @smart-card @system-admin-tools chrony %end 三、部署NFS共享存储服务 1、安装服务 ### 检测是否安装nfs-utils、rpcbind,无则安装 rpm -q rpcbind nfs-utils yum -y install nfs-utils rpcbind 2、创建目录修改权限

权限:客户端远程访问目录文件的权限。

### 创建共享目录,并设置访问权限 mkdir -p /NFS chmod 777 /NFS 3、指定共享目录 ### 指定共享目录,以及权限指定 vim /etc/exports /NFS 192.168.88.0/24(rw,sync,no_root_squash) # sync同步写入内存硬盘,no_root_squash输出目录为子目录不检查父目录权限 /NFS1 192.168.88.12(ro) 192.168.88.13(rw) /NFS2 *(rw,sync) # 指定所有主机可同步目录 ### 启动NFS服务程序 systemctl restart rpcbind systemctl restart nfs systemctl enable rpcbind systemctl enable nfs 4、测试 ### 查看本机NFS共享目录 exportfs -rv # 发布共享 showmount -e 5、客户机安装 ### 客户机中访问NFS共享目录 ## 安装nfs-utils、rpcbind yum -y install nfs-utils rpcbind systemctl enable rpcbind 6、客户机远程访问挂载 ### 查看NFS服务器上的共享目录 showmount -e 192.168.88.11 ### 手动挂载 NFS共享目录 mount 192.168.88.11:/NFS /CD mount # 确认挂载结果,df -Th

在这里插入图片描述

总结 1、PXE自动装机服务器 步骤: 1、安装TFTP服务并启动 2、安装启用DHCP服务 3、准备Linux内核和初始化镜像文件 4、安装PXE引导程序 5、FTP程序来指定安装镜像源 6、配置启动引导文件 7、启动服务 8、指定自动装机模板文件 2、NFS共享存储服务器 步骤: 1、安装服务nfs-utils、rpcbind 2、创建目录修改权限 3、指定共享目录 4、测试 5、客户机安装 6、客户机远程访问挂载


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3