一、远程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)为了下载更快使用阿里源(可选)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
清除原有yum缓存
yum clean all
更新yum缓存
yum makecache
(2)安装tftp、dhcp、syslinux
yum -y install tftp-server dhcp syslinux
2.启用tftp服务,提供内核、引导程序、初始化镜像
(1)修改tftp配置文件
仅修改红框部分
(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
第一个红框为默认通过menu.c32这个二进制文件来生成菜单。(菜单内容为下面的标签)
第二个红框为菜单等待时间,此实际等待时间为该值的十分之一
第三个红框为标签名字,显示在菜单上的选项名。
第四个红框为内核文件。
第五个红框为初始化镜像文件。
第六个红框为设备文件,此时选择不挂载。就按图上就行。
第七个红框为内存大小设置。
4.配置dhcp并启动
(1)修改配置文件
vim /etc/dhcp/dhcpd.conf
第一红框用来指定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自动安装(无人值守安装)
1.安装httpd、tftp、dhcp、syslinux
由于Centos6.5安装后自带httpd,故不用安装!没有的要安装一下!
(1)为了下载更快使用阿里源(可选)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
清除原有yum缓存
yum clean all
更新yum缓存
yum makecache
(2)安装tftp、dhcp
yum -y install tftp-server dhcp syslinux
2.启用tftp服务,提供内核、引导程序、初始化镜像
(1)修改tftp配置文件
仅修改红框部分
(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
第一个红框为默认通过menu.c32这个二进制文件来生成菜单。(菜单内容为下面的标签)
第二个红框为菜单等待时间,此实际等待时间为该值的十分之一
第三个红框为标签名字,显示在菜单上的选项名。
第四个红框为内核文件。
第五个红框为初始化镜像文件。
第六个红框为设备文件,此时选择不挂载。就按图上就行。
第七个红框为内存大小设置。
4.配置dhcp并启动
(1)修改配置文件
vim /etc/dhcp/dhcpd.conf
第一红框用来指定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参数。
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.新建主机测试
开机后会自动跳转到如下页面。