KickStart自动化安装Linux

anaconda: 系统安装程序

工作模式

gui:图形窗口

tui: 基于图形库curses的文本窗口

安装程序启动过程

  • MBR:isolinux/boot.cat
  • stage2: isolinux/isolinux.bin
  • 配置文件:isolinux/isolinux.cfg

每个对应的菜单选项:
加载内核:isolinuz/vmlinuz 向内核传递参数:append initrd=initrd.img ...

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

默认启动GUI接口

若是显式指定使用TUI接口:向内核传递text参数即可

(1)按tab键,在后面增加text
(2)按ESC键:boot: linux text

anaconda工作过程

Anaconda安装系统分成三个阶段:

1、安装前配置阶段

安装过程使用的语言
    键盘类型
    安装目标存储设备:本地磁盘或特殊设备
设定主机名
配置网络接口
时区
管理员密码
设定分区方式及MBR的安装位置
创建一个普通用户
选定要安装的程序包

2、安装阶段

在目标磁盘创建分区,执行格式化操作等

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

安装bootloader和initramfs

 

3、图形模式首次启动

iptables

selinux

core dump 

单机安装

在之前我们安装单机Linux,一般是用图形界面安装,使用的安装工具是anaconda,安装完成之后在/root目录下会生成一个anaconda.cfg文件,这个文件是对整体安装的一个总结,包括网络设置,键盘设置,分区情况等。这个文件的第一行说明此文件是按照Kickstart格式生成的

# Kickstart file automatically generated by anaconda.

自动安装

在实际的工作环境中,服务器数量非常多,这样就引入了自动化安装工具Kickstart,可以通过预先配置安装策略,完成一键安装。

安装kickstart rpm

yum install system-config-kickstart

制作安装策略文件

1、在带有图形界面功能的SSH客户端如xmanager中启动kickstart

system-config-kickstart

2、基本配置(Basic configuration)

3、配置安装方法(Installation Method)

安装方法指通过什么途径获取Linux安装源文件。这里选择CD-ROM,后续可以根据需要手动更改配置文件去适配不同的安装方法,

4、bootload配置(BootLoader Options)

在红色的框内,可以指定更改Kernel的参数

5、磁盘分区(Partition Information)

6、网络配置(Network Configuration)

可以选择动态分配如果网络内有DHCP服务器,也可以选择静态指定

7、防火墙策略配置()

8、图形参数配置(Display Configuration)

9、选择要安装的包(Package Configuration)、预安装脚本设置(Pre-installation Script)

根据自已的要求设定

10、后执行脚本设置(Post-installation Script)

11、最后一步,保存ks.cfg到指定的目录

注意:在CentOS7上运行system-config-kickstart,默认package项目不可选


解决方案:把/etc/yum.repos.d下的*.repo的第一项目更改为

[development]

重新执行system-config-kickstart

自动安装实战

1、制作自动安装光盘(包括两个安装选项最小化安装和图形化安装)

1.1 把光盘上的所有文件copy到/data目录下,并且改名为centos6

cp -rv /misc/cd/ /data/centos6

1.2 创建目录,编辑ks.cfg

mkdir ksdir

copy /root/ks.cfg /data/centos6/ksdir

制作两个cfg:

ks6_mini.cfg

ks6_desktop.cfg

区别是ks6_desktop.cfg增加了@kde-desktop的安装包

1.3 备份/data/centos6/repodata下的xml文件为包组信息


cp 43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml /root/

1.4 清空/data/centos6/repodata

        rm -fr  *

1.5把xml文件copy back

cp /root/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml .

1.6 生成新的repodata

在/data/centos6目录下

createrepo -g repodata/43d8fd068164b0f042845474d6a22262798b9f0d1f49ad1bf9f95b953089777d-c6-x86_64-comps.xml .(此处有一点,代表当前目录 )

 1.7 删除所有的TRANS.TBL

find -name TRANS.TBL -exec rm {} \;

1.8 编辑启动显示

isolinux.cfg

label desktop
menu label Install an ^desktop system
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ksdir/ks6_desktop.cfg
label mini
menu label Install an ^mini system
kernel vmlinuz
append initrd=initrd.img ks=cdrom:/ksdir/ks6_mini.cfg
label local
menu default(建议把menu defalut设置在这里,防止硬盘上有系统在安装倒记时结束时,新安装系统覆盖硬盘的系统,导致数据丢失)
menu label Boot from ^local drive
localboot 0xffff

1.9 制作光盘

mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/CentOS-6.9-x86-64-Everythingbootable.iso /data/centos6/

1.10 新建虚拟机,硬盘至少大于ks文件分区的最小值,从新制作的光盘启动

1.11 进入启动界面

1.12 选择前两选任意一项,安装

 

2、制作引导光盘和U盘

要求:此关盘和U盘只起引导作用,所以本身比较小,可以通过修改

ks6_mini.cfg

ks6_desktop.cfg

url --url="http://172.20.0.1/centos/6" 指向http的安装源

2.1  copy光盘isolinux目录到本机/data/myiso

2.2  创建ksdir文件,编写ks6_mini.cfg,ks6_desktop.cfg

2.3  编辑ks6_desktop.cfg如上

2.4  制作启动光盘

mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /data/myiso/

2.5 安装新的虚拟机

从boot.iso启动

2.6 做可以启动的USB

isohybrid boot.iso

dd if=boot.iso of=/dev/sdb(此处是用挂载一块新的虚拟机硬盘实验的)

3、制作LVM分区的模板

part /boot --fstype="ext4" --size=200 (boot分区无法识别LVM)

volgroup vg_centos69 --pesize=4096 pv.008002

logvol /data --fstype=ext4 --name=lv_data --vgname=vg_centos69 --size=50248
logvol / --fstype=ext4 --name=lv_root --vgname=vg_centos69 --size=100000
logvol swap --name=lv_swap --vgname=vg_centos69 --size=2048

 

ks文件中加入在boot分区之后:

part pv.008002 --grow --size=200

测试,用此ks配置文件生成boot.iso,新建虚拟机,从boot.iso启动,安装成功

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 200M 0 part /boot
└─sda2 8:2 0 199.8G 0 part
├─vg_centos69-lv_root (dm-0) 253:0 0 97.7G 0 lvm /
├─vg_centos69-lv_swap (dm-1) 253:1 0 2G 0 lvm [SWAP]
└─vg_centos69-lv_data (dm-2) 253:2 0 49.1G 0 lvm /data

posted @ 2018-05-24 14:33  Evan_Wolf  阅读(388)  评论(0编辑  收藏  举报