实现kickstart文件制作与光盘镜像制作

anaconda

CentOS 系统安装:

安装程序:anaconda

bootloader --> kernel(initrd(rootfs)) --> anaconda

 

anaconda:

tui:基于cureses的文本配置窗口

gui:图形界面

 

CentOS的安装过程启动流程:

MBR:boot.cat

Stage2:isolinux/isolinux.bin

配置文件:isolinux/isolinux.cfg

 

每个对应的菜单选项:

加载内核:isolinux/vmlinuz

向内核传递参数:append  initrd=initrd.img

 

装载根文件系统,并启动anaconda

默认界面是图形界面:512MB+内存空间;

若需要显式指定启动TUI接口: 向启动内核传递一个参数"text"即可;

 

ESC,

boot: linux  text

 注意:上述内容一般位于引导设备,例如可通过光盘、U盘或网络等;后续的anacona及其安装用到的程序包等可以来自于程序包仓库,此仓库的位置可以为:

本地光盘

本地硬盘

ftp server

http server

nfs server

 

如果想手动指定安装仓库:

ESC

boot: linux method

 

anaconda的工作过程:

安装前配置阶段

安装过程使用的语言;

键盘类型

安装目标存储设备

Basic Storage:本地磁盘

Special Storage: iSCSI

设定主机名

配置网络接口

时区

管理员密码

设定分区方式及MBR的安装位置;

创建一个普通用户;

选定要安装的程序包;

安装阶段

在目标磁盘创建分区并执行格式化;

将选定的程序包安装至目标位置;

安装bootloader;

首次启动

iptables

selinux

core dump

 

anaconda的配置方式:

(1) 交互式配置方式;

(2) 支持通过读取配置文件中事先定义好的配置项自动完成配置;遵循特定的语法格式,此文件即为kickstart文件;

 

安装引导选项:

boot:

text:文本安装方式

method:手动指定使用的安装方法

与网络相关的引导选项:

    ip=IPADDR

    netmask=MASK

    gateway=GW

    dns=DNS_SERVER_IP

远程访问功能相关的引导选项:

vnc

vncpassword='PASSWORD'

启动紧急救援模式:

rescue

装载额外驱动:

dd

 

Kickstart

一、Kickstart简介

kickstart是一个利用Anconda工具实现服务器自动化安装的方法;通过生成的kickstart配置文件ks.cfg,服务器安装可以实现从裸机到全功能服务的的非交互式(无人值守式)安装配置。ks.cfg是一个简单的文本文件,文件包含Anconda在安装系统及安装后配置服务时所需要获取的一些必要配置信息(如键盘设置,语言设置,分区设置等);Anconda直接从该文件中读取必要的配置,只要该文件信息配置正确无误且满足所有系统需求,就不再需要同用户进行交互获取信息,从而实现安装的自动化。

 

 

 

二、使用Kickstart方法安装的过程:

1、创建一个kickstart文件
2、创建有kickstart文件的引导介质或者使这个文件在网络上可用;
3、筹备一个安装树
4、开始ks安装:anconda自身启动 -->选取ks安装模式--> 从ks文件读取配置 --> 最后安装
如果使用的是小型cdrom安装方式,为了读取网络安装树做的引导,可以将ks文件放置到光盘上,在光盘isolinux/isolinux.cfg文件中,配置append后添加 ks=cdrom:/ks.cfg(需要将ks.cfg文件放到cdrom的根目录下)

 

安装引导选项:

ks:指明kickstart文件的位置;

ks=

DVD drive: ks=cdrom:/PATH/TO/KICKSTART_FILE

Hard Drive: ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE

HTTP Server: ks=http://HOST[:PORT]/PATH/TO/KICKSTART_FILE

FTP Server:  ks=ftp://HOST[:PORT]/PATH/TO/KICKSTART_FILE

HTTPS Server:   ks=https://HOST[:PORT]/PATH/TO/KICKSTART_FILE

 

三、kickstart文件的格式

1、命令段:(必选项)

指定各种安装前配置选项,如键盘类型等;

必备命令:如语言、键盘类型、时区等信息。

可选命令

 

2、程序包段:

指明要安装程序包,以及包组,也包括不安装的程序包;

%packages

@group_name

