博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用系统为centos6的主机,搭建PXE服务器,实现批量安装centos6,7系统
阅读量:5916 次
发布时间:2019-06-19

本文共 2888 字,大约阅读时间需要 9 分钟。

1. iptables -F

setenforce 0 临时关掉selinux,清掉防火墙    永久生效更改配置文件:vim /etc/sysconfig/selinux    chkconfig iptables off

2. yum -y install httpd dhcp tftp-server

安装http服务用于构建镜像文件的yum仓库    安装dhcp服务,搭建dhcp服务器,为客户端分配ip地址    安装tftp服务,搭建tftp服务器,准备系统启动的引导文件,如pxelinux.0 menu32 内核以及,磁盘映像文件

3. 构建yum仓库

service httpd start  开启http服务    ss -tnlp |grep -w 80 查看80服务的端口是否打开    echo 'test' > /var/www/html/index.html 用浏览器打开httpd服务器的ip地址,测试能否打开    mkdir -p /var/www/html/centos/7/os/x86_64    mkdir -p /var/www/html/centos/6/os/x86_64    该虚拟机可以添加两个光盘驱动,分别将对应的镜像文件,一一挂载到上面两个相对应的目录    mount /dev/sr0 /var/www/html/centos/7/os/x86_64    mount /dev/sr1 /var/www/html/centos/7/os/x86_64    到此,镜像文件的yum仓库已经构建好了,可以打开网页,测试一下。    http://192.168.190.146/centos/6/os/x86_64/    http://192.168.190.146/centos/7/os/x86_64/6    生产环境中,http服务器要保证有足够的容量存放,镜像文件,或者创建软连接到存储上。

4. 准备ks引导文件

在6上面使用服务器(安装了图形化),使用system-config-kickstart 命令可以编辑ks文件,设定分区大小,密码,要安装的包组,初始化环境脚本,等等最后保存为ks6.cfg文件。同理,在7的服务器上面使用同样的命令制作ks.cfg文件。在编辑时,无法选择rpm包组,解决方法为:将本机的本地仓库文件名,即【base】更改为 【development】后,再次执行 system-config-kickstart 即可      ksvalidator ks7.cfg 检查ks文件的语法将准备好的ks文件,放到pxe服务器的/var/www/html/,下面

5. 搭建tftp服务器

tftp 为非独立服务,centos6上面由Xinetd服务监听端口69 centos7上面由systemd监听    service xinetd start    chkconfig tftp on 开启tftp服务    ss -unlp |grep -w 69 查看69端口是否开启

7. 准备系统引导文件

一般的系统引导文件放在tftp服务器的工作目录  /var/lib/tftpboot/        [root@centos6 tftpboot]#tree        .        ├── kernel6        │   ├── initrd.img        │   └── vmlinuz        ├── kernel7        │   ├── initrd.img        │   └── vmlinuz        ├── menu.c32        ├── pxelinux.0        └── pxelinux.cfg                └── default准备好相应的启动文件。cp /var/www/html/centos/7/os/x86_64/isolinux/initrd.img .cp /var/www/html/centos/7/os/x86_64/isolinux/vmlinuz .cp /var/www/html/centos/6/os/x86_64/isolinux/{initrd.img,vmlinuz} .rpm -ql syslinux 查找引导文件,没有需要安装 syslinuxpxelinux.0 menu32 两个文件复制到工作目录下mkdir pxelinux.cfg复制光盘镜像里面的isolinux.cfg 重命名为default文件编辑default文件

default menu.c32

timeout 600

label local

menu label Boot from ^local drive
menu default
localboot 0xffff
menu title
label linux
menu label ^AutoInstall CentOS 7
kernel kernel7/vmlinuz
append initrd=kernel7/initrd.img ks=

label manual

menu label ^Manual install CentOS 7
kernel kernel7/vmlinuz
append initrd=kernel7/initrd.img

inst.repo=

label linux

menu label ^AutoInstall CentOS 6
kernel kernel6/vmlinuz
append initrd=kernel6/initrd.img ks=
label manual
menu label ^Manual install CentOS 6
kernel kernel6/vmlinuz
append initrd=kernel6/initrd.img
repo=

7. 搭建dhcp服务器

首先要配置dhcp服务的配置文件,否则启动dhcp服务会失败    vim /etc/dhcp/dhcpd.conf    cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf    直接用dhcp的模板配置文件覆盖原来的配置文件,在基础上进行修改    vim /etc/dhcp/dhcpd.conf

用系统为centos6的主机,搭建PXE服务器,实现批量安装centos6,7系统

service dhcpd start 开启dhcp服务    ss -unlp |grep dhcpd 查看dhcp服务端的端口67 是否开启    到此,dhcp服务器已搭建完毕

8.新建一个虚拟机,添加仅主机模式的网卡(和服务器一定要在同一个网络)。进行测试,效果如下:

用系统为centos6的主机,搭建PXE服务器,实现批量安装centos6,7系统

转载于:https://blog.51cto.com/11912662/2142563

你可能感兴趣的文章
**Python中的深拷贝和浅拷贝详解
查看>>
定时给ta讲笑话python3.x
查看>>
什么是敏捷开发
查看>>
Linux netstat命令详解
查看>>
SpringMVC注解HelloWorld
查看>>
软件架构的关键原则
查看>>
【BZOJ2286】【SDOI2011】消耗战 [虚树][树形DP]
查看>>
vector定义方式
查看>>
Struts2中数据封装机制
查看>>
UNITY 打包安卓APK
查看>>
完美的全选代码
查看>>
R TUTORIAL: VISUALIZING MULTIVARIATE RELATIONSHIPS IN LARGE DATASETS
查看>>
Spring声明式事务不回滚的问题
查看>>
国内最火的五款HTML5前端开发框架
查看>>
I.MX6 U-Boot ping网络
查看>>
Ubuntu 18.04安装docker 以及Nginx服务设置
查看>>
RTEMS 源文件coding conventions
查看>>
1、TensorFlow如何工作?
查看>>
HTML5 元素拖动
查看>>
常见电路符号
查看>>