虚拟机console基础环境配置——PXE引导无人值守安装环境配置

1. 概述
2. 部署过程
2.1 部署DHCP服务器
2.1.1 YUM安装依赖环境
2.1.2 配置/etc/dhcp/dhcpd.conf
2.2 部署TFTP服务器
2.2.1 安装xinetd服务
2.2.2 安装tftp-server
2.2.3 配置tftp-server
2.2.4 启动xinetd服务
2.3 配置pxelinux引导环境
2.3.1 安装syslinux
2.3.2 编辑default和oslist
2.3.3 无盘工作站
2.4 配置镜像站点
2.4.1 配置操作系统镜像站点
2.4.2 配置自动化配置文件站点
2.5 自动化安装配置文件
2.5.1 ks.cfg配置文件的获取
2.5.2 ks.cfg配置文件详解
3. 总结

1. 概述

无人值守安装,是基于PXE启动的无交互式操作系统安装过程,适合批量安装。

其步骤主要包括:

  1. 配置客户机的BIOS,使其在开机启动后,从网络引导操作系统
  2. 客户机从DHCP获取到IP地址
  3. 客户机在获取到IP地址后,能够通过TFTP获取pxelinux.0引导程序
  4. 客户机执行pxelinux.0获取远程操作系统列表
  5. 客户机选择操作系统类型和版本
  6. 客户机按照pxelinux.0对应的内核引导参数,加载ks.cfg自动化配置文件
  7. 客户机执行安装操作系统

从上述的步骤中,能够总结如下:

  • 获取IP地址

    从DHCP处获取IP地址

  • 获取pxelinux.0引导程序

    从TFTP处获取pxelinux.0

  • 获取操作系统类型和版本列表

    从pxelinux.cfg/default/oslist获取

  • 获取自动化配置文件

    从pxelinux.cfg/default中获取引导参数

2. 部署过程

2.1 部署DHCP服务器

DHCP服务器主要负责为客户机分配IP地址,并且能够根据MAC地址分配地址,主机名,时间服务器,网关,域名等网络信息。

注:DCHP协议详解和参数详解参见博客《DHCP协议详解.md》和《DHCP服务器配置dhcpd.conf详解.md》

2.1.1 YUM安装依赖环境

执行命令rpm -qa | grep dhcpd,检查是否已经安装DHCP;若未安装,执行命令yum -y install dhcd进行安装。

2.1.2 配置/etc/dhcp/dhcpd.conf

默认/etc/dhcp/dhcpd.conf无内容,修改其内容如下:

option domain-name "liwanliang.com";
option domain-name-servers 192.168.80.2,8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style interim;
ignore client-updates;
log-facility local7;
filename "pxelinux.0";
next-server 192.168.80.8;
subnet 192.168.80.0 netmask 255.255.255.0 {
    range dynamic-bootp 192.168.80.11 192.168.80.254;
    option broadcast-address 192.168.80.255;
    option routers 192.168.80.2;
    default-lease-time 21600;
    max-lease-time 4320;
}
subnet 192.168.10.0 netmask 255.255.255.0 {
    range dynamic-bootp 192.168.10.11 192.168.10.254;
    option broadcast-address 192.168.10.255;
    default-lease-time 21600;
    max-lease-time 4320;
}

解释:

  1. domain-name-server 为客户机设置DNS1和DNS2;
  2. filename 配置pxelinux引导程序名称;
  3. next-server 配置TFTP的地址;
  4. subnet设置IP池和相关网段,网关信息;

上过配置写入后,保存退出。此时还需要将客户机的MAC地址和主机名,IP绑定。如添加以下配置:

host node11-eth0 {
    hardware ethernet 00:00:00:80:00:11;
    fixed-address 192.168.80.11;
    option host-name node11;
}

host node11-eth1 {
    hardware ethernet 00:00:00:10:00:11;
    fixed-address 192.168.10.11;
    option host-name node11;
}

因为本篇博客需要做99台虚拟机的配置,因此用脚本完成。

注:脚本内容参见博客《shell-scripts::create_dhcp_conf.sh.md》

