架構師成長之路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

 

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

相關文章
相關標籤/搜索