zoukankan      html  css  js  c++  java
  • Linux-TFTP之用于网络远程安装

    TFTP:Trival File Transfer Protocol,简单文件传输协议。是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。

      TFTP和FTP的区别

    1、FTP用TCP协议,TFTP用UDP协议
    2、FTP支持用户认证,TFTP不支持
    3、FTP文件大小没有限制,TFTP有限制,32MB大小
    4、TFTP仅仅支持下载和上传(get/put)两个操作

    TFTP用于网络远程安装

    网络远程安装流程:

    开机自检->网卡BOOT ROM的DHCP客户端从DHCP服务器的到IP, 掩码,DN服务器,默认网关和TFTP服务器IP及TFTP文件信息

    ->网卡BOOT ROM用TFTP协议从TFTP服务器上面下载TFTP文件,将TFTP文件pxelinux.0装载到内存

    ->pxelinux.0是一个小小的操作系统,因而能够启动机器

    ->pxelinux.0用TFTP协议下载Linux内核(vmlinuz)和初始化内存盘(initrd.img),用vmlinuz开机

    ->vmlinuz根据传给它的参数,启动装机过程

    初始化内存盘:是一个文件压缩包,里面包含了一些Linux内核vmlinuz需要的一些文件,它被pxelinux.0下载并在内存里面解压

    PXE:Pre-Excutable Environment,预启动环境,Intel定义的一个网络开机流程

    配置TFTP,启用TFTP服务,并提供内核、引导程序

    1.安装tftp服务器软件

    # yum -y install tftp-server

    xinetd :超级服务器,负责管理tftp,rsync等子服务

    /etc/xinetd.d :xinetd的配置文件所在目录,一个子服务一个文件

    配置tftp

    1 vim /etc/xinetd.d/tftp
    2 
    3 service tftp {
    4 ...
    5 disable = no
    6 ...
    7 }

    重新启动xinetd服务器并且设置开机自动启动xinetd服务:

    1 service xinetd restart
    2 chkconfig xinetd on

    /var/lib/tftpboot/:存储TFTP文件的目录,可以供客户访问

     

    pxelinux.0来源于syslinux包

    1 yum -y install syslinux

    /usr/share/syslinux:存放着很多TFTP文件,可以用来启动机器

    1 cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
    2 
    3 
    4 cd /mnt/rhel-dvd/images/pxeboot/
    5 cp vmlinz initrd.img /var/lib/tftpboot/ 

    pxelinux.0需要一个启动菜单

     1 mkdir /var/lib/tftpboot/pxelinux.cfg
     2 
     3 
     4 vim /var/lib/tftpboot/pxelinux.cfg/default
     5 
     6 default lisi
     7 prompt 0
     8 label lisi
     9     kernel vmlinuz
    10     append ks=ftp://192.168.0.11/rhel6/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=8192

    测试TFTP

    1 yum -y install tftp
    2 tftp 192.168.1.1 -c get pxelinux.0
  • 相关阅读:
    elastic job 动态设置定时任务
    org.springframework.beans.factory.NoSuchBeanDefinitionException
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:unpack (unpack) on project sq-integral-web: Unable to find artifact.
    The method setItems(String) in the type ForTokensTag is not applicable for the arguments (Object)
    linux 配置文件(启动文件、环境文件)启动顺序
    linux shell 执行命令顺序
    在Linux上编译使用tcmalloc
    eclipse启动报错: No Java virtual machine
    http2.0可行性研究
    python 内存问题(glibc库的malloc相关)
  • 原文地址:https://www.cnblogs.com/RzCong/p/6026392.html
Copyright © 2011-2022 走看看