网络装机服务器简介

2021-03-23 10:06:20 浏览数 (1)

工作模式
  • PXE client集成在网卡的启动芯片中
  • 当计算机引导时,从网卡芯片中把PXE client调入内存执行,获取PXE server配置、显示菜单,根据用户选择将远程引导程序下载到本机运行
  • 网络装机服务器
    • DHCP服务器,分配ip地址、定位引导程序
    • TFTP服务,提供引导程序下载
    • HTTP服务 (或FTP/NFS),提供yum安装源

步骤

一. 配置DHCP服务(定位)

  • vim /etc/dhcp/dhcpd.conf
代码语言:javascript复制
[root@svr7 /]# vim   /etc/dhcp/dhcpd.conf
末行模式下  :r   /usr/share/doc/dhcp*/dhcpd.conf.example
subnet  192.168.4.0   netmask   255.255.255.0  {  #分配网段
  range  192.168.4.100    192.168.4.200;     #分配IP地址范围
  option  domain-name-servers   192.168.4.7;  #分配DNS
  option  routers   192.168.4.254;    #分配的网关地址
  default-lease-time   600;
  max-lease-time  7200;      
  next-server 192.168.4.7;    # 服务的ip地址
  filename "pxelinux.0"    # 指明网卡引导文件名称       }

二. 引导文件

  • 部署pxelinux.0文件
    • yum -y install tftp-server
代码语言:javascript复制
部署pxelinux.0文件
]# yum -y install syslinux    #安装syslinux软件包
]# cp  /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot/
]# ls   /var/lib/tftpboot/
pxelinux.0  
  • 部署菜单文件(光盘)
代码语言:javascript复制

[root@svr7 /]# mkdir  /var/lib/tftpboot/pxelinux.cfg
[root@svr7 /]# cp  /mydvd/isolinux/isolinux.cfg     /var/lib/tftpboot/pxelinux.cfg/default
  • 部署图形模块(vesamenu.c32)与背景图片(splash.png)
代码语言:javascript复制
[root@svr7 /]# cp  /mydvd/isolinux/vesamenu.c32      /mydvd/isolinux/splash.png     /var/lib/tftpboot/
  • 部署启动内核(vmlinuz)与驱动程序(initrd.img)
代码语言:javascript复制
[root@svr7 /]# cp   /mydvd/isolinux/vmlinuz   /mydvd/isolinux/initrd.img   /var/lib/tftpboot/
  • 修改菜单文件内容
    • vim /var/tftpboot/pxelinux.cfg/default 开启末行模式
代码语言:javascript复制
1 default  vesamenu.c32       #默认加载运行图形模块
2 timeout 600                       #读秒时间60秒,1/10秒
此处省略一万字……..
10 menu background  splash.png            #背景图片
11 menu title  NSD   PXE    Server       #菜单界面的标题
此处省略一万字……..
61 label  linux
62   menu label  ^Install  CentOS 7    #界面显示内容
63   menu  default           #读秒结束后默认的选项
64   kernel  vmlinuz          #加载内核
65   append  initrd=initrd.img    #加载驱动程序
以下全部删除 

三.提供软件源(ftp)

  • yum -y install vsftpd
  • 建立挂载点
代码语言:javascript复制
]# mkdir   /var/ftp/centos
]# mount   /dev/cdrom     /var/ftp/centos      #临时挂载
]# ls    /var/ftp/centos
  • 测试
代码语言:javascript复制
curl    ftp://192.168.4.7/centos/

四.生成应答文件

  • 安装system-config-kickstart工具
代码语言:javascript复制
[root@svr7 /]# yum -y install  system-config-kickstart
[root@svr7 /]# system-config-kickstart    #运行

将Yum仓库的标识为[development]才能识别安装包

  • 保存生成的文件为/root/ks.cfg
  • 利用FTP共享应答文件
代码语言:javascript复制
[root@svr7 /]# cp   /root/ks.cfg    /var/ftp/
  • 修改菜单文件,指定应答文件获取方式
代码语言:javascript复制
vim   /var/lib/tftpboot/pxelinux.cfg/default
……..此处省略一万字
label linux
menu label ^Install  CentOS  7
menu  default
kernel vmlinuz
append initrd=initrd.img   ks=ftp://192.168.4.7/ks.cfg

0 人点赞