pxe kickstart 配置+TFTP+NFS多版本系统部署

系统centos6.5x86_64

1.DHCP服务配置.

yum安装dncp

[root@cnhzdhcp16593 ~]# yum -y install dhcp

配置dhcp服务,新建dhcpd.conf在/etc/dhcp下:

ddns-update-style interim;
ignore client-updates;

subnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gatewayt
       option routers                  192.168.1.1;  #我的eth1为192.168.1.1,两张网卡
        option subnet-mask              255.255.255.0;


        range dynamic-bootp 192.168.1.2 192.168.1.254;
        default-lease-time 21600;
        max-lease-time 43200;

allow bootp;
allow booting;
next-server 192.168.1.1;  #tftpserver IP地址
filename "pxelinux.0";
}

配置完成重新启动.  service dhcpd restart

2.配置tftp服务.

yum安装tftp

[root@cnhzdhcp16593 ~]# yum -y install tftp-server tftp

配置xinetd.d下tftp文件.

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -u nobody -s /tftpboot  #加入-u nobody 任何人可以访问.
        disable                 = no  #yes改为no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
重新启动tftp服务,需要重启xinetd服务(xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。)

service xinetd restart

3.NFS服务配置.

yum安装NFS.

[root@cnhzdhcp16593 ~]# yum -y install nfs*

配置nfs文件.

[root@cnhzdhcp16593 ~]# vim /etc/exports 

/netinstall/centos6.7 192.168.1.0/24(rw,sync)  #指定共享目录和IP网段
/netinstall/centos6.8 192.168.1.0/24(rw,sync)  #指定共享目录和IP网段

mkdir –p /netinstall/centos{6.7,6.8} #创建netinstall文件夹和需要的文件

4.pxe启动文件创建

[root@cnhzdhcp16593 tftpboot]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/   #copy pxelinux.0文件到tftpboot下.

[root@cnhzdhcp16593 /]# mount -o loop CentOS-6.8-x86_64-bin-DVD1.iso /mnt #挂载iso系统至/mnt下.

[root@cnhzdhcp16593 ~]# mkdir /tftpboot/centos{6.7,6.8} –p   #创建pxe所需启动文件目录.
[root@cnhzdhcp16593 ~]# cp -r /mnt/images/pxeboot/* /tftpboot/centos6.8/  #copy centos6.8启动文件至/tftpboot/centos6.8下

[root@cnhzdhcp16593 ~]# cp -r /mnt/images/pxeboot/* /tftpboot/centos6.7/  #挂载centos6.7至mnt下进行copy

[root@cnhzdhcp16593 ~]# mkdir /tftpboot/pxelinux.cfg/{default,list}  #创建default和list文件,(也可以从/mnt/isolinux/isolinux.cfg修改为default)系统引导菜单和版本.

编辑default文件:

default 0
prompt 1
timeout 600
display pxelinux.cfg/list    #启动列表

label 0
        localboot 0xffff   #设置label 0为本地启动

label 1
kernel centos6.7/vmlinuz  #修改kernel路径
append ks=nfs:192.168.1.1:/netinstall/centos6.7/ks.cfg initrd=centos6.7/initrd.img #添加nfs路径

label 2
kernel centos6.8/vmlinuz
append ks=nfs:192.168.1.1:/netinstall/centos6.8/ks.cfg initrd=centos6.8/initrd.img #同上


编辑list文件:


Welcome to my linux pxe install:
########################################################################

Num     Name          Distribution              Arch.           Installation media
-----------------------------------------------------------------------------------------------------
0)     local boot
1)     Centos-6.7     Centos-6.7-x86_64         x86_64          nfs://192.168.1.1/netinstall/centos6.7
2)     Centos-6.8     Centos-6.8-x86_64         x86_64          nfs://192.168.1.1/netinstall/centos6.8


 

[root@cnhzdhcp16593 pxelinux.cfg]# cp -r /mnt/* /netinstall/centos6.8/    #copy系统文件

[root@cnhzdhcp16593 pxelinux.cfg]# cp -r /mnt/* /netinstall/centos6.7/    #copy系统文件

5.生成ks.cfg文件.

yum安装system-config-kickstart:

yum -y install system-config-kickstart

system-config-kickstart    #在图形化运行,配置应答文件.

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use NFS installation media
nfs --server=192.168.1.1 --dir=/netinstall/centos6.7
# Root password
rootpw --iscrypted $1$VYnTpm4f$7XYrGJwCS4EmMm26l1pmh.
# 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
# Partition clearing information
clearpart --all 
# Disk partitioning information
part swap --fstype="swap" --size=4000
part / --fstype="ext4" --grow --size=1

%packages
@basic-desktop
@desktop-debugging
@desktop-platform
@fonts
@general-desktop
@graphical-admin-tools
@guest-agents
@input-methods
@legacy-x
@perl-runtime
@remote-desktop-clients
@virtualization
@virtualization-client
@virtualization-platform
@x11

%end

把生成的ks.cfg文件copy至/netinstall/centos6.7和6.8下,修改nfs --server=192.168.1.1 --dir=/netinstall/centos6.7或者centos6.8

需要注意的是关闭防火墙和selinux或者修改以下:

vim /etc/sysconfig/selinux #修改SELinux状态

SELINUX=permissive    #默认的enforcing修改为permissive

setenforce 0    #或者重启系统

#防火墙开放服务和端口号

firewall-cmd --permanent --add-port=111/tcp

firewall-cmd --permanent --add-port=111/udp

firewall-cmd --permanent --add-port=20048/tcp

firewall-cmd --permanent --add-port=20048/udp

firewall-cmd --permanent --add-port=69/udp

firewall-cmd --permanent --add-service=nfs

firewall-cmd --permanent --add-service=dhcp

firewall-cmd --reload

在客户端进行测试从nic网卡启动.

原文地址:https://www.cnblogs.com/ligao/p/5938541.html