PXE网络无人值守装机
PXE网络无人值守装机
项目目标:PXE实现局域网络中裸机自动安装Linux操作系统。
项目要求:
在局域网192.168.11.0/24 内部署一台 PXE 装机服务器(CentOS 6.5系统)
提供带图片背景的PXE选择菜单,支持为客户机裸机装配64位的CentOS 6.5、RHEL 5.9 操作系统:
倒计时30秒,若未选择则默认安装RHEL 5.9系统(kickstart自动应答)
添加进RHEL5的rescue救援模式的菜单项
从本地硬盘启动的菜单项
客户机装配过程实现全自动应答(kickstart 无人值守),并且为装好的客户机做如下调整:
自动配置好yum 仓库、主机名(stationX.tarena.com)、IP地址
添加一个名为myadm 的管理员用户(具有root权限),密码设为pwd123
配置可匿名上传、禁用本地用户的vsftpd 服务,设为开机自运行
所涉及的软件源均通过HTTP 方式提供给各客户机
环境设定:网络域为test.net;网络网段为192.168.11.0/24,服务器名为pxesvr.test.net服务器地址为192.168.11.254。
实现步骤:
配置服务器网络参数
[root@pxesvr ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=pxesvr.test.net
[root@pxesvr ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:5F:F1:6A
TYPE=Ethernet
UUID=bac27caf-cc9c-4992-bc86-4d3ecdf5e4d9
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.11.254
NETMASK=255.255.255.0
[root@pxesvr ~]# service network restart
[root@pxesvr ~]# service iptables stop
[root@pxesvr ~]# chkconfig iptables off
[root@pxesvr ~]# vim /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
[root@pxesvr ~]# setenforce 0
搭建YUM源
安装httpd服务:
[root@pxesvr ~]# yum -y install httpd
[root@pxesvr ~]# service httpd start
[root@pxesvr ~]# chkconfig httpd on
拷贝系统安装文件:
[root@pxesvr ~]# mkdir /var/www/html/{centos6,rhel5}
插入CentOS 6.5光盘
[root@pxesvr ~]# cp -rf /misc/cd/* /var/www/html/centos6/
切换RHEL 5.10光盘
[root@pxesvr ~]# cp -rf /misc/cd/* /var/www/html/rhel5/
编制centos.repo并复制一份放置至网站根目录以便其他客户机(CentOS6.5)获取
[root@pxesvr ~]# vim /etc/yum.repos.d/centos.repo
[centos]
name=CentOS 6
baseurl=http://pxesvr.test.net/centos6/
enabled=1
gpgcheck=0
编制centos.repo放置至网站根目录以便客户机(RHEL5.9)获取
[root@pxesvr ~]# vim /var/www/html/rhel.repo
[rhel]
name=RHEL
baseurl=http://pxesvr.test.net/rhel5/Server/
enabled=1
gpgcheck=0
安装配置DHCP服务
[root@pxesvr ~]# yum install -y dhcp
[root@pxesvr ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "test.net";
option domain-name-servers pxesvr.test.net;
subnet 192.168.11.0 netmask 255.255.255.0 {
range 192.168.11.1 192.168.11.250;
option routers 192.168.11.254;
}
[root@pxesvr ~]# service dhcpd start
[root@pxesvr ~]# chkconfig dhcpd on
安装配置DNS服务
[root@pxesvr ~]# yum install -y bind bind-chroot
[root@pxesvr ~]# vim /var/named/chroot/etc/named.conf
options {
directory "/var/named";
};
zone "test.net" IN {
type master;
file "test.net.zone";
};
zone "11.168.192.in-addr.arpa" IN {
type master;
file "192.168.11.arpa";
};
[root@pxesvr ~]# vim /var/named/chroot/var/named/test.net.zone
$TTL 84600
@ IN SOA test.net. root.test.net. (
2014072201
8H
2H
4H
1D
)
@ IN NS pxesvr.test.net.
http IN A 192.168.11.254
ftp IN A 192.168.11.254
tftp IN A 192.168.11.254
pxesvr IN A 192.168.11.254
$GENERATE 1-200 station$ IN A 192.168.11.$
[root@pxesvr ~]# vim /var/named/chroot/var/named/192.168.11.arpa
$TTL 84600
@ SOA test.net. root.test.net. (
2014072201
8H
2H
4H
1D
)
@ IN NS test.net.
254 IN PTR pxesvr.test.net.
$GENERATE 1-200 $ IN PTR station$.test.net.
[root@pxesvr ~]# service named start
[root@pxesvr ~]# chkconfig named on
安装配置TFTP服务及PXE
安装启动TFTP
[root@pxesvr ~]# yum install -y tftp-server
[root@pxesvr ~]# chkconfig tftp on
[root@pxesvr ~]# service xinetd start
[root@pxesvr ~]# chkconfig xinetd on
准备客户机网络启动所需文件(vmlinuz, inittrd.img)
[root@pxesvr ~]# mkdir /var/lib/tftpboot/{centos,rhel}
[root@pxesvr ~]# cp /var/www/html/centos6/isolinux/{vmlinuz,initrd.img} /var/lib
/tftpboot/centos/
[root@pxesvr ~]# cp /var/www/html/rhel5/isolinux/{vmlinuz,initrd.img} /var/lib
/tftpboot/rhel/
准备PXE配置文件、网络启动文件及图形菜单相关文件
[root@pxesvr ~]#yum install -y syslinux
[root@pxesvr ~]# cp /usr/share/syslinux/{pxelinux.0,vesamenu.c32} /var/lib/tftpboot/
[root@pxesvr ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@pxesvr ~]# cp /var/www/html/centos6/isolinux/isolinux.cfg /var/lib
/tftpboot/pxelinux.cfg/default
[root@pxesvr ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32
timeout 600
menu background a.jpg //此图像自定义,放置在/var/lib/tftp/目录下
menu title Welcome to Linux Installation!
label RedHat Enterprise Linux
menu label ^Install RHEL5
menu default
kernel rhel/vmlinuz
append ks=http://192.168.11.254/rhel5/ks.cfg initrd=rhel/initrd.img
label RHEL5 Rescue
menu label RHEL5 Rescue ^Mode
kernel rhel/vmlinuz
append initrd=rhel/initrd.img rescue
label CentOS 6
menu label Install^CentOS 6
kernel centos/vmlinuz
append ks=http://192.168.11.254/centos6/ks.cfg initrd=centos/initrd.img
label Boot from Local
local boot 1
编辑dhcp配置文件,添加tftp服务地址及网络启动文件信息
[root@pxesvr ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "test.net";
option domain-name-servers pxesvr.test.net;
subnet 192.168.11.0 netmask 255.255.255.0 {
range 192.168.11.1 192.168.11.250;
option routers 192.168.11.254;
next-server 192.168.11.254;
filename "pxelinux.0";
}
[root@pxesvr ~]# service dhcpd restart
制作Kickstart无人值守脚本
制作CentOS ks脚本
[root@pxesvr ~]# yum install -y system-config-kickstart
[root@pxesvr ~]# system-config-kickstart
制作完成的脚本保存至/var/www/html/centos6/ks.cfg如下:
firewall --disabled
install
url --url="http://192.168.11.254/centos6/"
rootpw --iscrypted $1$1R/sO31L$YjlWwUaUhBRpa.PhLik231
auth --useshadow --passalgo=sha512
text
firstboot --disable
keyboard us
lang zh_CN
selinux --disabled
logging --level=info
timezone Asia/Shanghai
network --bootproto=dhcp --device=eth0 --onboot=on
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --fstype="ext4" --size=200
part swap --fstype="swap" --size=2048
part / --fstype="ext4" --grow --size=1
%post --interpreter=/bin/bash
rm -rf /etc/yum.repos.d/*
wget http://pxesvr.test.net/centos.repo -O /etc/yum.repos.d/centos.repo
yum clean all
yum install -y vsftpd
wget http://pxesvr.test.net/vsftpd.conf -O /etc/vsftpd/vsftpd.conf
chmod 757 /var/ftp/pub/
service vsftpd restart
chkconfig vsftpd on
useradd -u 0 -o myadm
echo pwd123 | passwd --stdin myadm
%end
%packages
@basic-desktop
@chinese-support
@desktop-debugging
@desktop-platform
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@legacy-x
@remote-desktop-clients
@x11
%end
制作RHEL ks脚本
[root@rhel ~]# yum install -y system-config-kickstart
[root@rhel ~]# system-config-kickstart
制作完成的脚本保存至/var/www/html/centos6/ks.cfg如下:
auth --useshadow --enablemd5
bootloader --location=mbr
zerombr
clearpart --all --initlabel
text
firewall --disabled
firstboot --disable
key 2515dd4e215225dd
keyboard us
lang zh_CN
logging --level=info
url --url=http://192.168.11.254/rhel5/
network --bootproto=dhcp --device=eth0 --onboot=on
reboot
rootpw --iscrypted $1$dwY1zvXs$SlYtPTfRSrhJBLL8wJJCl1
selinux --disabled
timezone Asia/Shanghai
install
xconfig --defaultdesktop=GNOME --depth=8 --resolution=640x480
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=200
part swap --bytes-per-inode=4096 --fstype="swap" --size=2049
part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1
%post --interpreter=/bin/bash
rm -rf /etc/yum.repos.d/*
wget http://192.168.11.254/rhel.repo -O /etc/yum.repos.d/rhel.repo
yum clean all
yum install -y vsftpd
wget http://192.168.11.254/vsftpd.conf -O /etc/vsftpd/vsftpd.conf
chmod 757 /var/ftp/pub/
service vsftpd restart
chkconfig vsftpd on
useradd -u 0 -o myadm
echo pwd123 | passwd --stdin myadm
wget http://192.168.11.254/rhel5/inittab -O /etc/
init 6
%packages
@chinese-support
@gnome-desktop
@base-x
项目实施完毕。
转载于:https://blog.51cto.com/paundudo/1530264
PXE网络无人值守装机相关推荐
- Linux 自动化部署安装 《PXE网络无人值守安装 》
网络无人值守安装 网络无人值守安装 网络无人值守安装的作用 网络无人值守安装的流程简介 DHCP的部署 dhcp简介 配置 DHCP 配置 TFTP 部署Kickstart 文件 测试: 网络无人值守 ...
- PXE网络批量装机+Kickstart无人值守安装
1.什么是PXE? PXE( Preboot eXecution Environment,预启动执行环境 )是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网 ...
- PXE网络引导装机原理介绍
作为计算机专业的学生,上学期间总是被亲戚朋友叫来解决电脑问题,比如装系统,选购电脑,配置路由器,电脑蓝屏等等.特别是帮一些女同学装系统,练就了一身的装系统能力. 大学时候装系统都是利用U盘进行装机(光 ...
- PXE+Kickstart 无人值守装机
PXE一键装机 PXE(Preboo ...
- rhel6 PXE网络装机和Kickstart无人值守安
################################PXE################################## pxe-server ifconfig(192.168.2. ...
- YUM仓库服务与PXE网络装机无人值守
YUM概述 1.YUM,Yellow dog Updater Modified 基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件包由集中的YUM软件仓库提供 2.软件仓库的提供方式 FT ...
- Linux6.4通过PXE网络装机
搭建PXE远程安装服务器 准备RHEL6安装源 [root@localhost ~]# mkdir/var/ftp/rhel6 [root@localhost ~]# cp -rf/media/* / ...
- linux 网络装机,如何搭建和配置PXE网络装机服务
如何搭建和配置PXE网络装机服务 发布时间:2020-06-01 22:31:50 来源:亿速云 阅读:309 作者:鸽子 首先需要安装基于UDP协议的TFTP服务端,来进行后期的简单文件的网络传输, ...
- PXE配合Kickstart无人值守装机
PXE配合Kickstart无人值守装机 一.PXE概述 二.PXE批量部署的优点 三.部署PXE远程安装服务 四.搭建PXE远程安装服务器 1.安装并启用TFTP 服务 2.安装并启用DHCP服务 ...
最新文章
- android 横竖屏限制如何配置
- R语言构建ElasticNet回归模型实战:基于mtcars数据集
- mac pdf去水印_今天才知道,Word、PDF文档去水印这么简单!一键水印说拜拜
- spark 源码分析之十三 -- SerializerManager剖析
- LeetCode:204. 计数质数
- C++:拷贝构造函数与深/浅拷贝
- guassdb200 single node deployment
- 专访余承东:华为引领行业进步 折叠屏手机即将上市
- python3.5安装教程及环境配置_Python安装和环境配置教程
- Oracle DBA课程系列笔记(4)
- SQL数据库收缩日志
- 使用PHP脚本远程部署git项目
- Mac系统Option键的妙用,能够极大提升你的效率
- tomcat利用setenv对内存的限制和docker中tomcat内存的优雅配置
- 2022大厂高频面试题之CSS篇
- Guice 依赖注入
- 大气压随温度变化表_【请求提供地球大气的气压和温度随高度变化的数据,最好提供曲线图.】作业帮...
- Oracle sql语句 待新增(新增字段)
- 计算机图片怎样存在桌面上,电脑桌面上怎么放照片
- 配色三部曲-你真懂颜色了吗?
热门文章
- 第八届全球游戏大会(GMGC北京2019)
- 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
- 《Git in Practice》作者访谈:关于Git的八个问题
- sparkContext之一:sparkContext的初始化分析
- TimerHandler的简单应用
- 如何有效地提升 JavaScript 水平?
- arcgis的server不可用
- 新版 apache_2.0.54 php-5.0.4 mysql-4.1.12a 组合安装向导(原创)
- 基于组件的.NET软件开发(3)
- LCUI.css 0.1.2 发布, 基于 LCUI 开发的 UI 组件库