zoukankan      html  css  js  c++  java
  • linux系统PXE+Kickstart自动安装系统

    一、PXE
    PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

    二、PXE工作流程
    ①PXE Client从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;
    ②DHCP服务器返回分配给客户机的IP以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上);
    ③PXE Client向本网络中的TFTP服务器索取pxelinux.0文件;
    ④PXE Client取得pxelinux.0文件后执行该文件;
    ⑤根据pxelinux.0的执行结果,通过TFTP服务器加载内核和文件系统;
    ⑥进入安装画面,此时可以通过选择HTTP、FTP、NFS方式之一进行安装;
    示意图:

    三、Kickstart
    Kickstart是一种无人值守的安装方式,它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,就需要安装者手工干预。因此,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么就可以实现完全自动安装了。

    四、演练测试
    演练环境
    VMware Workstation 12
    CentOS 6.5
    LAN区段 #注:关闭VM网络的DHCP功能,会有影响
    DHCP/TFTP/NFS IP:192.168.157.129
    Iptables & SElinux off

    预备
    1、配置YUM源(本演练使用系统镜像做YUM仓)
    ① 挂载光盘
    [root]# mount /dev/cdrom /mnt
    [root]# echo ‘/dev/cdrom /mnt iso9660 defaults 0 0’ >> /etc/fstab ##开机自动挂载
    ② 配置YUM
    [root]# cat /etc/yum.repos.d/iso.repo
    [iso]
    name=iso
    baseurl=file:///mnt
    enabled=1
    gpgcheck=0

    2、配置DHCP
    ①安装
    [root]# yum –y install dhcp
    ②修改配置文件(注意分号等格式问题)
    [root]# cat /etc/dhcp/dhcpd.conf
    ddns-update-style none;
    ignore client-updates;
    filename "pxelinux.0";
    next-server 192.168.157.129; #TFTP Server的IP地址
    subnet 192.168.157.0 netmask 255.255.255.0 { #所属网段掩码
    option routers 192.168.157.2; #路由器IP,可写网管IP
    option subnet-mask 255.255.255.0;
    range 192.168.157.200 192.168.157.230; #IP地址池
    default-lease-time 21600;
    max-lease-time 43200;
    }
    ③启动DHCP服务
    [root]# /etc/init.d/dhcpd start
    [root]# chkconfig dhcpd on

    3、配置NFS Server共享文件
    ①安装NFS Server
    [root]# yum –y install nfs-utils
    ②创建共享目录,存放镜像文件
    [root]# mkdir /dvd
    [root]# cp –r /mnt/* /dvd
    [root]# cat /etc/exports #共享目录
    /dvd *(rw)
    ③启动NFS服务,检查文件共享
    [root]# /etc/init.d/rpcbind start #要先启动rpcbind否则会有异常,详因可查阅NFS工作原理
    [root]# /etc/init.d/nfs start
    [root]# showmount –e
    Export list for example.com
    /dvd *
    4、配置TFTP服务器
    ①安装
    [root]# yum –y install tftp-server
    ②修改配置文件
    [root]# vim /etc/xinetd.d/tftp
    service tftp
    {
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /var/lib/tftpboot
    disable = no #将yes修改为no
    per_source = 11
    cps = 100 2
    flags = IPv4
    }
    ③启动服务
    [root]# /etc/init.d/xinetd start
    [root]# chkconfig xinetd on

    5、配置PXE启动所需要的文件
    ①安装syslinux
    [root]# yum –y install syslinux
    注:syslinux是一个功能强大的引导加载程序,而且兼容各种介质。Syslinux是一个小型的linux操作系统,它的目的是简化首次安装linux的时间,并建立修护后其他特殊用途的启动盘。
    ③ 拷贝相关文件到/var/lib/tftpboot/下
    [root]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
    [root]# cp /dvd/images/pxeboot/initrd.img /var/lib/tftpboot/
    [root]# cp /dvd/images/pxeboot/vmlinuz /var/lib/tftpboot/
    [root]# cp /dvd/isolinux/*.msg /var/lib/tftpboot/
    ④ 创建及配置相关文件
    [root]# mkdir -p /var/lib/tftpboot/pxelinux.cfg
    [root]# cp /dvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
    [root]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
    [root]# vim /var/lib/tftpboot/pxelinux.cfg/default
    default ks
    prompt 1
    timeout 6
    display boot.msg
    F1 boot.msg
    F2 options.msg
    F3 general.msg
    F4 param.msg
    F5 rescue.msg
    label linux
    kernel vmlinuz
    append initrd=initrd.img
    label text
    kernel vmlinuz
    append initrd=initrd.img text
    label ks
    kernel vmlinuz
    append ks=nfs:192.168.157.129:/dvd/ks.cfg initrd=initrd.img
    label local
    localboot 1
    label memtest86
    kernel memtest
    append -
    6、生成ks.cfg文件
    ks.cfg是kickstart安装配置文件,系统就是安装ks.cfg来安装。
    ①安装kickstart
    [root]# yum –y install system-config-kickstart
    ②启动图形化kickstart生成ks.cfg
    [root]# system-config-kickstart









    保存在/root/下,同目录下还有个anaconda-ks.cfg文件,将此文件中软件安装脚本拷贝到ks.cfg中(即%packages到%end)
    最后将ks.cfg文件拷贝到共享目录下即可/dvd

    下面就可以开启一台虚拟机安装验证配置了

    o(=•ェ•=)m纸上得来终觉浅,绝知此事要躬行o(=•ェ•=)m
  • 相关阅读:
    oracle proc 插入操作性能优化实践
    vmware 虚拟机共享文件夹无法显示问题解决
    oracle启动报错:ORA-03113
    c语言中sprintf()函数中的%使用
    c 的内存分配
    c实现队列
    c实现循环链表
    MantisBT导出Excel文件名显示中文的修改方法
    怎样通过Qt编写C/C++代码查询当前Linux的版本号?
    Kotlin Android Extensions: 与 findViewById 说再见 (KAD 04) -- 更新版
  • 原文地址:https://www.cnblogs.com/occl/p/6165297.html
Copyright © 2011-2022 走看看