海运的博客

PXE启动KickStart全自动安装系统

发布时间:November 4, 2012 // 分类:PXE // No Comments

关于PXE服务器配置、客户端引导见之前文章:使用TFTP/PXE引导安装Centos系统
通过KickStart自动安装只需修改最后PXE引导菜单配置文件:

cat /tftpboot/pxelinux.cfg/default 
#www.haiyun.me
timeout 5
default menu.c32

menu title ########## PXE Boot Menu ##########
label 1
   menu label ^1) Install CentOS 6
   kernel centos6/vmlinuz
   append initrd=centos6/initrd.img ks=nfs:192.168.1.3:/tftpboot/ks.cf 
#引导获取KickStart配置文件,然后在KickStart文件中配置安装源。

KickStart配置文件可使用图形化配置,需安装桌面或开启X-Windows环境转发

yum install system-config-kickstart 

kickstart图形化配置工具.png
KickStart配置文件示例:

text
install
nfs --server=192.168.1.3 --dir=/mnt
#光盘镜像挂载目录
#url --url=http://192.168.1.3/mnt/ #可使用http或ftp
keyboard us
lang zh_CN.UTF-8
network --device eth0 --bootproto static --ip 192.168.1.30 --netmask 255.255.255.0 
--gateway 192.168.1.1 --nameserver 192.168.1.1 --hostname centos5.7-x64
firewall --disabled
rootpw onovps
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Aisa/Shang_Hai
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --fstype ext4 --fsoptions="noatime" --size=200
part pv.1 --size 1 --grow
volgroup vg0 --pesize=4096 pv.1
logvol / --fstype ext4 --fsoptions="noatime" --name=root --vgname=vg0 --grow --size=8192
logvol swap --fstype swap --name=swap --vgname=vg0 --size 2048
 
%post
%end
%packages
@base
%end

这样局域网下机器以PXE启动就自动安装为相应的系统了。

Centos安装TFTP/NFS/PXE服务器网络引导安装系统

发布时间:November 3, 2012 // 分类:PXE // No Comments

客户端网卡要求支持以PXE启动,配置都在服务端进行,通过PXE网络启动安装系统流程:

客户端以PXE启动发送DHCP请求;
服务器DHCP应答,包括客户端的IP地址,引导文件所在TFTP服务器;
客户端通过TFTP会话下载网络引导文件;
进入PXE引导菜单选项,加载镜像启动安装进程。

1.安装DHCP服务器:

yum install dhcp

DHCP配置:

cat /etc/dhcpd.conf 
#www.haiyun.me
ddns-update-style none;
ignore client-updates; 
default-lease-time           259200;
max-lease-time               518400;
option routers               192.168.1.254;
option domain   www.haiyun.me;
option domain-name-servers   192.168.1.254;

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.101 192.168.1.200; 
    next-server 192.168.1.3; #TFTP服务器
    allow booting;
    allow bootp;
    filename "pxelinux.0"; #启动引导文件,后续会介绍。
}

host pc {
    hardware ethernet    08:00:27:11:EB:C2;
    fixed-address        192.168.1.130;
    option root-path     "/client/pc01";
    }

2.安装TFTP服务器:

yum install tftp-server

TFTP以xinetd启动,配置如下:

cat /etc/xinetd.d/tftp 
service tftp
{
    socket_type        = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server            = /usr/sbin/in.tftpd
    server_args        = -s /tftpboot
    disable            = no
    per_source        = 11
    cps            = 100 2
    flags            = IPv4
}

3.NFS服务器安装,挂载ISO安装光盘:

yum install nfs
mount -t iso9660 -o loop /dev/cdrom /mnt/
cp /mnt/images/pxeboot/* /tftpboot/

NFS配置:

cat /etc/exports 
/mnt *(rw,no_root_squash)

4.安装syslinux配置网络启动,相当于GRUB。

yum install syslinux
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

5.PXE引导菜单配置,相当于GRUB配置文件,可根据客户端MAC定义名称。

cp /usr/lib/syslinux/menu.c32 /tftpboot/
mkdir /tftpboot/pxelinux.cfg/
cat /tftpboot/pxelinux.cfg/default 
timeout 100
default menu.c32

menu title ########## PXE Boot Menu ##########
label 1
   menu label ^1) Install CentOS 6
   kernel vmlinuz
   append initrd=initrd.img method=nfs:192.168.1.3:/mnt
   #method为安装光盘目录,可使用FTP/HTTP多种方式
label 2
   menu label ^2) Boot from local drive
   localboot

6.客户端开机以PXE引导启动即可进入Centos安装界面。
PXE网络引导安装Centos.png
后续可通过kickstart无人值守安装系统

分类
最新文章
最近回复
  • : linux系统上单个网卡多条宽带拨号获取公网IP,外网可以访问这些IP,有偿! Q:25299...
  • 硅谷少年: 非常有用,感谢分享
  • spartan2: https://dashboard.hcaptcha.com/welcome_accessib...
  • 海运: 应该能,在购买页面先手工跳过cf机器验证,后续一定时间内不更换ip应该不会再次验证。
  • spartan: 大佬斯巴达开启了CF的机器识别验证,请问插件能自动跳过吗? 另外这个脚本有没有简单使用说明,新...
  • vincent: 膜拜大佬
  • 海运: proxy-header或proxy_protocol
  • liangjw: 如果是 内部调用 或者 中间存在 代理 而上一个代理又在内网 ,那怎么处理来自代理私有IP?
  • chainofhonor: 感谢,用dnsmasq设置自动判断BIOS和UEFI成功了
  • 海运: 不好意思,这个是很多年前的,现在也许已经不适用,我现在也不用多线了。