PXE网络装机
一、 实验拓扑图
二、 实验环境
VMware + CentOS 5.8
三、实验要求
1. 在IP地址192.168.1.100上搭建PXE,然后使用PXE安装系统
四、操作步骤
1. 修改IP地址、主机名
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static -->将dhcp改为static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
HWADDR=00:0c:29:0f:cc:80
[root@localhost ~]# vim /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=PXE -->名字随意改
[root@localhost ~]# service network reload -->重启网络服务
2. 搭建yum源(插入系统盘)
[root@localhost ~]# mount /dev/cdrom /media/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]# rpm -ivh /media/CentOS/vsftpd-2.0.5-24.el5.i386.rpm -->安装ftp
[root@localhost ~]# cd /var/ftp/ -->进入ftp目录
[root@localhost ftp]# mkdir centos -->创建centos目录
[root@localhost ftp]# cp -rf /media/* centos/ -->将系统盘里面所有目录拷贝到centos目录
[root@localhost ftp]# umount /dev/cdrom -->卸载光盘. 挂载另外一张光盘
[root@localhost ftp]# mount /dev/cdrom /media/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ftp]# cp -rf /media/* centos/ -->将系统盘里面所有目录拷贝到centos目录
[root@localhost ftp]# vim /etc/yum.repos.d/CentOS-Base.repo -->
[base] -->仓库类别
name=CentOS-$releasever - Base -->仓库名称
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ -->URL访问路径
gpgcheck=1 -->验证软件包的签名
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 ->GPG公钥文件位置
改为:
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=ftp://192.168.1.10/CentOS -->URL访问路径 这是要改的地方
或者填写本地路径:baseurl=file:///var/ftp/CentOS
网站路径:baseurl=http://XXXXXXXX
[root@localhost ftp]# service vsftpd start -->开启ftp
[root@localhost ftp]# yum -y clean all -->清空yum缓存
[root@yum 桌面]# iptables -F -->清除清空所有规则
[root@yum 桌面]# iptables -X -->删除自定义链
3. 安装并启用TFTP服务
[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# vim /etc/xinetd.d/tftp
…………/省略部分信息
{
socket_type = dgram
protocol = udp -->TFTP采用UDP传输协议
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -->指定TFTP根目录
disable = no -->将YES改为NO
per_source = 11
cps = 100 2
flags = IPv4
}
[root@localhost ~]# umount /dev/cdrom -->卸载第二张盘
4. 准备Linux内核、初始化镜像文件
[root@localhost ~]# mount /dev/cdrom /media/ -->挂载第一张盘
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost ~]# cd /media/images/pxeboot/
[root@localhost pxeboot]# cp vmlinuz initrd.img /tftpboot/
5. 准备PXE引导程序、启动菜单文件
[root@localhost pxeboot]# yum -y install syslinux -->安装syslinux
[root@localhost ~]# rpm -ql syslinux |grep pxelinux.0 -->查找pexlinux.0的位置
/usr/lib/syslinux/pxelinux.0
[root@localhost ~]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
[root@localhost ~]# mkdir /tftpboot/pxelinux.cfg
[root@localhost ~]# vim /tftpboot/pxelinux.cfg/default
default auto -->指定默认入口名称
prompt 1 -->1表示等待用户控制
label auto -->默认安装
kernel vmlinuz
append initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux text -->文本安装
kernel vmlinuz
append text initrd=initrd.img devfs=nomount ramdisk_size=8192
label linux rescue -->救援模式
kernel vmlinuz
append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192
label用户定义并分隔启动项, kernel和append用来定义引导参数
6. 安装并启用DHCP服务
[root@localhost ~]# yum -y install dhcp -->利用yum安装dhcp
[root@PXE ~]# cp -rf /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
cp:是否覆盖“/etc/dhcpd.conf”? Y
[root@PXE ~]# vim /etc/dhcpd.conf -->修改dhcp主配置文件
subnet 192.168.0.0 netmask 255.255.255.0 -->所处网段. 将0改为1
option routers 192.168.1.1; -->网关
range dynamic-bootp 192.168.1.128 192.168.1.254; -->dhcp所分配的地址
next-server 192.168.1.10; -->指定TFTP服务器地址(手动添加)
filename "pxelinux.0"; -->指定PXE引导程序的文件名(手动添加)
[root@localhost ~]#service dhcpd start -->开启dhcp服务
[root@localhost ~]#service xinetd start -->开启TFTP服务
新建一个CentOS 32位, 将网卡和PXE设置在同一网卡上.
7. 实现无人值守安装
[root@localhost ~]#yum -y install system-config-kickstart -->安装无人值守软件
打开程序-->系统工具-->kickstart
配置完后需保存
[root@PXE ~]# cp ks.cfg /var/ftp/centos/ -->修改无人值守自动应答文件
[root@PXE ~]# vim /tftpboot/pxelinux.cfg/default
prompt 1 -->将1改为0
label auto
kernel vmlinuz
append ks=ftp://192.168.1.10/centos/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192
-->添加ks引导参数以指定ks.cfg应答文件的URL路径(红色字体需要手动添加)
新建CentOS 32位,网卡和PXE一样. 启动后无人值守PXE网络装机.
By:田埂上的梦