执行命令‘cat /usr/local/globle/confs/dhcpd/dhcpd_node.txt >> /etc/dhcp/dhcpd.conf‘,将脚本生成的内容,追加到/etc/dhcp/dhcpd.conf配置中

注:上述过程,完成了对DHCP的配置之后,将配置文件拷贝到/usr/local/globle/confs/dhcpd/dhcpd.conf。执行命令 ln -fs /usr/local/globle/confs/dhcpd/dhcpd.conf /etc/dhcp/dhcpd.conf,创建配置文件软链接

2.2 部署TFTP服务器

这部分主要进行TFTP的部署和配置。因为TFTP依靠xinetd服务,因此需要安装并配置xinetd服务

2.2.1 安装xinetd服务

执行命令:yum -y install xinetd

2.2.2 安装tftp-server

执行命令:yum -y install tftp-server

2.2.3 配置tftp-server

进入到目录/etc/xinetd/,编辑tftp-server的配置文件/etc/xinetd/tftp,将disable=yes改为disable=no,即开启xinetd监听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
    per_source      = 11
    cps             = 100 2
    flags           = IPv4
}

2.2.4 启动xinetd服务

执行命令:service xinetd start && chkconfig xinetd on 启动xinetd服务,监听tftp的端口

执行命令:netstat -tupln | grep xined,内容如下:

udp        0      0 0.0.0.0:69                  0.0.0.0:*                               4782/xinetd

出现上述监听,说明部署成功。

2.3 配置pxelinux引导环境

syslinux和pxelinux详细解释,参见博客《syslinux详解.md》

执行命令:find / -name pxelinux.0 查看系统是否安装syslinux环境。若没有则参照下面内容安装。

2.3.1 安装syslinux

执行命令:yum -y install syslinux,安装syslinux环境。

执行命令find / -name pxelinux.0可以找到/usr/share/syslinux/pxelinux.0,这便是网络引导时的系统加载程序。

将/usr/share/syslinux/pxelinux.0拷贝到/var/lib/tftpboot/目录下,修改pxelinux.0的权限为755。

注:/var/lib/tftpboot/是tftp-server的站点根目录。

并在创建目录mkdir -p /var/lib/tftpboot/pxelinux.cfg/,该目录是存放default和oslist的目录。

2.3.2 编辑default和oslist

default是在pxelinx.0从pxelinux.cfg加载的显示给用户的交互式界面,用户选择操作系统类型和或者版本等,此时pexlinux.0加载此项,说明还未加载操作系统内核镜像,只是给出一个选择。

default有一段配置,用于根用户交互,使用户选择操作系统类型和版本。

default内容如下:

#设置默认安装系统
default 1
#设置是否停顿等待.1:等待;0:不等待
prompt 1
#设置选择等待时间.60表示6s
timeout 60
#设置显示的信息文本
display pxelinux.cfg/oslist
#操作系统标签
#label 1:centos6.5
label 1
kernel /centos6.5/vmlinuz
    #append ksdevice=eth0 ks=http://192.168.80.8/kscfg/http-ks.cfg initrd=/centos6.5/initrd.img
    append  initrd=/centos6.5/initrd.img
label 2
#label 2:centos7.2
kernel /centos7.2/vmlinuz
    append ksdevice=eth0 ks=http://192.168.80.8/kscfg/http-ks.cfg intird=/centos6.5/initrd.img
#label 3:ubuntu
#label 4:vmware esxi 6.5
#label 6:xen

上述内容中,配置了默认选择的操作系统版本和内核镜像存放位置/var/lib/tftboot/centos6.5/vimlinuz,以及通过append选项传递给启动内核的参数。

在display一行的配置中,通过pxelinux.cfg/oslist文件来跟用户交互。

oslist的内容是用户自定义内容,本篇博客内容配置如下:

|------------os type----------------|
[1]-centos6.5(default)--------------|
[2]-centos7.2-----------------------|
[3]-ubuntu16.04---------------------|
[4]-exsi 6.5------------------------|
[5]-xen6.5--------------------------|
|-----------------------------------|

