PXE安装centos6和centos7系统

1.准备阶段

1)两台主机:一台DHCP,HTTPD,TFTP服务器(DHCP服务器设置静态IP)  、一台测试机

2)关闭vmware中dhcp服务

      编辑-->虚拟网络编辑器(N)-->更改设置-->VMnet8-->去掉“使用本地DHCP服务将IP地址分配给虚拟机”前面的勾

3.关闭防火墙和SELINUX

关闭防火墙  

systemctl stop firewalld.service

systemctl disable firewalld.service

关闭SELINUX

临时关闭:setenforce 0

修改配置文件/etc/sysconfig/selinux中的SELINUX=enforcing为SELINUX=disabled永久关闭

getenforce      查看selinux状态

 

 

2.安装阶段

1)安装服务

yum install httpd tftp-server dhcp syslinux

 

2)启动服务  

systemctl start  httpd tftp

systemctl enable httpd  tftp

启动dhcp服务,需要先修改配置文件

cp /usr/share/doc/dhcp*/dhcpd.conf.example  /etc/dhcp/dhcpd.conf

vim /etc/dhcp/dhcpd.conf

image

systemctl status dhcpd

systemctl enable dhcpd

 

3)yum源准备

mkdir /var/www/html/centos/{6,7}/os/x86_64 –pv

.

        ├── 6

        │   └── os

        │       └── x86_64

        └── 7

        └── os

                └── x86_64

临时挂载

mount /dev/sr0 /var/www/html/centos/7/os/x86_64

mount /dev/sr1 /var/www/html/centos/6/os/x86_64

网页中显示

image  

 

4)文件准备

a.) 准备  pxelinux.0    menu.c32 

cd /usr/share/syslinux/

    cp pxelinux.0  menu.c32  /var/lib/tftpboot/ 

b.)准备 vmlinuz    initrd.img 

cd /var/www/html/centos/7/os/x86_64/isolinux/

    cp  vmlinuz initrd.img  /var/lib/tftpboot/centos7  

cd /var/www/html/centos/6/os/x86_64/isolinux/

    cp vmlinuz initrd.img  /var/lib/tftpboot/centos6

c.)准备  default        【注意:default 是没有后缀的! ! ! ! 】

手动修改isolinux.cfg后,必须改名为default,放入pxelinux.cfg文件夹中  【注意:pxelinux.cfg 这个文件夹名千万不要写错了,我自己做的时候都写成了pexlinux.cfg!!!!

mkdir  /var/lib/tftp/pxelinux.cfg

cp /var/www/html/centos/7/os/x86_64/isolinux/isolinux.cfg     /var/lib/tftp/pxelinux.cfg/default.cfg   [只需拷贝一份isolinux.cfg即可]

image

修改后的default

default menu.c32
timeout 600
menu title CentOS Auto Install

label linux
  menu label Install CentOS Desktop ^7
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img ks=http://192.168.47.100/ksdir/ks7_desktop.cfg

label desktop
  menu label Install CentOS Desktop ^6
  kernel centos6/vmlinuz
  append initrd=centos6/initrd.img ks=http://192.168.47.100/ksdir/ks6_desktop.cfg

label local
  menu default
  menu label Boot from ^local drive
  localboot 0xffff 

5)ks文件准备

将准备好的ks文件存放在以下新建的目录中

mkdir /var/www/html/ksdir

检查是否具有权限

[root @ centos7 ksdir]#ll
total 8
-rw-r--r-- 1 root root 1486 Oct 28 06:24 ks6_desktop.cfg
-rw-r--r-- 1 root root 2019 Nov  1 21:13 ks7_desktop.cfg
添加权限

chmod +r /var/www/html/ksdir/ks7_desktop.cfg

前台能显示,则有权限

image

以下是自己准备的一个ks文件:ks7_desktop.cfg

#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
url --url=http://192.168.47.100/centos/7/os/x86_64/
# Use graphical install
text
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
selinux  --disabled
firewall --disabled

# Network information
network  --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto --no-activate
network  --hostname=centos7.2

# Root password
rootpw --iscrypted $6$O2ZWUmYwweOPntI0$q07fTs7ICSVM8ZW5mM6YOcXOuecB2PSgRl.xX95J0NPbxQnHMykj1Siy/0Mp819AJrDjYG3/GXKUwDnvtbAcb.
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
user --name=tao --password=$6$5ldvg4O4sLwkRQe0$E/M2JT8eIbyS5Rhg/CIFF.a6aG5tae1gWoB6Zo1My4tx5lDTKxkwrASxszkvWosisbSGMqIo4et0klkDBTn4.0 --iscrypted --gecos="TAO"
# X Window System configuration information
xconfig  --startxonboot
# System bootloader configuration
bootloader  --location=mbr  --boot-drive=sda
# Partition clearing information
# Disk partitioning information
clearpart --all --initlabel
zerombr
reboot

part / --fstype="xfs" --ondisk=sda --size=102400
part /boot --fstype="xfs" --ondisk=sda --size=1024
part swap --fstype="swap" --ondisk=sda --size=4096
part /data --fstype="xfs" --ondisk=sda --size=51200

%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

 

6)测试安装

如下图所示,只要ks文件没问题,基本上就可以正常安装了

image

 

 

3.安装过程中出现的问题

出现了以下问题,可能是ks文件或者default文件存在问题

image

image

 

centos6安装出现的问题

网上的解答

这个问题一般是安装源是由dvd光盘解压得到的,将镜像站点centos/6.2/os/x86_64/repodata/下的所有文件下载下来,覆盖相应的目录,可以解决这个问题。

image