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服务器,注意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),记得安装完以后要改密码呀!

原文地址:http://blog.51cto.com/lwm666/2068842

时间: 2024-10-17 13:32:36

Linux PXE 自动部署操作系统的相关文章

自动化部署操作系统-Kickstart+PXE自动部署

Kickstart+PXE自动部署 目录: 无人值守安装简介 实战:PXE批量部署linux操作系统 前言 部署dhcp服务 HTTP服务 TFTP服务 复制PXE启动时需要的文件 修改引导启动菜单 配置kickstart自动安装文件(ks.cfg) 装机测试 无人值守安装简介 无人值守安装(Unattended Setup)指软件安装时无需任何用户干预,直接按默认或通过应答文件设置安装,这对于无特殊需求的用户或企业大批量部署安装操作系统及软件时非常方便.无人值守安装也称为静默安装,在安装过程中

运维工作中的bootstraping之PXE自动安装操作系统

运维工作纵向来看主要分为三个方向: 1.BootStraping:主要做的是操作系统的安装与配置,包括Bare Metal(pxe,cobbler)和Virtual Machine(image files). 2.Configuration:主要使用运维工具如puppet(rubby研发).saltstack(python研发).ansible.chef.cfengine等自动化运维工具做应用程序做批量部署与配置. 3.Command and Conrol:主要使用自动化运维工具发送命令或指令实

Linux下自动部署Tomcat应用

#! /bin/sh echo '####################开始自动部署####################' path=`pwd` #当前路径 tomcatPath=apache-tomcat-8.5.15 #指定tomcat文件目录名称 cd ../$tomcatPath/bin #进入tomcat的bin目录 PID=$(ps -fu `whoami`|grep tomcat|grep -v grep|awk '{print $2}') if [ -z "$PID&quo

Kickstart+PXE自动部署CentOS6.6

生产环境中对于部署大量的相同系统的服务器,如果逐台安装操作系统的话是非常浪费时间的工作,还好CentOS提供了无人值守安装系统的功能,下面就详细介绍一下配置步骤. 一.配置本机的yum源 因为需要安装一些软件来达到我们的目的,所以最好先把yum源配置好. 将光盘挂载到/media/目录下. 二.安装所需要用到的软件 tftp:简单文件传输协议,用于向客户端提供安装引导相关的文件. dhcp:动态主机配置协议,为客户端分配IP地址. http:为客户端提供系统安装时所需的文件. system-co

linux 项目自动部署脚本

#!/bin/bash#设置变量cd /home#停止tomcatecho "开始停止tomcat..." ps x | grep java | grep -v grep | awk '{print $1}' | xargs kill -9#ps x | grep java | grep -v grep | awk '{print $1}'#ps x | grep java | grep -v grep | kill -9 $1#echo $1#kill -9 $1ps x | gre

Linux下批量部署安装--PXE

Linux操作系统如何安装? 以及如何自动(无人值守)安装? 以及如何批量自动安装? 下面我们会一一的来介绍. 以下操作以CentOS6系列为例,以 VMware 作为虚拟机管理器进行实验. 一.安装系统 1.个人 pc 如何安装一个Linux操作系统使用呢? Linux操作系统的安装过程大致如下: 以本地镜像为例,POST加点自检,加载镜像文件中的内核和临时根文件系统,最后会启动anaconda的安装程序,此程序是交互式的,帮助用户来选择安装前的一些操作,完成这一步操作之后,进入真正的安装包软

linux 利用pxe自动安装预设系统

PXE工作原理  第一步:PXE Client向DHCP发送请求首先,将支持PXE的网络接口卡(NIC)的客户端的BIOS设置成为网络启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向网络中的DHCP服务器索取IP地址等信息. 第二步:DHCP服务器提供信息DHCP服务器收到客户端的请求,验证是否来至合法的PXE Client的请求,验证通过它将给客户端一个"提供"响应,这个"提供"响应中包含了为客户端分配的IP地址.

Linux自动化部署操作系统

最近工作比较不是很忙,自己部署了一套Linux自动化部署操作系统,现将操作步骤记上,加深印象. 一.环境 准备两台虚拟机,其中一台已以Desktop.BASE SERVER 的方式安装好了,操作系统是CentOS6.5-x86_64,作为服务端使用:另一台只安装了虚拟机,未安装操作系统,用于自动化部署测试使用: 注:必须安装桌面图形化,要不然后面用到的kickstart无人值守的功能,没办法启动配置: 需要用到的主要软件: http dhcp xinetd tftp-server tftp sy

SCCM 2016 使用PXE 部署操作系统(一)

各位好,之前的文章我们已经成功的安装完毕了SCCM 2016,今天我们就来讲讲SCCM的一个实战功能.众所周知,SCCM最大的名气是被它的软件分发功能所打响的,其次就是它的操作系统批量部署(可以视为高级版的WDS),还有它的系统补丁分发(高级版的WSUS)等等,那么接下来的几篇文章,我们重点讲一讲 SCCM 2016的这三方面的功能.还是选个顺序吧,从无到有,今天先说说怎么通过SCCM来为一台新的PC推送操作系统. 在现在的企业信息化管理中,自动化部署越来越被人们所提及,同样,IT资产设备的自动