可以看出,oslist主要是让用户选择对应的数字,或者说内核标签。然后default会根据用户选择的标签,传递给pexlinux.0用户选择的内核,参数等,然后pxelinux.0开始加载内核镜像,并解压安装。

如下图:

从图中能够看出:

  • 客户机已经从DHCP处获取到了IP地址为192.168.80.11
  • 客户机已经从TFTP处获取到了pexlinux.0程序
  • pexlinux.0程序根据tftpboot处的pexlinux.cfg/default配置的oslist内容并展示
  • boot选项会在6s内无操作的情况下,自动加载centos6.5内核镜像文件

2.3.3 无盘工作站

如上所述,当我们在配置了pexlinux.cfg/default中append的参数时,便可进行无人值守的操作系统安装。这只是PXE的应用之一。

应用之二便是多操作系统选择和无盘工作站。只需要将默认选择改变,同时将客户机改为从网络启动,便可以为客户机轻松改变操作系统系统类型和版本。

具体操作参见博客《无盘工作站的创建.md》

2.4 配置镜像站点

2.4.1 配置操作系统镜像站点

镜像站点的配置,有多种方式,包括本地和远程。远程镜像站点的配置,参见包括《虚拟机console基础环境配置——系统镜像站点配置.md

2.4.2 配置自动化配置文件站点

至此,当配置一台kvm虚拟机(指定其MAC地址),然后启动KVM虚拟机时,该虚拟机会从DHCP服务器获取到IP地址和TFTP的网络引导程序,进而从网络站点加载操作系统镜像。假如没有在启动内核中配置自动化配置文件,这个过程和KVM从远程站点安装操作系统一致。

因此,要实现自动化批量安装,即无人值守的安装,还需要配置ks.cfg文件,并在内核引导参数中指定。

2.5 自动化安装配置文件

2.5.1 ks.cfg配置文件的获取

自动化安装配置文件ks.cfg有三种方式可以获取:

  • 图形化配置
  • 修改先有配置
  • 手动创建并编辑

2.5.2 ks.cfg配置文件详解

3. 总结

自动化配置,主要是无需交互。无交互主要是避免大规模装机的重复劳动。因此无人值守的自动化装机,就是利用PXE引导方式,根据PXE指定的内核参数,加载自动化安装配置文件后,自动安装操作系统。

原文地址:https://www.cnblogs.com/liwanliangblog/p/9108088.html

时间: 2024-10-26 15:13:04

虚拟机console基础环境配置——PXE引导无人值守安装环境配置的相关文章

虚拟机console基础环境部署——工作目录准备

1. 概述2. 相关约定2.1 删除旧文件2.2 创建全局共享文件目录2.3 创建全局软件安装目录2.4 创建数据放置目录3. 总结 1. 概述 上述博客中,已经为console最小化安装了操作系统. 接下来,就要通过console来做一些初始的工作目录.这些目录主要用作以后的全局文件,共享给各个虚拟机使用,包括: 相关配置类confs 全局脚本类scripts 软件包类softs 环境配置类sysenv 前面的博客中,已经将宿主机对应的目录共享给了console.VMware Tools提供的

虚拟机console基础环境配置——sshd安全登陆

1. 概述2. xshell远程登陆3. 配置sshd服务3.1 修改配置文件3.2 重启sshd服务4. 配置密钥登陆4.1 生成密钥对4.2 上传(下载)公密钥4.3 公钥写入console的/root/.ssh/authorized_keys4.4 创建连接测试密钥登陆4.5 配置sshd 1. 概述 在上一篇博客中,主要介绍了通过VMware workstation为虚拟机console安装最小化系统.本篇博客将介绍如何安全登陆console. 登陆Linux主机的方式有很多种,可归类为

虚拟机console基础环境准备——挂载数据盘