package

-package

%end

使用%package指名开始,%end指名结束,包组以@开始标明,软件名可以直接写,但每个之间需要换行

 

3、脚本段:

%pre:安装前脚本

运行环境:运行安装介质上的微型Linux系统环境;

使用%pre指明开始,%end指明结束,将每个命令写一行

 

%post:安装后脚本

运行环境:安装完成的系统;

使用%post指明开始,%end指明结束,将每个命令写一行

 

四、Kickstart文件参数说明

1、命令段必选参数

  • authconfig:认证方式配置

authconfig  --enableshadow  --passalgo=sha512

  • bootloader:定义bootloader的安装位置及相关配置

bootloader  --location=mbr  --driveorder=sda  --append="crashkernel=auto rhgb quiet"

--append= 可以指定内核参数

--driveorder= 设定设备BIOS中的开机设备启动顺序

--location= 设定引导记录的位置; mbr:默认值;partition:将boot loader安装于包含kernel的分区超级快

  • keyboard:设置键盘类型

keyboard us

  • lang:语言类型

lang  zh_CN.UTF-8

  • part:分区布局;
part  /boot  --fstype=ext4  --size=500
part pv.008 --size=10240
volgroup vg0 --pesize=8192 pv.008
logvol / --fstype=ext4 --name=root --vgname=vg0 --size=1024
logvol swap --name=swap --vgname=vg0 --size=1024
logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=1024
logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=2048

part  |swap|pv.id|rdid.id  option

mntpoint:挂载点,是在创建普通分区时指定新分区挂载位置的项;挂载点需要格式正确

swap: 创建swap分区;

raid.id:  表示创建的分区类型为raid型;必须用id号进行唯一区别;

pv.id:  表示所创建的分区类型为LVM型;必须用唯一id号进行区别;

--size=  设置分区的最小值,默认单位为M,但是不能写单位;

--grow  让分区自动增长利用可用的磁盘空间,或是增长到设置的maxsize值;

--maxsize 设置分区自动增长(grow)时的最大容量值,以M为单位,但不能写单位;

--onpart=/--usepart=     设置使用原有的分区;

--noformat    设置不格式化指定的分区,在跟—onpart一同使用时,可以避免删除原有分区上的数据,在新安装的系统中保留使用数据;

--asprimary    强制制定该分区为主分区;若指定失败,分区会失败,导致安装停止;

--fstype=    新增普通分区时指定分区的类型,可以为ext2、ext3、ext4、swap、vfat及hfs;

--ondisk=/--ondrive=     设定该分区创建在一个具体的磁盘上;

--start   指定分区以磁盘上那个磁道开始;需要跟--ondisk参数一块使用;

--end    指定分区以磁盘上那个磁道结束;需要跟上述两个参数一起使用;

--recommended:让系统自行决定分区的大小;在创建swap分区时,若RAM<2G,则分区大小为2*RAM;若RAM>=2G时,分区大小为RAM+2G;

--bytes-pre-inode=    指定分区格式化时inode的大小;默认值为4096

--fsoptions=    指定创建fstab文件时该分区挂载参数项;
  
 

  • rootpw:管理员密码

rootpw   --iscrypted

  $6$4Yh15kMGDWOPtbbW$SGax4DsZwDAz4201.O97WvaqVJfHcISsSQEokZH054juNnoBmO/rmmA7H8ZsD08.fM.Z3Br/67Uffod1ZbE0s.

  • timezone:时区

timezone  Asia/Shanghai

 

补充:分区相关的其它指令

  • clearpart:清除分区

clearpart  --none  --drives=sda:清空磁盘分区;

在建立新分区前清空系统上原有的分区表,默认不删除分区

clearpart --all

clearpart --drives=hda,hdb --all --initlabel

-all 擦除系统上原有所有分区;

--drives 删除指定驱动器上的分区

--initlabel 初始化磁盘卷标为系统架构的默认卷标

--linux 擦除所有的linux分区

--none(default)不移除任何分区

 

  • volgroup:创建卷组

volgroup  myvg  --pesize=4096  pv.008002

  • logvol:创建逻辑卷

logvol  /home  --fstype=ext4  --name=lv_home  --vgname=myvg  --size=5120

 

