zoukankan      html  css  js  c++  java
  • pxe kickstart 配置+TFTP+NFS多版本系统部署

    系统centos6.5x86_64

    1.DHCP服务配置.

    yum安装dncp

    [root@cnhzdhcp16593 ~]# yum -y install dhcp

    配置dhcp服务,新建dhcpd.conf在/etc/dhcp下:

    ddns-update-style interim;
    ignore client-updates;

    subnet 192.168.1.0 netmask 255.255.255.0 {

    # --- default gatewayt
           option routers                  192.168.1.1;  #我的eth1为192.168.1.1,两张网卡
            option subnet-mask              255.255.255.0;


            range dynamic-bootp 192.168.1.2 192.168.1.254;
            default-lease-time 21600;
            max-lease-time 43200;

    allow bootp;
    allow booting;
    next-server 192.168.1.1;  #tftpserver IP地址
    filename "pxelinux.0";
    }

    配置完成重新启动.  service dhcpd restart

    2.配置tftp服务.

    yum安装tftp

    [root@cnhzdhcp16593 ~]# yum -y install tftp-server tftp

    配置xinetd.d下tftp文件.

    service tftp
    {
            socket_type             = dgram
            protocol                = udp
            wait                    = yes
            user                    = root
            server                  = /usr/sbin/in.tftpd
            server_args             = -u nobody -s /tftpboot  #加入-u nobody 任何人可以访问.
            disable                 = no  #yes改为no
            per_source              = 11
            cps                     = 100 2
            flags                   = IPv4
    }
    重新启动tftp服务,需要重启xinetd服务(xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。)

    service xinetd restart

    3.NFS服务配置.

    yum安装NFS.

    [root@cnhzdhcp16593 ~]# yum -y install nfs*

    配置nfs文件.

    [root@cnhzdhcp16593 ~]# vim /etc/exports 

    /netinstall/centos6.7 192.168.1.0/24(rw,sync)  #指定共享目录和IP网段
    /netinstall/centos6.8 192.168.1.0/24(rw,sync)  #指定共享目录和IP网段

    mkdir –p /netinstall/centos{6.7,6.8} #创建netinstall文件夹和需要的文件

    4.pxe启动文件创建

    [root@cnhzdhcp16593 tftpboot]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/   #copy pxelinux.0文件到tftpboot下.

    [root@cnhzdhcp16593 /]# mount -o loop CentOS-6.8-x86_64-bin-DVD1.iso /mnt #挂载iso系统至/mnt下.

    [root@cnhzdhcp16593 ~]# mkdir /tftpboot/centos{6.7,6.8} –p   #创建pxe所需启动文件目录.
    [root@cnhzdhcp16593 ~]# cp -r /mnt/images/pxeboot/* /tftpboot/centos6.8/  #copy centos6.8启动文件至/tftpboot/centos6.8下

    [root@cnhzdhcp16593 ~]# cp -r /mnt/images/pxeboot/* /tftpboot/centos6.7/  #挂载centos6.7至mnt下进行copy

    [root@cnhzdhcp16593 ~]# mkdir /tftpboot/pxelinux.cfg/{default,list}  #创建default和list文件,(也可以从/mnt/isolinux/isolinux.cfg修改为default)系统引导菜单和版本.

    编辑default文件:

    default 0
    prompt 1
    timeout 600
    display pxelinux.cfg/list    #启动列表

    label 0
            localboot 0xffff   #设置label 0为本地启动

    label 1
    kernel centos6.7/vmlinuz  #修改kernel路径
    append ks=nfs:192.168.1.1:/netinstall/centos6.7/ks.cfg initrd=centos6.7/initrd.img #添加nfs路径

    label 2
    kernel centos6.8/vmlinuz
    append ks=nfs:192.168.1.1:/netinstall/centos6.8/ks.cfg initrd=centos6.8/initrd.img #同上


    编辑list文件:


    Welcome to my linux pxe install:
    ########################################################################

    Num     Name          Distribution              Arch.           Installation media
    -----------------------------------------------------------------------------------------------------
    0)     local boot
    1)     Centos-6.7     Centos-6.7-x86_64         x86_64          nfs://192.168.1.1/netinstall/centos6.7
    2)     Centos-6.8     Centos-6.8-x86_64         x86_64          nfs://192.168.1.1/netinstall/centos6.8


     

    [root@cnhzdhcp16593 pxelinux.cfg]# cp -r /mnt/* /netinstall/centos6.8/    #copy系统文件

    [root@cnhzdhcp16593 pxelinux.cfg]# cp -r /mnt/* /netinstall/centos6.7/    #copy系统文件

    5.生成ks.cfg文件.

    yum安装system-config-kickstart:

    yum -y install system-config-kickstart

    system-config-kickstart    #在图形化运行,配置应答文件.

    #platform=x86, AMD64, or Intel EM64T
    #version=DEVEL
    # Firewall configuration
    firewall --disabled
    # Install OS instead of upgrade
    install
    # Use NFS installation media
    nfs --server=192.168.1.1 --dir=/netinstall/centos6.7
    # Root password
    rootpw --iscrypted $1$VYnTpm4f$7XYrGJwCS4EmMm26l1pmh.
    # System authorization information
    auth  --useshadow  --passalgo=sha512
    # Use graphical install
    graphical
    firstboot --disable
    # System keyboard
    keyboard us
    # System language
    lang en_US
    # SELinux configuration
    selinux --disabled
    # Installation logging level
    logging --level=info
    # Reboot after installation
    reboot
    # System timezone
    timezone  Asia/Shanghai
    # Network information
    network  --bootproto=dhcp --device=eth0 --onboot=on
    # System bootloader configuration
    bootloader --location=mbr
    # Partition clearing information
    clearpart --all 
    # Disk partitioning information
    part swap --fstype="swap" --size=4000
    part / --fstype="ext4" --grow --size=1

    %packages
    @basic-desktop
    @desktop-debugging
    @desktop-platform
    @fonts
    @general-desktop
    @graphical-admin-tools
    @guest-agents
    @input-methods
    @legacy-x
    @perl-runtime
    @remote-desktop-clients
    @virtualization
    @virtualization-client
    @virtualization-platform
    @x11

    %end

    把生成的ks.cfg文件copy至/netinstall/centos6.7和6.8下,修改nfs --server=192.168.1.1 --dir=/netinstall/centos6.7或者centos6.8

    需要注意的是关闭防火墙和selinux或者修改以下:

    vim /etc/sysconfig/selinux #修改SELinux状态

    SELINUX=permissive    #默认的enforcing修改为permissive

    setenforce 0    #或者重启系统

    #防火墙开放服务和端口号

    firewall-cmd --permanent --add-port=111/tcp

    firewall-cmd --permanent --add-port=111/udp

    firewall-cmd --permanent --add-port=20048/tcp

    firewall-cmd --permanent --add-port=20048/udp

    firewall-cmd --permanent --add-port=69/udp

    firewall-cmd --permanent --add-service=nfs

    firewall-cmd --permanent --add-service=dhcp

    firewall-cmd --reload

    在客户端进行测试从nic网卡启动.

  • 相关阅读:
    蓝鸥0c考试 绝密
    省市县用对象实现
    省市区用字典实现
    3道比较有用的oc练习题
    ios 开发 OC编程 类的扩展 协议 延展和 类目
    ios 开发 OC编程 内存管理
    ios 开发 OC编程 块语法bolck的一些应用
    ios 开发 OC编程 块语法bolck
    中等难度的通讯录.字典 动态分组法
    TestFlight
  • 原文地址:https://www.cnblogs.com/ligao/p/5938541.html
Copyright © 2011-2022 走看看