远程PXE无人值守安装、手动安装

一、远程PXE手动安装

--------***********相关链接*************-----------------

https://blog.51cto.com/13873498/2177867

-----------***********远程主机PXE安装流程解释*************---------------

1.远程主机启动

2.通过dhcp服务器获取IP并通过dhcp配置文件中的filename参数来获取TFTP服务器的信息,从TFTP服务器中下载安装系统所需文件(内核 vmlinuz,初始化镜像initrd.img,引导程序文件pxelinux.0)

3.通过网络Httpd或ftp服务器提供的镜像安装

(如果自动化安装,就是在default菜单文件中添加ks的一项,用ks标注出应答文件在哪里。ks文件放在httpd和ftp服务器上。ks文件中有初始化镜像和正式镜像的操作,把每一步操作都写在了ks文件内。)

4.注意:不同版本的系统的初始化镜像也是不同的。

------------*******************************************------------------

1.安装httpd、tftp、dhcp、syslinux

由于Centos6.5安装后自带httpd,故不用安装!没有的要安装一下!

(1)为了下载更快使用阿里源(可选)

远程PXE无人值守安装、手动安装

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

远程PXE无人值守安装、手动安装

清除原有yum缓存

yum clean  all

更新yum缓存

yum  makecache

(2)安装tftp、dhcp、syslinux

yum -y install  tftp-server  dhcp   syslinux

2.启用tftp服务,提供内核、引导程序、初始化镜像

(1)修改tftp配置文件

仅修改红框部分

远程PXE无人值守安装、手动安装

(2)启动服务

service xinetd start

(3)创建CentOS6.5目录

该目录用于存放CentOS6.5的内核文件和初始化镜像

mkdir   /var/lib/tftpboot/CentOS6.5

注意:不同版本的系统的初始化镜像也是不同的。

(4)拷贝安装镜像内相关文件

将用来安装系统的镜像中的内核文件、初始化镜像拷贝到tftp服务器的共享目录(默认工作目录)。内核文件、引导程序一般在ISO镜像中的images/pxeboot。

比如Centos6.5的ISO文件:CentOS_6.5_Final/images/pxeboot

cp  initrd.img  vmlinuz  /var/lib/tftpboot/CentOS6.5

将初始化镜像(initrd.img)和内核(vmlinuz)复制到tftp的分享目录(/var/lib/tftpboot)下的子目录。也可不拷贝至子目录。

(5)拷贝引导程序文件

cd  /var/lib/tftpboot

cp /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot

(6)拷贝生成菜单的文件

cp /usr/share/syslinux/menu.c32   /var/lib/tftpboot

3.创建启动菜单文件

创建目录

mkdir   /var/lib/tftpboot/pxelinux.cfg                     (该目录用于存放菜单文件)

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

远程PXE无人值守安装、手动安装

第一个红框为默认通过menu.c32这个二进制文件来生成菜单。(菜单内容为下面的标签)

第二个红框为菜单等待时间,此实际等待时间为该值的十分之一

第三个红框为标签名字,显示在菜单上的选项名。

第四个红框为内核文件。

第五个红框为初始化镜像文件。

第六个红框为设备文件,此时选择不挂载。就按图上就行。

第七个红框为内存大小设置。

4.配置dhcp并启动

(1)修改配置文件

vim  /etc/dhcp/dhcpd.conf

远程PXE无人值守安装、手动安装

第一红框用来指定TFTP服务器的IP,即本机IP

第二个红框指出TFTP共享目录(/var/lib/tftpboot)中的引导程序文件(pxelinux.0)

(2)启动dhcp服务

service dhcpd start

5.将镜像挂载在httpd的目录下

将镜像挂载在网络上,允许其他主机使用。

可以将镜像挂载到httpd服务的默认工作目录(/var/www/html)下的子目录中。

或者将镜像挂载都到vsftpd的匿名访问目录的子目录下。

mkdir   /var/www/html/CentOS6.5

mount  /dev/sr0    /var/www/html/CentOS6.5

 6.再次重启各种服务

