无人值守自动安装linux系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无人值守自动安装linux系统相关的知识,希望对你有一定的参考价值。
PXE基本原理概述
什么是PXE?
PXE:pre-boot executionenvironment预启动执行环境
由intel公司开发的技术
工作于C/s的网络模式
Client通过网络从server下载映像,并通过网络启动操作系统
应用场景
liveOS
OS安装
PXE基本原理
1 Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC 地址),如果合法则返回Client的IP 地址,同时将启动文件pxelinux.0 的位置信息一并传送给Client
2 Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP 接收到消息之后再向Client发送pxelinux.0大小信息,试探Client 是否满意,当TFTP 收到Client 发回的同意大小信息之后,正式向Client 发送pxelinux.0
3 Client 执行接收到的pxelinux.0 文件
4 Client 向TFTP Server 发送针对本机的配置信息文件(在TFTP 服务的pxelinux.cfg目录下),TFTP 将配置文件发回Client ,继而Client 根据配置文件执行后续操作。
5 Client 向TFTP 发送Linux 内核请求信息,TFTP 接收到消息之后将内核文件发送给Client
6 Client 向TFTP 发送根文件请求信息,TFTP接收到消息之后返回Linux 根文
件系统
7 Client 启动Linux 内核
8 Client下载安装源文件,读取自动化安装脚本
构建自动化安装系统的pxe服务
准备工作
关闭防火墙和seLinux
[[email protected] ~]# iptables -F [[email protected] ~]# setenforce 0 |
配置DHCP服务器
[[email protected] ~]# yum -y install dhcp [[email protected] ~]# cat /etc/dhcp/dhcpd.conf subnet 192.168.10.0 netmask 255.255.255.0{ range 192.168.10.100 192.168.10.200; next-server 192.168.10.1; #TFTP服务器地址 filename "pxelinux.0"; #Bootstrap文件名称 } [[email protected] ~]# systemctl restart dhcpd |
创建kiskstart文件
kickstart文件可以三种生成方式:
手动书写
通过system-config-kickstart图形工具
anaconda安装程序自动生成
[roo[email protected] ~]# yum install -y system-config-kickstart [[email protected] ~]# system-config-kickstart 启动kickstart图形工具 |
启动后按照自定义生成文件与安装系统界面相同这里不再阐述。
注意:centos7.3如果使用光盘镜像做的yum源会出现下面包无法选择的情况
需要修改yum仓库名称为development才可以选择安装包。
[[email protected] ~]# cat /etc/yum.repos.d/base.repo [development] #这个地方修改为development name=zachary baseurl=file:///mnt/cdrom gpgcheck=0 |
根据图形向导生成一个ks.cfg的文件。
安装syslinux软件包
[[email protected] ~]# yum -y install syslinux |
配置FTP服务器
此步骤可以使用其他类型服务器,比如nfs或者http
#安装ftp服务器 [[email protected] ~]# yum -y install vsftpd #配置安装系统所需的软件仓库 [[email protected] ~]# mkdir -pv /var/ftp/pub/centos/{6,7} [[email protected] ~]# mount /dev/sr0 /var/ftp/pub/centos/7 [[email protected] ~]# mount /dev/sr1 /var/ftp/pub/centos/6 [[email protected] ~]# mkdir –v /var/ftp/pub/ks [[email protected] ~]# mv ks6.cfg ks7.cfg /var/ftp/pub/ks/ks.cfg [[email protected] ks]# chmod +r /var/ftp/pub/ks/* #注意权限 |
注意:在配置完成ftp中的软件仓库后,一定要验证该仓库可用(浏览器查看一下)
TFTP服务器配置
[[email protected] ~]# yum -y install tftp-server [[email protected] ~]# cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/ [[email protected] ~]# mkdir –v /var/lib/tftpboot/{pxelinux.cfg,centos7.3,centos6.9} [[email protected] ~]# cp -v /var/ftp/pub/centos/7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos7.3/ [[email protected] ~]# cp -v /var/ftp/pub/centos/6/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6.9/ [[email protected] pxelinux.cfg]# cat default default menu.c32 timeout 300 menu title ########## PXE Boot Menu ########## label centos6.9 menu label ^Kickstart Inatall CentOS 6.9 menu default kernel centos6.9/vmlinuz append ks=ftp://192.168.10.3/pub/ks/ks6.cfg initrd=centos6.9/initrd.img label centos7.3 menu label ^Kickstart Inatall CentOS 7.3 menu default kernel centos7.3/vmlinuz append ks=ftp://192.168.10.3/pub/ks/ks7.cfg initrd=centos7.3/initrd.img |
注意:如果使用centos6来搭建pxe 服务器,tftp由xinetd服务来管理这种非独立服务。
设置相关服务启动
[[email protected] ~]# systemctl enable dhcpd.service [[email protected] ~]# systemctl start dhcpd.service [[email protected] ~]# systemctl enable tftp.socket [[email protected] ~]# systemctl start tftp.socket [[email protected] ~]# systemctl enable vsftpd.service [[email protected] ~]# systemctl start vsftpd.service |
测试
排错思路
每个服务器在测试过程中的排错都是根据其原来和返回的错误信息来进行错误的排查。PXE也不例外。
1客户端要使用pxe安装操作系统,首先要有一块支持pxea安装的网卡。
2 网卡获取ip地址 。网卡要正确获取ip地址和tftp服务器地址(next-sever)就需要检查dhcp配置选项。
3 正确获取ip地址后,tftp服务无法使用的常见情况有下面几种
dhcp配置文件中next-server地址与地址不符。
防火墙和selinux不允许访问tftp,这时可以对其做相应配置。简单方法是直接关闭。
tftp配置出现错误,可以通过这个目录树结构检查
[[email protected] tftpboot]# tree . ├── centos6.9 │?? ├── initrd.img │?? └── vmlinuz ├── centos7.3 │?? ├── initrd.img │?? └── vmlinuz ├── menu.c32 ├── pxelinux.0 └── pxelinux.cfg ├── default |
4 出现菜单文件后,基本上就与tftp没什么太大关系了。这时如果出现错误就是内核选项的参数问题,或者镜像仓库问题。以及ks文件的问题。如果在搭建过程中搭建软件仓库的那个步骤做过详细检查的话,一般这里不会出现大的错误。
问题一般出现在权限问题,路径问题。
5 特别提醒:在tftp服务器中的内核文件和ramfs一定要与安装镜像中的一致。
本文出自 “Keep simple keep stupid” 博客,请务必保留此出处http://yangzhiheng.blog.51cto.com/11586378/1966365
以上是关于无人值守自动安装linux系统的主要内容,如果未能解决你的问题,请参考以下文章