生成加密密码的方式:

~]# openssl  passwd  -1  -salt `openssl rand -hex 4`

生成的密码可以直接粘贴复制到上面rootpw 后即可生效

 

2、可选命令:

  • install  OR  upgrade:安装或升级;
  • text:安装界面类型,text为tui,默认为GUI
  • network:配置网络接口

network  --onboot yes  --device eth0  --bootproto dhcp  --noipv6

  • firewall:防火墙

firewall  --disabled

  • selinux:SELinux

selinux --disabled

  • halt、poweroff或reboot:安装完成之后的行为;
  • repo:指明安装时使用的repository;

repo  --name="CentOS"   --baseurl=cdrom:sr0  --cost=100

  • url: 指明安装时使用的repository,但为url格式;可选,指明安装源为远程的ftp、http方式安装

url --url=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.7-x86_64/        

url --url ftp://:@install.example.com/iso

url --url http://install.example.com/iso

 

3、系统安装完成之后禁用防火墙:

CentOS 6:

# service iptables  stop

# chkconfig  iptables  off

CentOS 7:

# systemctl  stop  firewalld.service

# systemctl  disable  firewalld.service

 

4、系统安装完成后禁用SELinux:

编辑/etc/sysconfig/selinux或/etc/selinux/config文件,修改SELINUX参数的值为下面其中之一:

permissive

disabled

 

立即生效:

# getenforce

# setenforce  0

 

5、定制kickstart文件:

# yum install  system-config-kickstart

# system-config-kickstart

 

检查语法错误:

# ksvalidator

 

五、定制kickstart文件ks.cfg模板

(1)ssh -x 登录远程机器

实现kickstart文件制作与光盘镜像制作_第1张图片

(2)安装完成后通过这个命令& 后台打开配置程序界面

(3)配置界面

实现kickstart文件制作与光盘镜像制作_第2张图片

(4)读取生成的anaconda。cfg配置文件

实现kickstart文件制作与光盘镜像制作_第3张图片实现kickstart文件制作与光盘镜像制作_第4张图片

(5)根据读取的配置文件,再次自定义这个文件

实现kickstart文件制作与光盘镜像制作_第5张图片实现kickstart文件制作与光盘镜像制作_第6张图片

实现kickstart文件制作与光盘镜像制作_第7张图片

(6)配置完成另存为

实现kickstart文件制作与光盘镜像制作_第8张图片

(7)查看

实现kickstart文件制作与光盘镜像制作_第9张图片

 

六、通过网络http服务器中kickstart文件安装

1.挂载光盘镜像

 

2.开机进入当前界面

实现kickstart文件制作与光盘镜像制作_第10张图片

3.按ESC进入boot:界面

4.输入linux 加内容(可以用文本格式

Linux ip=172.16.200.91 netmask=255.255.0.0 gateway=172.16.0.1 ks=https://172.16.0.1/centos6.x86_64.cfg

 

ks的目录是你防止http服务器的文件夹下让他去找到

实现kickstart文件制作与光盘镜像制作_第11张图片

 

七、通过光盘镜像引导

1.准备环境ioslinux

复制光盘中的isolinux目录到myboot目录下

实现kickstart文件制作与光盘镜像制作_第12张图片

2.更改权限

实现kickstart文件制作与光盘镜像制作_第13张图片

3.将下载的文件复制到ks.cfg(或者是制作好的ks.cfg文件复制到同级别目录命名为ks.cfg)

4.创建光盘镜像:

~]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6 x86_64 boot" -c isolinux/boot.cat -b isolinux/isolinux.bin -o  /root/boot.iso   myboot/

/myboot 是你解压安装目录

/root/boot.iso 光盘镜像安装目录

5.安装时候要选择争取的安装镜像文件  ,就刚才生成ios的地址/root/boot.ios

按TAB 输入一下内容

实现kickstart文件制作与光盘镜像制作_第14张图片

 

简化版

直接在后面添加ks 以及IP地址信息,

实现kickstart文件制作与光盘镜像制作_第15张图片

实现kickstart文件制作与光盘镜像制作_第16张图片

重新生成IOS 文件

后续步骤一样

你可能感兴趣的:(实现kickstart文件制作与光盘镜像制作)