博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PXE/kickstart网络装机
阅读量:5845 次
发布时间:2019-06-18

本文共 3074 字,大约阅读时间需要 10 分钟。

hot3.png

装机环境

1, win7的电脑中通过vmware workstation装了一台redhat6.7的虚拟机作为服务端,如果电脑系统是linux则选择KVM来安装linux虚拟机
2,服务器的ip是使用的桥接模式获取的,最好是把服务端IP固定

3,服务端需要安装以下服务器

服务端ip 192.168.1.105
DHCP服务器          分配IP地址,定位引导程序
DNS服务器            为客户机分配主机名(可选)
TFTP服务器           使用的UDP协议 不需要验证 速度块,为客户机提供引导程序下载
FTP/HTTP/NFS        提供yum源为客户端安装软件

4,PXE的原理与流程

  -  客户机从自己的 PXE 网卡启动,向本网络中的 DHCP 服务器索取 IP,并搜寻引导文件的位置。

  -  DHCP 服务器返回分给客户机 IP 以及 bootstrap 文件的放置位置(该文件一般是放在一台 TFTP 服务器上)。
  -  客户机向本网络中的 TFTP 服务器索取 bootstrap 文件。客户机取得 bootstrap 文件后之执行该文件。根据 bootstra 的执行结果,通过 TFTP 服务器加载内核和文
     件系统,进入安装画面, 此时可以通过选择 FTP,HTTP,NFS 方式之一进行安装。
5,安装过程

   (1)服务端搭建yum仓库

    我使用的挂载本地镜像源,把光盘当做文件系统挂到OS中,设置成开机自启动,
    [root pxelinux.cfg]# cat /etc/fstab |grep -i ftp
    /dev/cdrom                /var/ftp/rhel6          iso9660 defaults,loop   0 1
    
    
    [root pxelinux.cfg]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda2        18G   15G  2.3G  87% /
    tmpfs           932M  136K  931M   1% /dev/shm
    /dev/sda1       283M   41M  228M  16% /boot
    /dev/sr0        3.6G  3.6G     0 100% /var/ftp/rhel6
    (2) DHCP服务的配置
    1.安装dhcp软件包
    2.修改主配置文件/etc/dhcp/dhcpd.conf
        :r  /usr/share/doc/dhcp*/dhcpd.conf.sample

     subnet 192.168.1.0 netmask 255.255.255.0 {

      range 192.168.1.10 192.168.1.20;         #指定DHCP服务分配地址的范围
      option domain-name-servers 192.168.1.105;     #指定DHCP服务器
       next-server 192.168.1.105;             #指定客户端找的下一个服务器的的地址,也就是TFTP服务器
      filename "pxelinux.0";                 #指定PXE程序引导文件名
      option routers 192.168.1.1;            
    }

    检查DHCP语法是否是正确的  配置语法检查:service dhcpd configtest

    3.启动dhcpd服务并设置为开机自起
    找个其他的虚拟机测试是否可以从192.168.1.105获取ip
        dhclient -d eth0
    
    服务端dhcp的分配IP的档案查看租约文件:            /var/lib/dhcpd/dhcpd.leases
    客户端查看获得过哪些dhcp服务器分配的IP查看租约文件      /var/lib/dhclient/dhclient-eth0.leases

    (3) TFTP服务器的安装与配置

    TFTP是临时服务由xinetd管理,安装TFTP并去/etc/xinetd.d/tftp把服务启用,最好设置开机自启动
    资源根目录是 /var/lib/tftpboot
    3)读取启动配置(pxelinux.cfg/default)
    根据用户选择(或超时自动选择)下载指定的vmlinuz和initrd.img
    把光盘内的/var/ftp/rhel6/images/pexboot/下的文件  initrd.img 和vmlinuz拷到tftp的家目录
    /var/lib/tftpboot
    
    准备pxelinux.0(网卡引导文件)
 
    # yum  provides  */pxelinux.0   #查询由那个包产生的
      
    # yum -y install syslinux-nonlinux

    # rpm -ql syslinux-nonlinux |   grep pxelinux.0

    # cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/ 把网卡引导文件也拷贝到TFTP的家目录下面

    # ls  /var/lib/tftpboot/
    [root tftpboot]# ll
    total 39716
    -r--r--r-- 1 root root 36411002 Dec 12 20:21 initrd.img        #redhat6系统的镜像文件    
    -rw-r--r-- 1 root root    26759 Dec 12 20:30 pxelinux.0        #引导文件
    drwxr-xr-x 2 root root     4096 Dec 12 20:40 pxelinux.cfg    #引导文件的配置,选择哪个系统
    -r-xr-xr-x 1 root root  4222192 Dec 12 20:21 vmlinuz        #redhat6的临时文件系统
        
    4,如何配置网卡引导配置文件
    [root pxelinux.cfg]# cat default
    prompt 1
    timeout 600           #超时的时间
    default rhel6        #默认选择的系统的标签
    label rhel6        #标签名称
        kernel vmlinuz        #在/var/lib/tftpboot/加载vmlinuz
        append initrd=initrd.img #导入镜像文件

    

    5.什么是Kickstart?
    预先提供应答文件,定义好各种安装设置
    免去交互过程,实现全自动化安装
    添加%post脚本,可执行安装后的各种配置
    6.生成kickstart的方法有哪些?
    /root/anaconda-ks.cfg   找一台已经安装系统的详细过程模板
    服务端需要安装 安装system-config-kickstart工具

    7,使用kickstart自动安装,需要修改,把/root/anaconda-ks.cfg拷贝到FTP家目录下面

    达到自动配置客户机的需求      
    # vim /var/lib/tftpboot/pxelinux.cfg/default
      default abc
      timeout 60
      label abc
        kernel vmlinuz
        append initrd=initrd.img ks=ftp://192.168.4.5/ks.cfg

    ks.cfg可以先在192.168.1.105的服务器端设置好,会生成一个ks.cfg文件也就是配置的模板

总结:这个PXE网络装机是yum 源,网络配置,DHCP,FTP,TFTP加文件系统分区的集合,需要熟悉这些工作的流程和原理,具体细节配置可以百度。

 

转载于:https://my.oschina.net/u/3713661/blog/1594828

你可能感兴趣的文章
钉钉用户过亿,但马云得小心马化腾的反杀
查看>>
Exchange数据库灾难恢复课程介绍
查看>>
2015中国呼叫中心知识库发展的5个趋势
查看>>
“2014中国知识管理论坛”即将举办,探讨KM实施的路径和动力
查看>>
firefox扩展开发(四) : 更多的窗口控件
查看>>
WCF 第十一章 工作流服务 控制对服务开启的工作流的访问
查看>>
android 模拟器 实现 打电话 发短信的模拟状态
查看>>
分解查询结果
查看>>
DataGridView重绘代码参考--C#
查看>>
AJAX页面输出HTML标记
查看>>
【SSAS】Model-First Cube 设计的最佳实践
查看>>
数据结构C语言>3基本链表>3-8链表结构的反转
查看>>
ARM处理器中CP15协处理器的寄存器1376698090
查看>>
Android电池电量更新 - BatteryService(转)
查看>>
centos chmod 目录文件权限控制命令
查看>>
[转]买土豆的故事
查看>>
UC首页图片切换
查看>>
NET也有闭包
查看>>
WINDOWS 文件夹内容
查看>>
监控系统组件
查看>>