zoukankan      html  css  js  c++  java
  • 用系统为centos6的主机,搭建PXE服务器,实现批量安装centos6,7系统

    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 查找引导文件,没有需要安装 syslinux
    pxelinux.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 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系统

  • 相关阅读:
    寻找金秋
    两个周末,两个湖
    桂花林上,再读“六项精进”
    锄奸杜幸,穷寇勿追
    招聘所见思考
    Xufun’s Node.js Primer
    我的软件过程,一年再读
    企业的生命期限,和组织的危机感
    头痛,偷闲,拾黄叶
    喝酒这件事,和等绿灯的习惯
  • 原文地址:https://www.cnblogs.com/aiaitie/p/9310543.html
Copyright © 2011-2022 走看看