KickStart+PXE实现自动化部署安装

前言

??在日常的生产环境中,需要批量的部署大量相同的操作系统,如果我们去逐台安装无疑会花费大量的时间,通过Kictstart+PXE可以快速的部署安装,可以有效的节省人工和时间。

???
什么是PXE?

PXE(预启动执行环境),工作在Client/Server的工作模式,通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统;
由Intel和Systemsoft公司于1999年9月20日公布的技术;

?
PXE工作原理:??

?
实验环境

操作系统:centos6.5
server:192.168.42.16
client:dhcp获取
实验需求:通过网络自动化安装 centos6.5 操作系统

??
准备工作

iptables -F
service iptables save
sed -ri ‘/^SELINUX/c\SELINUX=disabled‘ /etc/selinux/config
setenforce 0

??
服务器安装上安装需要的服务

yum -y install dhcp tftp-server vsftpd xinetd syslinux

???
dhcp配置

vim /etc/dhcp/dhcpd.conf

[[email protected] centos6.5]# cat /etc/dhcp/dhcpd.conf
ddns-update-style   none;
#ignore client-updates;
authoritative;
#option domain-name "example.org";
#option domain-name-servers  8.8.8.8 , 202.96.128.166;
#default-lease-time 600;
#max-lease-time 7200;
log-facility local7;

subnet 192.168.42.0  netmask 255.255.255.0 {
        range 192.168.42.100  192.168.42.200;
        option domain-name-servers  202.96.128.166;
        option domain-name "class.com";
        option routers 192.168.42.2;
        option broadcast-address 192.168.42.255;
        default-lease-time 300;
        max-lease-time 7200;
        allow bootp;
        allow booting;
        next-server 192.168.42.16;               #tftp服务器地址
         filename "pxelinux.0";                         #启动引导文件
}

service dhcpd start
chkconfig dhcpd on

??
挂载系统镜像,通过ftp发布

mkdir /var/ftp/centos6.5
mount /dev/cdrom /var/ftp/centos6.5/

??
tftp配置

vim /etc/xinetd.d/tftp
disable= no

??
提供引导菜单所需的文件

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
cp -rf /var/ftp/centos6.5/isolinux/* /var/lib/tftpboot/
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
cp isolinux.cfg pxelinux.cfg/default

??
配置引导列表

cd /var/lib/tftpboot/pxelinux.cfg
vim default

default vesamenu.c32     #注意 vesamenu.c32是否存在tftpboot目录下
timeout 600
display boot.msg       #这个文件用来定义欢迎界面
prompt 1

label 1                                          #引导列表名称
   menu Install centos 6              #标签
   kernel  vmlinuz                          #内核文件
   append initrd=initrd.img ks=ftp://192.168.42.16/centos6-ks.cfg                   #initrd定义启动镜像文件

?
定义kickstart脚本,实现自动化安装

vim /var/ftp/centos6-ks.cfg

#定义安装类型
install
text
reboot
lang en_US.UTF-8
keyboard us
?
url --url="ftp://192.168.42.16/centos6.5"
rootpw --iscrypted     sdkfhiuqdsf14349#$%$%^451f1                * #root用户密码,此处需要填写MD5加密的密码字串*
firewall --disabled
#firewall --service=ssh
authconfig --useshadow --passalgo=sha512
selinux --disabled
timezone --utc Asia/ShangHai
bootloader --location=mbr --append="crashkernel=auto rhgb quiet"
zerombr

#分区
clearpart --all --initlabel
part /boot --fstype=ext4 --size=200
part swap --size=2048
part / --fstype=ext4 --grow --size=1      #这里大小等于1表示使用剩余所有内存

#安装软件包
%packages
@core
@base
wget
tree
psmisc
%end

#安装后操作
%post
rm -rf /etc/yum.repos.d/*
wget -q ftp://192.168.42.16/pub/centos6.5.repo -O /etc/yum.repos.d/centos6.5.repo
yum clean all
yum repolist
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
sed -i "s/ONBOOT.*$/ONBOOT=yes/" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s/rhgb //" /boot/grub/grub.conf
sed -i "s/HOSTNAME=.*$/HOSTNAME=centos6.5/" /etc/sysconfig/network
%end

启动服务

service vsftpd restart
service dhcpd restart
service xinetd restart

检查端口

[[email protected] /]# ss -ntulp | egrep ‘21|67|69‘
udp    UNCONN     0      0                      *:41869                 *:*      users:(("rpc.statd",1075,8))
udp    UNCONN     0      0                      *:67                    *:*      users:(("dhcpd",1850,7))
udp    UNCONN     0      0                      *:69                    *:*      users:(("xinetd",1785,5))
tcp    LISTEN     0      32                     *:21                    *:*      users:(("vsftpd",1831,3))

?
客户端测试,整个过程都是自动化安装,无需人为干预。
?



完成。

原文地址:http://blog.51cto.com/12443436/2316777

时间: 2024-10-11 14:32:59

KickStart+PXE实现自动化部署安装的相关文章

RH134-01 通过Kickstart完成无人值守自动化部署

第一章 通过Kickstart完成无人值守自动化部署 kickstart给用户提供了一种自动化安装红帽企业Linux的方法,该方法通过定义一个kickstart文件来完成安装过程中的问答从而实现无人值守安装. 1.定义Anaconda Kickstart无人值守安装 安装命令 url--url="http://classroom.example.com/content/rhel7.0/x86_64/dvd/" repo--name="Custom Packages"

Kickstart+PXE实现无人值守自动安装

配置前提 kickstart 在启动引导内核的时候只有传递给其vmlinuz即可,前提是必须让其内核访问的到我们的ks的位置,比如http . ftp.nfs 等,也可以放在本地的路径下可以通过cdrom进行对外告知 如果要通过网络服务器访问,有个前提就是必须将其配置好网络地址才可以:但还需要考虑一个问题,当anaconda启动的时候 它还会读取kickstart配置文件的 但kickstart中也可以配置网络参数的,如果kickstart分配的地址与vmlinuz所获取的不一样的话,则以后续的

kickstart 全自动化部署安装RHEL 7.0(详细图解版)

一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软

自动化运维之Cobbler自动化部署安装操作系统

Cobbler概述: Cobbler可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会. 在生产环境中,经常批量部署几十甚至上百台服务器时,实现自动化安装操作系统尤为重要,按照传统的光盘引导安装工作量是不可预估的:此前我们通过pxe+kickstart简单实现了自动化安装,但只能实现单一版本安装,当需要部署不同版本或不同引导模式(BIOS.EFI)时,此种方式就不够灵活.而Cobbler正是为了解决此问题而

自动化运维之kickstart自动化部署安装操作系统

第1章 简介 1.1 PXE简介 q  PXE是预启动执行环境,全名是Pre-boot Execution Environment q  通过网络接口启动计算机,不需要依赖本地存储设备或本地已安装的操作系统 q  由Intel和Systemsoft公司于1999年9月20日公布的技术 q  C/S的工作模式 q  PXE客户端会调用网际协议(IP).用户数据协议(UDP).动态主机分配协议(DHCP).小型文件传输协议(TFTP)等网络协议 1.2 kickstart简介 kickstart是一

kickstart+DHCP+NFS+TFTP+PXE 全自动化部署Linux系统

目录 kickstart+DHCP+NFS+TFTP+PXE 安装详细步骤 执行PXE--kickstart 安装需要的设备为 用到的kickstart工具.依赖于X Windows,所以要提前安装好,XWindows及GNOME 并重启系统 修改/etc/inittab配置文件 重启系统 reboot 启动图像化 上传centos7.4.iso 至 /usr/loca/src mkdir -p mnt/cdrom 安装dhcp 创建Apache目录 mkdir -p /var/html/www

Kickstart+PXE网络自动化Centos系统安装

注:服务端需要安装配置DHCP+HTTP+TFTP+Kickstart(重点创建ks.cfg文件)程序. 服务端软件安装配置: 1.DHCP服务 yum -y install dhcp                            #安装 rpm -ql dhcp |grep "dhcpd.conf"                  #检查 vim /etc/dhcp/dhcpd.conf                        #配置 ddns-update-styl

解决pxe+ks自动化部署系统,磁盘大于2TB时候,不能引导问题

公司之前的服务器都是有450GB的ssd磁盘,系统部署在ssd上面.后来有些服务器换掉了用3TBsata磁盘换掉了ssd,再安装系统的时候,不能引导.如下图所示: 在公司高人(朗)的分析后,是因为centos 引导系统的时候,找不到在磁盘大于2TB的地方的引导. 解决办法: 在系统磁盘分区的是添加/boot分区,就是在ks文件中添加如下命令: part /boot --fstype ext4 --size=1024 --ondrive=sda part swap --size=2048 --on

http+tftp+pxe+kickstar自动化部署

workstation虚机配置: 1.准备工作: ● 虚拟网络编辑器 --> 去掉dhcp服务 ● 修改主机名:workstation.example.com ● 关闭防火墙和selinux ● 创建目录 #mkdir  -p /var/ftp/pub ● 挂载光盘 #vim /etc/fstab /dev/sr0  /var/ftp/pub    iso9660    defaults    0 0 #mount -a #df -Th(查看挂载) ● 配置网卡 #vim /etc/syscon