Bootstrap基于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/

恢宏阅读

  • SuSE –
    https://www.suse.com/zh-cn/
  • AutoYaST –
    http://doc.opensuse.org/projects/autoyast/
  • Autoinst索引 –
    http://wsgzao.github.io/index/\#Autoinst
  • GitHub源码 –
    https://github.com/wsgzao/autoinstall/

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自动化安装时遇其他问题,欢迎直接在原文下方留言,我们一同上学与成长\_

相关文章