1. 概述2. 操作2.1 查看磁盘设备2.2 格式化磁盘设备2.3 挂载使用2.4 查看挂载 1. 概述 OS与DATA分离,是运维人员必须养成的规范的职业意识.没有任何事情是可靠的,因此需要做好预防工作. 将OS与DATA分离,一方面能够避免OS故障时,导致数据无法取出,另一方面用不同的磁盘存放不同的内容,是非常重要的一个环节.即便是同一块磁盘,分区也是保护处于该磁盘上不同文件内容的重要手段之一. 总之,运维便是运筹帷幄,我们不仅要面对已经发生的事情,也要面对可能发生的事情. 2. 操作 在

虚拟机console基础环境配置——系统镜像站点配置

1. 概述2. 部署HTTP服务器2.1 YUM安装httpd2.2 配置httpd2.3 启动httpdf2.4 测试httpd3. 部署FTP服务器3.1 YUM安装vsftpd3.2 配置vsftpd3.3 查看ftp服务4. NFS服务部署4.1 YUM安装依赖软件4.2 配置共享目录4.3 启动服务4.3 验证挂载 1. 概述 本篇博客主要为console配置HTTP/FTP/NFS三大文件共享服务器,为以后工作做准备. HTTP服务部署,仅作简单的配置,用坐系统镜像站点 FTP服务器

虚拟机console基础环境部署——系统基础环境

1. 概述2. 工具类安装2.1 安装vim2.2 安装tree2.3 安装expect3. 编译环境类安装 1. 概述 本系列博客是在最小化安装CentOS6.5的基础上,通过配置本地YUM的方式,来后期部署需要的环境,或安装需要的工具. 因为通过YUM安装时,YUM会在程序日志/var/log/yum.log记录安装的依赖软件包,因此建议采用YUM安装时,单独安装,能够通过日志查看软件或者工具的依赖关系. 通过系统日志/var/log/messages也能够查看到YUM的日志信息 具体的YU

批量装机环境,配置PXE引导,kickstart自动应答

本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 在CentOS真机部署Web目录/var/www/html/rh7dvd 挂载RHEL7光盘镜像文件到该目录 访问 http://192.168.4.254/rhel7/ 测试,确保可用 1.2 方案 PXE网络装机的整体思路 -- 装机条件准备: 准备RHEL7安装源(HTTP方式YUM库) 启用DHCP服务 PXE网络装机的整体思路 -- PXE引导配置: 启用TFTP服务,提供装机用的内核.初始化文件 提供PXE引导程

VMware 安装centOS6.4虚拟机以及基础环境搭建

一个空的虚拟机就完成了 但这个虚拟机现在还是一个空壳,我们需要导入准备好的系统文件 确定,后 跳过检测 设置主机名,并配置网卡 勾选开机启动网卡 选择时区 设置密码 写入到磁盘 选择桌面版,下一步 接下来等大概十分钟,重启进入系统 不用设置用户,下一步 往下走没什么说的了,最后整个系统算是完成了 接下来是基础环境的搭建 192.168.138.131是ip地址   Bcast是广播地址   Mask是子网掩码 1.IP地址 此时网络是可以使用的 上面 ip是192.168.138.131是属于1

Centos-7.3配置PXE+kickstart无人值守安装

Centos-7.3配置PXE+KICKSTART自动安装系统 首先查看当前系统版本,如图,当前版本是Centos 7.3.1611 PXE+kickstart服务安装必须要安装的有:Dhcp 提供自动IP分配和指定文件位置的服务Tftp-server xinetd 提供tftpd服务Syslinux 提供pxelinux.0文件Httpd 提供安装包及ks.cfg文件共享的功能,也可以使用vsftpd服务. 环境初始设置:关闭SELINUX#vi /etc/sysconfig/selinuxS

批量装机环境 、 配置PXE引导 、 kickstart自动应答

虚拟机A    1. 将防火墙状态设置为trusted  2.SELinux当前修改为permissive  3.SELinux永久状态修改为permissive    4.清空Yum缓存,检查Yum是否可用 虚拟机B    1. 将防火墙状态设置为trusted  2.SELinux当前修改为permissive  3.SELinux永久状态修改为permissive    4.清空Yum缓存,检查Yum是否可用 /etc/selinux/config (永久状态配置文件) #########