service httpd restart

service dhcpd restart

service xinetd restart

7.新建虚拟机测试

开机后关键的一步选择如下:

远程PXE无人值守安装、手动安装

 

远程PXE无人值守安装、手动安装

远程PXE无人值守安装、手动安装

二、远程PXE自动安装(无人值守安装)

1.安装httpd、tftp、dhcp、syslinux

由于Centos6.5安装后自带httpd,故不用安装!没有的要安装一下!

(1)为了下载更快使用阿里源(可选)

远程PXE无人值守安装、手动安装

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

远程PXE无人值守安装、手动安装

清除原有yum缓存

yum clean  all

更新yum缓存

yum  makecache

(2)安装tftp、dhcp

yum -y install  tftp-server  dhcp   syslinux

2.启用tftp服务,提供内核、引导程序、初始化镜像

(1)修改tftp配置文件

仅修改红框部分

远程PXE无人值守安装、手动安装

(2)启动服务

service xinetd start

(3)创建CentOS6.5目录

该目录用于存放CentOS6.5的内核文件和初始化镜像

mkdir   /var/lib/tftpboot/CentOS6.5

(4)拷贝安装镜像内相关文件

将用来安装系统的镜像中的内核文件、初始化镜像拷贝到tftp服务器的共享目录(默认工作目录)。内核文件、引导程序一般在ISO镜像中的images/pxeboot。

比如Centos6.5的ISO文件:CentOS_6.5_Final/images/pxeboot

cp  initrd.img  vmlinuz  /var/lib/tftpboot/CentOS6.5

将初始化镜像(initrd.img)和内核(vmlinuz)复制到tftp的分享目录(/var/lib/tftpboot)下的子目录。也可不拷贝至子目录。

(5)拷贝引导程序文件

cd  /var/lib/tftpboot

cp /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot

(6)拷贝生成菜单的文件

cp /usr/share/syslinux/menu.c32   /var/lib/tftpboot

3.创建启动菜单文件

创建目录

mkdir   /var/lib/tftpboot/pxelinux.cfg                     (该目录用于存放菜单文件)

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

远程PXE无人值守安装、手动安装

第一个红框为默认通过menu.c32这个二进制文件来生成菜单。(菜单内容为下面的标签)

第二个红框为菜单等待时间,此实际等待时间为该值的十分之一

第三个红框为标签名字,显示在菜单上的选项名。

第四个红框为内核文件。

第五个红框为初始化镜像文件。

第六个红框为设备文件,此时选择不挂载。就按图上就行。

第七个红框为内存大小设置。

4.配置dhcp并启动

(1)修改配置文件

vim  /etc/dhcp/dhcpd.conf

远程PXE无人值守安装、手动安装

第一红框用来指定TFTP服务器的IP,即本机IP

第二个红框指出TFTP共享目录(/var/lib/tftpboot)中的引导程序文件(pxelinux.0)

(2)启动dhcp服务

service dhcpd start

5.将镜像挂载在httpd的目录下

将镜像挂载在网络上,允许其他主机使用。

可以将镜像挂载到httpd服务的默认工作目录(/var/www/html)下的子目录中。

或者将镜像挂载都到vsftpd的匿名访问目录的子目录下。

mkdir   /var/www/html/CentOS6.5

mount  /dev/sr0    /var/www/html/CentOS6.5

6.创建应答文件

(1)在httpd共享目录下创建或复制ks文件

可以利用system-config-kickstart图形化界面生成应答文件。

或者复制一份/root/anaconda-ks.conf文件来修改,修改后给文件添加读权限。

mkdir /var/www/html/Centos_ks

cp   /root/anaconda-ks.cfg  /var/www/html/Centos_ks

cd  /var/www/html/Centos_ks

chmod 644 anaconda-ks.cfg

mv anaconda-ks.cfg  Centos6.5_ks.cfg

(2)修改应答文件(ks文件)

vim  Centos6.5_ks.cfg

文件内容如下:(去掉中文)

# Kickstart file automatically generated by anaconda.

下面部分为安装初始化镜像

