基于AutoYaST 自动化安装 SUSE 实践

前言

在金融行业中我所接触的操作系统主要是AIX和SLES(SUSE Linux Enterprise Server),也许大家平时用得更多是CentOS,虽然有部分差异但原理都是相通的,SMIT和YaST也是灰常实用的功能,推荐大家有机会尝试体验下。因为网上关于SuSE自动化部署的参考文章较少,这套自动化部署方案已经被验证并在生产系统使用了1年半,配置相对成熟和稳定。遵循Don’t Repeat Yourself原则,本文主要介绍基于AutoYaST实现半自动化SuSE定制光盘和PXE网络全自动化安装SuSE的实践过程,如需了解更加详细的参数说明可以参考扩展阅读中的SuSE官网。

AutoYaST是自动化部署SuSE的黄金搭档

SuSE自动安装光盘定制版本

SUSE Linux Enterprise Server 11 (x86_64) VERSION = 11 PATCHLEVEL = 2

下载地址 – https://www.suse.com/zh-cn/download-linux/

AutoYast简介

AutoYast是SuSE Linux的自动安装工具。通过AutoYast,在DHCP、TFTP、PXE服务的支持下,通过FTP、NFS等网络安装源可以实现SuSE Linux的完全无人值守自动安装。但是,这种方式必须建立独立的服务器且客户端支持PXE网络启动,在现场没有网络或者系统不支持客户端网卡的场景下不适合,通过AutoYast制作的SuSE Linux一键安装光盘可以满足上述场景。本文主要介绍SuSE Linux Enterprise Server 11(简称SLES11)一键安装光盘的制作, 其他SuSE Linux仅供参考。

生成AutoYaST配置文件

AutoYast配置成功后,生成一个名为autoinst.xml的XML配置文件,SuSE Linux通过这个文件控制操作系统的安装。

AutoYast生成配置文件有3种方式:

系统安装时生成配置文件

按照正常步骤安装SLES11,把必须的软件全部安装。运行到最后一步“安装已完成”,勾选“为AutoYast复制此系统”,系统开始克隆系统生成配置文件,并弹出提示窗口。生成配置文件用时约2分钟左右,生成的配置文件位于/root目录下。

运行命令生成或者修改配置文件

如果在系统安装时没有生成配置文件,可以运行命令生成。在系统中打开终端,以root用户运行命令yast2 autoyast,打开AutoYast配置窗口,选择“工具”->“创建参考配置文件”,弹出“创建参考控制文件”窗口。勾选需要配置的项目,如软件包选择、语言、分区、键盘布局、防火墙、网络设置等,AutoYast根据选择的项目从系统获取相关配置信息。选择“文件”->“保存”,弹出“另存为”窗口,输入文件名“autoinst.xml”,选择“保存”,系统提示文件保存到指定目录下。

有时我们需要对模块做些调整,比如磁盘分区、软件包等。以调整磁盘分区为例介绍配置文件的修改。 以root用户运行yast2 autoyast,打开AutoYast窗口,选择“文件”->“打开”,选择autoinst.xml文件,等系统读取配置后,在AutoYast窗口显示配置配件名称,修改后保存即可。

制作安装光盘

AutoYast配置文件生成后,可以开始制作一键安装光盘了。制作一键安装光盘需要用到SLES11的原安装光盘的数据。

我的配置文件预设分区

名称格式大小

swapswap16G

bootext3120M

LVM

rootext35G

usrext310G

varext35G

optext310G

homeext315G

tmpext310G

总计71G

预装软件包预设语言主要:英语 添加:中文预设用户名/密码

root/如果你直接复用我的配置文件请私信我获取密码 😀

预设网络配置

禁用服务:防火墙,IPv6

SuSE自动化PXE网络安装PXE基本原理什么是PXE?

PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。 PXE协议的成功运行需要解决以下两个问题: 1. 既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置; 2. 通过什么协议下载Linux内核和根文件系统。

对于第一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。 至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。 这样,PXE协议运行的条件就具备了,下面我们就来看看PXE协议的工作过程。

工作过程

在下图中,,PXE client是需要安装Linux的计算机,TFTP Server和DHCP Server运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核以及Linux根文件系统都放置在Linux Server上TFTP服务器的根目录下。 PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。

方案介绍

这种方案需要首先设置一个启动服务器和一个安装服务器(可以配置在同一台物理机上),然后通过网络启动存放在启动服务器上的安装程序。安装程序会自动访问存放在安装服务器上的安装配置文件和安装介质来完成安装。

涉及到的技术 该方案主要应用了三种技术: 1. 在PC上从网络启动SLES安装程序的PXE协议 2. SLES安装程序提供的网络安装功能(即指通过网络访问安装介质) 3. SLES安装程序提供的无人值守安装功能(SuSE称为AutoYast)

软硬件需求 要按本文介绍的方法完成自动化安装,你需要如下软硬件资源:

配置tftpd

为了简化步骤,我们在XP虚拟机下搭建DHCP和TFTP服务端,用tftpd工具来整合实现PXE网络引导,注意服务端与客户端要在同一局域网内。在Linux下配置服务的原理类似,具体方法可参考互联网。

(1)下载tftpd

(2)启动tftpd32程序,选择【Settings】

(3)按需勾选,这里我们仅选择【TFTP】和【DHCP】

只有坚韧不拔向着目标奋进,成功后将在不远处等待着你的到来。

基于AutoYaST 自动化安装 SUSE 实践

相关文章:

你感兴趣的文章:

标签云: