Linux PXE 自动部署操作系统

简介: 服务器搭建环境:server1:eth0:192.168.10.10/24 RHEL 5.8一、安装必要的软件包mount /dev/hdc /mnt/iso/yum -y install vsftpd tftp tftp-server syslinux dhcp二、配置DHCP服务...


服务器搭建环境:
server1:eth0:192.168.10.10/24 RHEL 5.8

一、安装必要的软件包
mount /dev/hdc /mnt/iso/
yum -y install vsftpd tftp tftp-server syslinux dhcp

二、配置DHCP服务器,注意1
echo 'ddns-update-style interim;
ignore client-updates;

allow booting;
allow bootp;

subnet 192.168.10.0 netmask 255.255.255.0 {

        option routers                  192.168.10.1;
        option subnet-mask              255.255.255.0;

        option domain-name-servers      8.8.8.8;

        option time-offset              -18000; # Eastern Standard Time

        range dynamic-bootp 192.168.10.128 192.168.10.254;
        default-lease-time 21600;
        max-lease-time 43200;
        next-server 192.168.10.10;
        filename "/pxelinux.0";
}' > /etc/dhcpd.conf
service dhcpd start
注2

三、配置tftp服务器
sed -i '/disable/s/=.*/= no/' /etc/xinetd.d/tftp
service xinetd start
service vsftpd start

四、复制和编辑pxe启动的文件(位于tftp服务器目录下)
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

echo '--To boot from local, type local

--To install RHEL 5.8, type rhel5

' > /tftpboot/boot.msg

cp /mnt/iso/images/pxeboot/initrd.img /tftpboot/initrd_rhel5_x86.img
cp /mnt/iso/images/pxeboot/vmlinuz /tftpboot/vmlinuz_rhel5_x86
mkdir /tftpboot/pxelinux.cfg

echo 'default local
display boot.msg
prompt 1
timeout 30
label local
localhost 0
label rhel5
kernel vmlinuz_rhel5_x86
append initrd=initrd_rhel5_x86.img devfs=nomount ramdisk=9216 text ks=ftp://192.168.10.10/pxe/rhel5.8/ks.cfg ksdecive=eth0' > /tftpboot/pxelinux.cfg/default

