点击返回架构师成长之路

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

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

但是,无人值守并不完全是无人值守,在设置bios从网卡启动是必须人为设置的,且安装完系统后设置不从网卡启动也是需要人为设置的。此处之外,其他的都可以无人值守。

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

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

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

[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

上面提到,装系统时很多选项在里面都记录了。

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

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

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

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

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

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

C. 安装MBR

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

D. 设置分区

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

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

E. 分区总览

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

F. 配置网络

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

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

G. 认证配置

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

H. SELinux 和防火墙配置

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

I. 图形环境配置

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

J. 软件包安装选择

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

K. 预览

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

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

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

可以打开/var/www/html/ks.cfg 文件进行查看并做修改。

测试安装

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

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

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

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

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

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

选择客户机操作系统类型

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

命名虚拟机

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

设置此虚拟机的内存

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

设置网络类型

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

选择I/O控制器类型

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

选择磁盘类型

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

选择磁盘

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

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

而且,一定要勾选上“立即分配所有磁盘空间”,不然在后来安装的时候将提示没有磁盘空间。

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

指定磁盘文件

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

虚拟机总览

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

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

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

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

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

开始下载vmlinuz 和initrd.img

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

安装过程...

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

安装过程...

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

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

05-07 15:55