PXE安装部署CentOS7.4
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
1.环境准备
- 操作系统:CentOS Linux release 7.4.1708 (Core)
- 光盘镜像:CentOS-7-x86_64-Everything-1708.iso
- 安装工具:kickstart + dhcp + tftp-server + xinetd+ httpd
- VMware虚拟机
1.1 服务器禁用SELinux,然后进行重启操作
- 查看SELinux状态:sestatus
- 关闭:vim /etc/sysconfig/selinux
1.2 关闭防火墙,设置开机不启动
systemctl status firewalld # 查看防火墙的状态
systemctl stop firewalld # 关闭防火墙
systemctl disable firewalld # 设置开机不启动
systemctl is-enabled firewalld # 查看是否设置开机启动
1.3 软件安装
yum install -y httpd dhcp tftp-server xinetd syslinux system-config-kickstart
yum groupinstall -y 'X Window System'
rpm -q httpd dhcp tftp-server xinetd syslinux system-config-kickstart
- 重启:reboot
2.软件配置
2.1 DHCP服务配置
2.1.1 修改DHCP配置文件
- 拷贝文件:
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
修改文件:
vim /etc/dhcp/dhcpd.conf
egrep -v "^#|^$" /etc/dhcp/dhcpd.conf
2.1.2 启动DHCP服务
systemctl status dhcpd # 查看dhcp的状态
systemctl start dhcpd # 启动dhcp
systemctl enable dhcpd # 设置开机启动
systemctl is-enabled dhcpd # 查看是否设置开机启动
2.1.3 DHCP服务端口查看
ss -nulp | grep dhcpd
2.2 HTTP服务配置
2.2.1 目录建立及光盘挂载
- 创建目录:mkdir -pv /var/www/html/CentOS7
- 在/mnt目录下创建/cdrom
- 查看光盘镜像挂载位置,进入/dev目录查找光驱,一般是cdrom系统上查询结果:
- 可见系统上用sr0表示光驱,然后就可以挂载了
- 一步挂载:
mount -o loop /dev/sr0 /var/www/html/CentOS7/
- 或者:
mount -o loop /dev/sr0 /mnt/cdrom/
- 如果遇到以下问题,则说明镜像没有挂在启动
- 挂载成功
- 挂载:mount --bind /mnt/cdrom/ /var/www/html/CentOS7/
2.2.2 启动HTTP服务,并设置为开机启动
systemctl status httpd # 查看httpd的状态
systemctl start httpd # 启动httpd
systemctl enable httpd # 设置开机启动
systemctl is-enabled httpd # 查看是否设置开机启动
2.3 TFTP服务配置
2.3.1 xinetd配置
- 修改:vim /etc/xinetd.d/tftp
2.3.2 启动tftp.socket服务,并设置为开机启动
systemctl start tftp.socket # 启动tftp.socket
systemctl status tftp.socket # 查看状态
systemctl enable tftp.socket # 设置开机启动
systemctl is-enabled tftp.socket # 查看是否设置为开机启动
2.3.3 启动tftp.service服务,并设置为开机启动
systemctl start tftp.service # 启动tftp.service
systemctl status tftp.service # 查看状态
systemctl enable tftp.service # 设置开机启动
systemctl is-enabled tftp.service # 查看是否设置为开机启动
- 查看端口:ss -unlp | grep 69
2.3.4 启动xinetd服务,并设置为开机启动
systemctl start xinetd # 启动xinetd
systemctl status xinetd # 查看状态
systemctl enable xinetd # 设置开机启动
systemctl is-enabled xinetd # 查看是否设置为开机启动
3.配置文件
需要导入TFTP服务器的主要文件有:
- 引导文件:pxelinux.0
- 内核文件:vmlinuz initrd.img
- 引导菜单:isolinux.cfg – 开机后选择启动项的菜单文
3.1 引导文件pxelinux.0
- 由软件包syslinux生成,安装syslinux软件包
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
3.2 导入内核及菜单文件:vmlinuz initrd.img
cp /mnt/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/
- 引导菜单配置文件:isolinux.cfg
- 系统自带的两种窗口模块之一:vesamenu.c32
- 窗口提示信息文件:boot.msg
- 窗口背景图片:splash.png
cp /mnt/cdrom/isolinux/{vesamenu.c32,boot.msg,splash.png} /var/lib/tftpboot/
cp /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk} /var/lib/tftpboot/
- 新建pxelinux.cfg文件夹:mkdir /var/lib/tftpboot/pxelinux.cfg
3.3 安装引导文件CentOS7.cfg文件
- Xshell下安装system-config-kickstart
- 下载安装Xmanager(官网下载试用)
- 安装好Xmanager,选中10.180.210.217,右击,点击“属性”,选取“隧道”进行配置
- 在控制台执行:
system-config-kickstart
出现以下窗口,进行配置,设置语言,键盘,时区,root密码,安装完毕后重启等
- CentOS7.cfg配置文件内容
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install ## 告知这是一次安装程序
# Keyboard layouts
keyboard 'us' ## 设置系统键盘类型为us
# Root password
rootpw --iscrypted $1$gL0CThj6$3LwF2Dh5oqg3Sz9kU9qvm. ## 加密的root密码
# Use network installation
url --url="http://192.168.120.11/CentOS7" ## 通过ftp或http从远程服务器安装的地址
# System language
lang en_US ## 设置安装过程中使用的语言字符集
# System authorization information
auth --useshadow --passalgo=sha512 ## 系统认证信息,这里要是写密文密码需加 设置密码加密方式为sha512 启用shadow文件
# Use text mode install
text ## 使用文本模式安装
# SELinux configuration
selinux --disabled ## 关闭selinux
# Do not configure the X Window System
skipx
# Firewall configuration
firewall --disabled ## 关闭防火墙
# Network information
network --bootproto=dhcp --device=ens32 ## 动态配置ip网络信息的写法
# Reboot after installation
reboot ## 设置安装完成后重启,必须存在
# System timezone
timezone Asia/Shanghai ## 设置时区为亚洲上海
# System bootloader configuration
bootloader --location=mbr ## 指定引导记录被写入的位置
# Clear the Master Boot Record
zerombr ## 清除mbr引导信息
# Partition clearing information
clearpart --all --initlabel ## 清空分区,清空所有分区
# Disk partitioning information ## 为分区设置文件系统类型为xfs,size设置大小
part /boot --fstype="xfs" --size=1024
part swap --fstype="swap" --size=1024
part / --fstype="xfs" --grow --size=1
%packages ## 这一部分是要安装的一些包 以%packages开头,以%end结束
@^minimal
@core
@development
kexec-tools
wget
vim
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
## 以%pre开头,以%end结束,在安装完系统之前执行的相关Linux命令、脚本
%post ## 安装后执行的命令,如果要一键化搭建集群,这里可以执行写好的shell或ansible剧本进行搭建
systemctl disable postfix.service ## 以%post开头,以%end结束,在安装完系统之后执行的相关Linux命令、脚本
%end
- 关闭,拷贝:
mkdir -pv /var/www/html/ksdir
cp /root/CentOS7.cfg /var/www/html/ksdir/
chmod +r /var/www/html/ksdir/CentOS7.cfg
3.4 复制文件并修改名称,修改default
cp /mnt/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default
- 菜单显示等待时间,单位为1/10秒,默认等待60秒,修改菜单等待时间为60,即等待6秒,若无操作则进入默认菜单;
timeout=60
修改为:
default linux
label linux
kernel vmlinuz
append initrd=initrd.img inst.repo=http://192.168.120.11/CentOS7 inst.ks=http://192.168.120.11/ksdir/ks.cfg ksdevice=ens32
- 新建虚拟机
- 开机
- PXE配置成功。
- 如果想在pxe批量部署的时候修改网卡名称,在default文件中添加:net.ifnames=0 biosdevname=0
- 对应的涉及到网卡名称的地方统一指定为"eth0"
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献4条内容
所有评论(0)