五、复制和编辑pxe的安装源(位于vsftp服务器目录下)
mkdir -p /var/ftp/pxe/rhel5.8
cp -rf /mnt/iso/* /var/ftp/pxe/rhel5.8/

echo '# Kickstart file automatically generated by anaconda.

install
url --url ftp://anonymous:@192.168.10.10/pxe/rhel5.8
key --skip
lang zh_CN.UTF-8
keyboard us
text
network --device eth0 --onboot yes --bootproto dhcp --hostname client.vicp.net
rootpw --iscrypted $1$sGFG3X5A$HoZCgkUnGIqleVD1wan.e1
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --linux
part /boot --fstype ext3 --size=100
#part swap --size=512
part / --fstype ext3 --size=6005
reboot
%packages
@british-support
@chinese-support
@core
sgpio' > /var/ftp/pxe/rhel5.8/ks.cfg

注3

全篇完



在同一网段中启动一台新主机,只要输入rhel5就可以自动完成系统的安装了。如果硬盘没有初始化,系统会提示,只要按个回车即可。
root的初始密码为123456

注1:
本例是在虚拟机上测试的,在生产环境中我也是调试完机器再接入网络的。
如果是在生产环境中会遇到Windows和Linux并存的环境,Windows域必定会存在自己的DHCP服务器,有可能会和Linux的DHCP产生冲突(到底会不会有影响,有什么影响,笔者也没试过,也不敢试),因此笔者建议将PXE服务器放在调试环境中,以免影响生产环境的网络。

注2:
DHCP服务器配置文件中下面几条是关键:
allow booting;
allow bootp;
next-server 192.168.10.10;  #指定tftp服务器
filename "/pxelinux.0";  #指定启动文件名,虽然是以/开头,但实际上是相对路径,表示“/tftpboot/pxelinux.0”

注3:
/var/ftp/pxe/rhel5.8/ks.cfg文件的内容怎么来的?如何编辑?
这文件是手工安装系统后在root目录下的anaconda-ks.cfg文件拷贝过来进行简单的修改得来的。
要修改哪些内容,读者可以和我的例子对比一下就明白了。文件里包含了root的初始密码(我的初始密码是123456),记得安装完以后要改密码呀!


相关文章
|
19天前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
45 1
|
20天前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
21天前
|
搜索推荐 Linux
深入理解Linux操作系统的启动过程
本文旨在揭示Linux操作系统从开机到完全启动的神秘面纱,通过逐步解析BIOS、引导加载程序、内核初始化等关键步骤,帮助读者建立对Linux启动流程的清晰认识。我们将探讨如何自定义和优化这一过程,以实现更高效、更稳定的系统运行。
|
19天前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
20天前
|
缓存 监控 网络协议
Linux操作系统的内核优化与实践####
本文旨在探讨Linux操作系统内核的优化策略与实际应用案例,深入分析内核参数调优、编译选项配置及实时性能监控的方法。通过具体实例讲解如何根据不同应用场景调整内核设置,以提升系统性能和稳定性,为系统管理员和技术爱好者提供实用的优化指南。 ####
|
22天前
|
运维 监控 Linux
Linux操作系统的守护进程与服务管理深度剖析####
本文作为一篇技术性文章,旨在深入探讨Linux操作系统中守护进程与服务管理的机制、工具及实践策略。不同于传统的摘要概述,本文将以“守护进程的生命周期”为核心线索,串联起Linux服务管理的各个方面,从守护进程的定义与特性出发,逐步深入到Systemd的工作原理、服务单元文件编写、服务状态管理以及故障排查技巧,为读者呈现一幅Linux服务管理的全景图。 ####
|
24天前
|
消息中间件 安全 Linux
深入探索Linux操作系统的内核机制
本文旨在为读者提供一个关于Linux操作系统内核机制的全面解析。通过探讨Linux内核的设计哲学、核心组件、以及其如何高效地管理硬件资源和系统操作,本文揭示了Linux之所以成为众多开发者和组织首选操作系统的原因。不同于常规摘要,此处我们不涉及具体代码或技术细节,而是从宏观的角度审视Linux内核的架构和功能,为对Linux感兴趣的读者提供一个高层次的理解框架。
|
26天前
|
人工智能 安全 Linux
Linux操作系统的演变与未来趋势###
本文深入探讨了Linux操作系统从诞生至今的发展历程,分析了其开源模式对技术创新和IT行业的影响,并展望了Linux在未来技术生态中的角色。通过历史回顾、现状分析和未来预测,本文旨在为读者提供一个关于Linux操作系统全面而深入的视角。 ###
|
26天前
|
缓存 并行计算 Linux
深入解析Linux操作系统的内核优化策略
本文旨在探讨Linux操作系统内核的优化策略,包括内核参数调整、内存管理、CPU调度以及文件系统性能提升等方面。通过对这些关键领域的分析,我们可以理解如何有效地提高Linux系统的性能和稳定性,从而为用户提供更加流畅和高效的计算体验。
30 2
|
26天前
|
缓存 网络协议 Linux
深入探索Linux操作系统的内核优化策略####
本文旨在探讨Linux操作系统内核的优化方法,通过分析当前主流的几种内核优化技术,结合具体案例,阐述如何有效提升系统性能与稳定性。文章首先概述了Linux内核的基本结构,随后详细解析了内核优化的必要性及常用手段,包括编译优化、内核参数调整、内存管理优化等,最后通过实例展示了这些优化技巧在实际场景中的应用效果,为读者提供了一套实用的Linux内核优化指南。 ####
45 1