架构师成长之路2.3-PXE+Kickstart无人值守大量部署Linux

点击返回架构师成长之路html

架构师成长之路2.3-PXE+Kickstart无人值守大量部署Linux

所谓的无人值守,就是自动应答,当安装过程当中须要人机交互提供某些选项的答案时(如如何分区),自动应答文件能够根据对应项自动提供答案。java

可是,无人值守并不彻底是无人值守,在设置bios从网卡启动是必须人为设置的,且安装完系统后设置不从网卡启动也是须要人为设置的。此处以外,其余的均可以无人值守。python

要配置无人值守的系统安装,须要提供安装过程当中须要的各类选择,这些选择在kickstart的配置文件中,通常正常安装完Linux系统在root用户的家目录下有一个anaconda-ks.cfg,如下是该文件中的部份内容。ios

 

[root@localhost /]# cat ~/anaconda-ks.cfg 
#version=DEVEL
# System authorization information
auth --useshadow --enablemd5
# Install OS instead of upgrade
install
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Firewall configuration
firewall --enabled
firstboot --disable
ignoredisk --only-use=sda
# Keyboard layouts
# old format: keyboard us
# new format:
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=link --activate
network  --hostname=localhost.localdomain
# Reboot after installation
reboot
# Root password
rootpw --iscrypted $1$qpLCHyKc$tpgPpfZdmb/8lGsunfGWk/
# System services
services --enabled="chronyd"
# System timezone
timezone America/Los_Angeles --isUtc
# X Window System configuration information
xconfig  --startxonboot
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=300
part swap --fstype="swap" --size=1024
part / --fstype="xfs" --size=8915

%post
/usr/sbin/adduser carlos
/usr/sbin/usermod -p '$1$qpLCHyKc$tpgPpfZdmb/8lGsunfGWk/' carlos
/usr/bin/chfn -f "Centos" carlos
mv /etc/rc.d/rc.local /etc/rc.d/rc.local.00
echo '#!/bin/bash' > /etc/rc.d/rc.local
ln -s ../rc.local /etc/rc.d/rc5.d/S99rclocal
chmod 755 /etc/rc.d/rc.local
echo 'mkdir -p /var/log/vmware' >> /etc/rc.d/rc.local
echo 'exec 1> /var/log/vmware/rc.local.log' >> /etc/rc.d/rc.local
echo 'exec 2>&1' >> /etc/rc.d/rc.local
echo 'set -x' >> /etc/rc.d/rc.local
echo 'echo Installing Open VM Tools' >> /etc/rc.d/rc.local
echo 'set -x' >> /etc/rc.d/rc.local
echo '/bin/eject sr0 || /bin/true' >> /etc/rc.d/rc.local
echo '/bin/eject sr1 || /bin/true' >> /etc/rc.d/rc.local
echo '/bin/vmware-rpctool' \'guest.upgrader_send_cmd_line_args --default\' >> /etc/rc.d/rc.local
echo '/bin/vmware-rpctool' \'upgrader.setGuestFileRoot /tmp\' >> /etc/rc.d/rc.local
echo '/bin/vmware-rpctool' \'toolinstall.installerActive 1\' >> /etc/rc.d/rc.local
echo '/bin/vmware-rpctool' \'toolinstall.installerActive 100\' >> /etc/rc.d/rc.local
echo 'rm -f /etc/rc.d/rc.local' >> /etc/rc.d/rc.local
echo 'rm -f /etc/rc.d/rc5.d/S99rclocal' >> /etc/rc.d/rc.local
echo 'mv /etc/rc.d/rc.local.00 /etc/rc.d/rc.local' >> /etc/rc.d/rc.local
/bin/echo done
%end

%packages
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@print-client
@x11
binutils
chrony
ftp
gcc
kernel-devel
kexec-tools
make
open-vm-tools
patch
python

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

上面提到,装系统时不少选项在里面都记录了。redis

那么,要使用kickstart来批量部署操做系统,就须要提供该文件。bash

yum install system-config-kickstart  #安装kickstart
 system-config-kickstart #配置kickstart  

A. 设置语言,键盘,时区,Root密码,安装完毕后重启等。服务器

B.置安装方式,这篇文章介绍的是HTTP方式的安装,故选择HTTP网络

C. 安装MBR架构

D. 设置分区app

E. 分区总览

F. 配置网络

G. 认证配置

H. SELinux 和防火墙配置

I. 图形环境配置

J. 软件包安装选择

K. 预览

L. 生成ks.cfg 文件,保存在/var/www/html/ 文件夹下

能够打开/var/www/html/ks.cfg 文件进行查看并作修改。

测试安装

自动化安装系统配置完毕,下面启动一台新的机器进行测试,网络链接模式选择NAT模式。

19

新建虚拟机,选择自定义(高级)

20

选择“稍后安装操做系统”

21

选择客户机操做系统类型

22

命名虚拟机

23

设置此虚拟机的内存

24

设置网络类型

25

选择I/O控制器类型

26

选择磁盘类型

27

选择磁盘

28

指定磁盘大小,ks.cfg 文件中,咱们定义了/ 大小为8GB,swap 分区为1GB,/home 分区为2GB,因此这里的磁盘大小至少要为12GB。

并且,必定要勾选上“当即分配全部磁盘空间”,否则在后来安装的时候将提示没有磁盘空间。

29

指定磁盘文件

30

虚拟机总览

31

正在建立磁盘,过程会很慢,虚拟机须要产生一个20GB的文件。

32

启动虚拟机,选择从网卡启动,DHCP 服务器正在给客户机分配IP地址。

35

开始下载vmlinuz 和initrd.img

33

安装过程...

34

安装过程...

36

 

............

相关文章
相关标签/搜索