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

1. iptables -Fcss

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

2. yum -y install httpd dhcp tftp-serverhtml

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

3. 构建yum仓库linux

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引导文件nginx

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服务器sql

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

7. 准备系统引导文件vim

通常的系统引导文件放在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 查找引导文件,没有须要安装 syslinux pxelinux.0 menu32 两个文件复制到工做目录下 mkdir pxelinux.cfg 复制光盘镜像里面的isolinux.cfg 重命名为default文件 编辑default文件

default menu.c32
timeout 600centos

label local
menu label Boot from ^local drive
menu default
localboot 0xffff
menu title http://192/168.190.146/
label linux
menu label ^AutoInstall CentOS 7
kernel kernel7/vmlinuz
append initrd=kernel7/initrd.img ks=http://192.168.190.146/ksdir/ks7.cfg浏览器

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

inst.repo=http://192.168.190.146/centos/7/os/x86_64/网络

label linux
menu label ^AutoInstall CentOS 6
kernel kernel6/vmlinuz
append initrd=kernel6/initrd.img ks=http://192.168.190.146/ksdir/ks6.cfg
label manual
menu label ^Manual install CentOS 6
kernel kernel6/vmlinuz
append initrd=kernel6/initrd.img
repo=http://192.168.190.146/centos/6/os/x86_64/

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系统

相关文章
相关标签/搜索