#version=DEVEL

install                 安装

lang zh_CN.UTF-8   选择中文

keyboard us      选择美式键盘

unsupported_hardware    跳过不检查磁盘的确认

network --onboot yes --device eth0 --bootproto dhcp --noipv6   设置网卡

url --url="http://192.168.88.116/CentOS6.5"    设使用的镜像位置

安装CentOS6.5的镜像的部分如下:

rootpw  --iscrypted  $6$DTQnx3UkH5CgkMqL$x4uigiOBhL/JvvqS88nP1Pk/IeZUspyp2saGpMJOCXUnXiF1LN3VO1jsTQHGp/8HABibQ6knFvh7dKaY4sogi1    设置root密码,使用的是加密后的密文

firewall --service=ssh        设置防火墙

authconfig --enableshadow --passalgo=sha512       设置登录认证方式

graphical                   选择图形化安装,字符用text

keyboard us            美式键盘

lang en_US                语言选择

selinux –enforcing            selinux设置

timezone --utc Asia/Chongqing        时区设置

network --bootproto=dhcp --device=eth0 --onboot=on    网卡设置

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"       创建mbr分区表

 

# 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 --none

zerombr          是否要忽略磁盘上的数据,选择是

clearpart  --all  --initlabel    清除磁盘分区表,并初始化磁盘卷标为系统架构的默认卷标

autopart       选择自动分区

#part / --fstype=ext4 --size=20000

#part swap --size=4000

#part /private-data --fstype=ext4 --grow --size=200

reboot

 

repo --name="CentOS"  --baseurl="http://192.168.88.116/CentOS6.5/" --cost=100   设置repo文件,从指定位置的yum源下载包。

下面为要下载的包名!

%packages

@base

@chinese-support

@core

@debugging

@basic-desktop

@desktop-debugging

@desktop-platform

@directory-client

@emacs

@fonts

@general-desktop

@graphical-admin-tools

@graphics

@input-methods

@internet-applications

@internet-browser

@java-platform

@legacy-x

@network-file-system-client

@office-suite

@print-client

@remote-desktop-clients

@server-platform

@server-policy

@workstation-policy

@x11

mtools

pax

oddjob

wodim

sgpio

genisoimage

device-mapper-persistent-data

abrt-gui

samba-winbind

certmonger

pam_krb5

krb5-workstation

libXmu

%end

7.修改菜单文件

添加ks参数,ks指向你httpd或vftp服务器上的ks文件的位置。

如:ks=http://192.168.88.116/Centos_ks/Centos6.5_ks.cfg

    或ks=ftp://pub/Centos_ks/Centos6.5_ks.cfg

说明:如下这份default文件,只有a那个选项可以实现自动化安装。毕竟只有a选项的ks参数。

远程PXE无人值守安装、手动安装

default menu.c32

timeout 60

menu title CentOS Installation

label auto6.5

        menu label ^a. Auto Install Desktop CentOS 6.5

        kernel CentOS6.5/vmlinuz

        append initrd=CentOS6.5/initrd.img ks=http://192.168.88.116/Centos_ks/Centos

6.5_ks.cfg devfs=nomount ramdisk_size=2048

label linux6.5 text

        menu label ^b. Auto Install Text CentOS 6.5

        kernel CentOS6.5/vmlinuz

        append text initrd=CentOS6.5/initrd.img devfs=nomount ramdisk_size=2048

label linux rescue6.5

        menu label ^c. Install Rescue CentOS 6.5

        kernel CentOS6.5/vmlinuz

        append text initrd=CentOS6.5/initrd.img devfs=nomount ramdisk_size=2048

8.重启各种服务

service httpd restart

service dhcpd restart

service xinetd restart

注意:测试前先关闭本机的iptables和selinux(service  iptables  stop 、setenforce  0)

9.新建主机测试

开机后会自动跳转到如下页面。

远程PXE无人值守安装、手动安装

上一篇:PXE远程网络装机及CentOS 7无人值守安装


下一篇:VMware PXE 网络安装 CentOS 6.8