基于AutoYaST自动化安装SuSE实践

Bootstrap 1

前言

在金融行业中自我所接触的操作系统首如若AIXSLES(SuSE Linux Enterprise Server),也许大家常常用得越来越多是CentOS,就算有一部分差距但原理都是相通的,SMITYaST也是灰常实用的功力,推荐我们有时机品尝体验下。因为网上关于SuSE自动化布署的参考作品较少,那套自动化安排方案已经被证实并在生产连串应用了1年半,配置相对成熟和稳定。遵守Don't Repeat Yourself原则,本文主要介绍基于AutoYaST落成半自动化SuSE定制光盘和PXE网络全自动化安装SuSE的履行进度,如需了然进一步详实的参数表明可以参见增添阅读中的SuSE官网。

AutoYaST是自动化陈设SuSE的黄金搭档


履新历史

2015年05月28日 – 初稿

开卷原文 –
http://wsgzao.github.io/post/autoyast/

Bootstrap,扩大阅读


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种方法:

  1. 系统设置时自动生成
  2. 系统装置后经过运行命令生成
  3. 直接编辑生成(偷懒最佳姿势

系统设置时生成配置文件

遵守正规步骤安装SLES11,把必须的软件全体设置。运行到最后一步“安装已做到”,勾选“为AutoYast复制此系统”,系统开首克隆系统生成配置文件,并弹出提醒窗口。生成配置文件用时约2分钟左右,生成的计划文件位于/root目录下。

Bootstrap 2

运转命令生成依旧修改配置文件

万一在系统装置时未尝转变配置文件,能够运行命令生成。在系统中打开终端,以root用户运行命令yast2 autoyast,打开AutoYast配置窗口,拔取“工具”->“创建参考布局文件”,弹出“成立参考控制文件”窗口。勾选必要布置的品种,如软件包选取、语言、分区、键盘布局、防火墙、互连网设置等,AutoYast按照接纳的档次从系统得到相关计划新闻。接纳“文件”->“保存”,弹出“另存为”窗口,输入文件名“autoinst.xml”,拔取“保存”,系统提醒文件保留到指定目录下。

Bootstrap 3

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

制作安装光盘

AutoYast配置文件生成后,可以起来制作一键安装光盘了。制作一键安装光盘需求用到SLES11的原安装光盘的多少。

#首先复制SLES11原安装光盘的数据到指定目录
mkdir /tmp/sles11
cp -R /media/S*/* /tmp/sles11
#复制autoinst.xml
cp /root/autoinst.xml /tmp/sles11
#编辑isolinux.cfg文件,找到# install所在位置
cd boot/x86_64/loader/

vi isolinux.cfg

# install
  append initrd=initrd autoyast=file:///autoinst.xml splash=silent showopts 
:x!

#运行mkisofs命令生成自动安装光盘
cd /tmp/sles11

mkisofs  -R -o /tmp/SLES11-SP2-64-AUTO.iso -b boot/x86_64/loader/isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .

我的陈设文件

预设分区

名称 格式 大小
swap swap 16G
boot ext3 120M
LVM
root ext3 5G
usr ext3 10G
var ext3 5G
opt ext3 10G
home ext3 15G
tmp ext3 10G
总计 71G

预装软件包

KDE Desktop Environment
Oracle Server Base
C/C++ Compiler and Tools
nmap
java-1_6_0
libstdc++43-devel-32bit

预设语言

主要:英语
添加:中文

预设用户名/密码

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

预设互连网布局

禁用服务:防火墙,IPv6

autoinst.xml

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根文件系统。

Bootstrap 4

方案介绍

那种方案须要首先设置一个先导服务器和一个设置服务器(可以配备在相同台物理机上),然后经过互连网启动存放在起步服务器上的安装程序。安装程序会自行访问存放在设置服务器上的安装配备文件和安装介质来成功安装。

涉及到的技术
该方案首要利用了三种技术:

  1. 在PC上从网络启动SLES安装程序的PXE协议
  2. SLES安装程序提供的网络安装功效(即指通过互连网访问安装介质)
  3. SLES安装程序提供的无人值守安装作用(SuSE称为AutoYast)

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

  • 一台PC机器作为启动和安装服务器(其余架构机器也得以)
  • 一台待安装的PC机器,它的网卡必须带有PXE扶助
  • 一个建好的局域网,上述两台机械已经一而再入同一子网
  • 待安装的SLES安装介质

配置tftpd

为了简化手续,我们在XP虚拟机下搭建DHCP和TFTP服务端,用tftpd工具来整合已毕PXE互连网指引,注意服务端与客户端要在相同局域网内。在Linux下安插服务的法则类似,具体方法可参照网络。

(1)下载tftpd
http://tftpd32.jounin.net/

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

Bootstrap 5

(3)按需勾选,那里我们仅拔取【TFTP】和【DHCP】

Bootstrap 6

(4)TFTP设置如下
Base Directory:对应存放Linux的率领文件
PXE Compatibility:增强对两样型号网卡的网络启动协理
Show Progress bar:在网络率领进程中体现速度
Translate Unix file names:转化Unix文件名
Allow “” As virtual root:允许虚拟路径
任何高级选项:设置总结包容性以及一些细节

Bootstrap 7

(5)DHCP配置
根本注意Boot File率领文件的装置和DHCP绑定地址

Bootstrap 8

(6)tftpboot目录结构

file://D:\tftpboot  (2 folders, 3 files, 35.86 MB, 36.46 MB in total.)
│   INITRD    32.20 MB
│   LINUX 3.64 MB
│   pxelinux.0    16.04 KB
├─pxelinux.cfg  (0 folders, 1 files, 193 bytes, 193 bytes in total.)
│         default 193 bytes
└─tftpd32   (0 folders, 4 files, 620.33 KB, 620.33 KB in total.)
            EUPL-EN.pdf 33.51 KB
            tftpd32.chm 346.96 KB
            tftpd32.exe 200.50 KB
            tftpd32.ini 39.36 KB

INITRD和LINUX提取自Linux启动引导镜像
pxelinux.0是pxe启动率领镜像
pxelinux.cfg文件夹下的default文件为启动菜单配置项
编辑tftpboot\pxelinux.cfg,可以自定义autoinst.xml文件的造访格局和路线

default linux

# Install Linux
label linux
  kernel linux
  append initrd=initrd autoyast=ftp://198.15.0.106/suse/autoinst.xml install=ftp://198.15.0.106/suse splash=silent showopts

配置FTP

(1)下载Filezilla Server
http://filezilla-project.org/

(2)设置ftp
允许匿名访问帐户即可,配置好ftp路径
领取SLES镜像内的装置目录至ftp目录下

配置AutoYaST

选取SuSE中的AutoYaST工具生成autoinst.xml,复制到ftp任意目录下,注意文件路径与default配置相契合

网络启动机器

前边的陈设工作到位后,上面大家就在待安装机器上通过网络以无人值守的方法来设置

(1)启动待安装机器,拔取从网卡启动。具体方法因BIOS版本不一致而异。下图是从VMWare虚拟机上获取的选用互连网启动的显示器截图。

Bootstrap 9

(2)网卡中的PXE代码会联系DHCP服务器来取得IP地址以及启动镜像,然后启动镜像被载入并运行。

Bootstrap 10

(3)初步自行安装

Bootstrap 11

设置后添加自定义模块

自己那边以添加Kernel内核补丁为例

<scripts>
<init-scripts config:type="list">
<script>
<filename>instkernel.sh</filename>
<debug config:type="boolean">true</debug>
<location></location>
<interpreter>shell</interpreter>
<source><![CDATA[
#!/bin/bash
#
# After installation, the logfile from this script can be found in
# /var/adm/autoinstall/logs
#
echo "========================================="
echo "... Starting AutoYAST included script ..."
echo "========================================="
rpm -ivh --root=/  ftp://144.131.254.206/update/3.0.74-0.6.8/kernel-default-base-3.0.74-0.6.8.1.x86_64.rpm 
rpm -ivh --root=/  ftp://144.131.254.206/update/3.0.74-0.6.8/kernel-default-3.0.74-0.6.8.1.x86_64.rpm 
rpm -ivh --root=/  ftp://144.131.254.206/update/3.0.74-0.6.8/kernel-source-3.0.74-0.6.8.1.x86_64.rpm 
rpm -ivh --root=/  ftp://144.131.254.206/update/3.0.74-0.6.8/kernel-default-devel-3.0.74-0.6.8.1.x86_64.rpm
]]>
</source>
</script>
</init-scripts>
</scripts>  

小结

Bootstrap 12

联合是自动化运维的基本功宗旨,而统一安顿又是自动化运维的首先步,其实在切磋自动化安排的进程中大家会碰着各类坑,只有踩过的浓眉大眼可以体会其中的不易于,假使大家在测试和使用SuSE自动化安装时遇上任何难题,欢迎直接在原文下方留言,我们一道学习和成人\_

相关文章