pxe批量自动化安装系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pxe批量自动化安装系统相关的知识,希望对你有一定的参考价值。

  看过好多人使用pxe无人值守的文档,写的总归缺少一些东西,通过自己的使用以及结合各位运维人员的文档,写一篇比较初级的pxe的部署,适合刚入门的菜鸟使用。


实验环境:cnetos6.6 IP:192.168.153.2


1.安装软件

[[email protected]~]# yum -y install dhcp tftp-server httpd syslinux

2.dhcp

[[email protected]~]# cp -rf /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[[email protected]~]# vim /etc/dhcp/dhcpd.conf
添加以下:

ddns-update-style interim;       #设置DHCP服务器模式

ignore client-updates;    #禁止客户端更新

allow booting;         #定义能够PXE启动

allow bootp;          #定义支持bootp

subnet 192.168.153.0 netmask 255.255.255.0 { #设置网段

        option routers 192.168.153.1 ;

        option subnet-mask 255.255.255.0;     #设置掩码子网

        range dynamic-bootp 192.168.153.50 192.168.153.100; #设置dhcp服务器IP地址租用的范围,dynamic-bootp代表该DHCP服务器支持PXE

        default-lease-time 64600;         #默认租约时间

        max-lease-time 43200;          #最大租约时间

        next-server 192.168.153.2;        #tftp服务器地址

        filename "pxelinux.0";           #最基本的启动文件。指向的是tftp-sever的根目录

}

[[email protected]~]# service dhcpd restart
[[email protected]~]# chkconfig dhcpd on

3.tftp
(1).pxelinux.0
[[email protected]~]# find / -name pxelinux.0
/usr/share/syslinux/pxelinux.0
[[email protected]~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

(2).提供引导菜单所需的文件(从系统光盘上的isolinux目录中找)
[[email protected]~]# cp -rf /media/CentOS_6.6_Final/isolinux/* /var/lib/tftpboot/ (/media/CentOS_6.6_Final是系统光盘挂载点)
[[email protected]~]# mkdir /var/lib/tftpboot/pxelinux.cfg
复制isolinux.cfg到pxelinux.cfg下并改名为default:
[[email protected]~]# cd /var/lib/tftpboot/
[[email protected] tftpboot]# cp isolinux.cfg pxelinux.cfg/default

(3).编辑启动菜单
[[email protected]~]# vim pxelinux.cfg/default

default vesamenu.c32

#prompt 1

timeout 20 #系统选择安装时的时间,默认是600(60秒),为了减少等待时间改为2秒

    ...

label linux

 menu label ^Install or upgrade an existing system

 menu default

 kernel vmlinuz

 append initrd=initrd.img ks=http://192.168.153.2/ks.cfg #指定ks的路径,本机地址

...

(4).修改tftp-server的配置文件
[[email protected]~]# vim /etc/xinetd.d/tftp

    ... 

        disable                 = no #yes改为no   

    ...

[[email protected]~]# service xinetd restart
[[email protected]~]# netstat -an|grep :69
出现以下信息代表已经启动:

udp    0    0 0.0.0.0:69      0.0.0.0:*  

4.通过FTP|HTTPD|NFS提供安装树(以httpd为例)
在http的根目录中创建目录,用于挂载系统镜像文件
[[email protected]~]# mkdir /var/www/html/centos6.6
[[email protected]~]# mount /dev/cdrom /var/www/html/centos6.6
[[email protected]~]# service httpd restart
[[email protected]~]# chkoconfig httpd on

5.通过kickStart实现自动安装
把整个安装过程中要回答或者要做的事全部体现在应答文件中。
创建ks.cfg文件
[[email protected]~]# yum install -y system-config-kickstart
[[email protected]~]# system-config-kickstart
ks.cfg预览如下:

#platform=x86, AMD64, 或 Intel EM64T

#version=DEVEL

# Firewall configuration

firewall --disabled 

# Install OS instead of upgrade

install

# Use network installation

url --url="http://192.168.153.2/centos6.6"

# Root password

rootpw --iscrypted $1$m7iIcV7p$UDxTdPF4oxXRQd2PI1o5T/

# System authorization information

auth  --useshadow  --passalgo=sha512

# Use graphical install

graphical

firstboot --disable

# System keyboard

keyboard us

# System language

lang en_US

# SELinux configuration

selinux --disabled

# Installation logging level

logging --level=info

# Reboot after installation

reboot

# System timezone

timezone  Asia/Shanghai

# Network information

network  --bootproto=dhcp --device=eth0 --onboot=on

# System bootloader configuration

bootloader --location=mbr

# Clear the Master Boot Record

zerombr

# Partition clearing information

clearpart --all --initlabel

# Disk partitioning information

part / --fstype="ext4" --size=15350

part /boot --fstype="ext4" --size=200

part swap --fstype="swap" --size=2048

part /var --fstype="ext4" --grow --size=1


    %packages

@base

@basic-desktop

@desktop-debugging

@desktop-platform

@fonts

@general-desktop

@graphical-admin-tools

@input-methods

@internet-applications

@legacy-x

@print-client

@remote-desktop-clients

@x11

%end

可以直接使用ks.cfg,根据自己需求修改防火墙,url,分区信息(红色标记的地方,注:root密码是passw0rd)
需要注意的是,如上操作是在实验环境中,生产环境中服务器网卡是em(x)的,需要修改部分如下:


    [[email protected]~]# vim /var/lib/tftpboot/pxelinux.cfg/default

    ...

    append initrd=initrd.img ks=http://192.168.153.2/ks.cfg ksdrive=em1  #指定网卡

    ...

    [[email protected]~]# vim /var/www/html/ks.cfg

    ...

    network  --bootproto=dhcp --device=em1 --onboot=on

    ...

测试:客户端开机即可
如果是新的服务器,建议使用pxe自动安装,可以保证初始系统的相同。


本文出自 “10995114” 博客,请务必保留此出处http://11005114.blog.51cto.com/10995114/1792217

以上是关于pxe批量自动化安装系统的主要内容,如果未能解决你的问题,请参考以下文章

PXE无人值守自动装机

PXE+Kickstack实现无人值守安装CentOS 7操作系统

PXE+Kickstack实现无人值守安装CentOS 7操作系统

如何利用PXE+kickstart实现批量安装系统

linux系统服务-PXE批量部署kickstart无人值守

DHCP+VSFTPD+TFTP+Kickstart搭建PXE环境实现批量自动化系统安装