首頁技術文章正文

kickstart網絡部署教程【運維自動化】

更新時間:2019-10-08 來源:黑馬程序員 瀏覽量:

一、了解kickstart

what's kickstart

kickstart 是使用一個標準的站點為一些機器安裝統(tǒng)一配置的linux操作系統(tǒng)。

KickStart是一種無人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預填寫的各種參數,并生成一個名為ks.cfg的文件;在其后的安裝過程中(不只局限于生成KickStart安裝文件的機器)當出現(xiàn)要求填寫參數的情況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,就采用找到的參數,當沒有找到合適的參數時,才需要安裝者手工干預。這樣,如果KickStart文件涵蓋了安裝過程中出現(xiàn)的所有需要填寫的參數時,安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然后去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啟選項來重啟系統(tǒng),并結束安裝。

kickstart的配置文件的獲得方式:

手動寫入

使用GUI system-config-kickstart 工具

使用標準的Red Hat安裝程序Anaconda

anaconda-ks.cfg文件

每次Red Hat linux系統(tǒng)安裝完畢后,Anaconda將會在ROOT家目錄下生成一個anaconda-ks.cfg文件,使用它可以完成相同設置的自動安裝,也可以用system-config-kickstart工具進行編輯該文件進行修改。對anaconda-ks.cfg文件修改可以生成自己需要的系統(tǒng)安裝自應答文件。

kickstart文件

kickstart文件可以包含系統(tǒng)安裝所有需要的交互,也包含系統(tǒng)安裝前需要執(zhí)行的腳本及系統(tǒng)安裝后執(zhí)行的腳本。

kickstart部署實驗圖

1570525168981_kickstartpg.jpg


kickstart安裝步驟

1.客戶端機器(PC)通過以下方式啟動:

CD/DVD

USB device

Network using PXE

2.為客戶端機器選擇提供IP獲取方式

static 手動輸入

Dynamic DHCP服務器

3.客戶端讀取TFTP服務器的文件

pxelinux.0文件

default文件

讀取default文件后根據其要求加載menu.c32 or vesamenu.c32文件,向用戶提供選擇界面,

用戶選擇自動安裝后,繼續(xù)加載vmlinuz內核文件及initrd.img鏡像文件,最后加載kickstart文件,計算機自動運行和讀kickstart file,定位軟件包安裝樹(FTP、NFS、HTTP),軟件包安裝樹可以由光盤或網絡提供。

4.開始安裝

定位成功后開始下載所需的軟件包,開始安裝。當安裝過程中一些根據kickstart文件設置進行請求信息出現(xiàn)錯誤或信息丟失,安裝過程將會暫停并出現(xiàn)提示或根據附件信息安裝?!就扑]linux運維課程

二.開始部署

1.配置YUM服務器.

安裝以下軟件包

# yum -y install dhcpdtftp-* xinetd-* vsftpdpykickstart-*


配置DHCP服務器并啟動服務

# vim /etc/dhcpd/dhcpd.conf
option domain-name-servers 192.168.18.254;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.18.0 netmask 255.255.255.0 {
range 192.168.18.100 192.168.18.200;
option routers 192.168.18.1;
filename "pxelinux.0"; #告訴客戶端連接TFTP服務器加載pxelinux.0文件
next-server "192.168.18.254"; #告訴客戶端TFTP服務器地址
}
# /etc/init.d/dhcpd restart


2.修改TFTP服務器

# vim /etc/xinetd.d/tftp
service tftp
{
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /tftpboot #TFTP服務器的根目錄
    disable = no #啟用TFTP服務器
    per_source = 11
    cps = 100 2
    flags = IPv4
}
# /etc/init.d/xinetd restart
為TFTP服務器準備文件
# mount /dev/cdrom /mnt
# cp /usr/share/syslinux/pxelinux.0 /tftpboot/
# cp /usr/share/syslinux/menu.c32 /tftpboot/
# cp /usr/share/syslinux/reboot.c32 /tftpboot/
# cp /mnt/isolinux/vmlinuz /tftpboot/
# cp /mnt/isolinux/initrd.img /tftpboot/
# mkdir/tftpboot/pxelinux.cfg
# cp/mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
# chmod 644 /tftpboot/pxelinux.cfg/default
創(chuàng)建default文件,權限要求400
# vim /tftpboot/pxelinux.cfg/default
default menu.c32
#prompt 1
timeout 600
MENU TITLE welcome to ITcast.
label local
menu label Boot from ^local drive
localboot 0xffff
MENU SEPARATOR
label linux
menu label ^Install or upgrade an existing system for ks
menu default
kernel vmlinuz
append initrd=initrd.imgks=ftp://192.168.18.254/ks.cfg
MENU SEPARATOR
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.imgxdriver=vesanomodeset

3.設置kickstart文件

system-config-kickstart oranaconda-ks.cfg
# cp anaconda-ks.cfg /var/ftp/ks.cfg
# vim /var/ftp/ks.cfg
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="ftp://192.168.18.254/pub"
repo --name="Red Hat Enterprise Linux" --baseurl=ftp://192.168.18.254/pub 
--cost=100
key vfast
# Root password
rootpw --plaintext 111111
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System authorization information
auth --useshadow --passalgo=sha512 --enablefingerprint
# Use text mode install
text
firstboot --disable
# System keyboard
keyboard us
# System language
langen_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --append="crashkernel=auto rhgb quiet" --location=mbr 
--driveorder="sda"
# Partition clearing information
clearpart --all --initlabel --drives=sda
# Disk partitioning information
part /boot --fstype="ext4" --size=200
part swap --size=2000
part / --fstype="ext4" --grow --maxsize=10000 --size=10000
%packages
@base
@basic-desktop
@chinese-support
@core
@debugging
@desktop-debugging
@desktop-platform
@development
@directory-client
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@internet-browser
@java-platform
@legacy-x
@network-file-system-client
@perl-runtime
@print-client
@remote-desktop-clients
@server-platform
@server-policy
@x11
abrt-gui
certmonger
genisoimage
jpackage-utils
krb5-workstation
libXmu
mtools
nscd
nss-pam-ldapd
oddjob
pam_krb5
pam_ldap
pax
perl-DBD-SQLite
python-dmidecode
sgpio
wodim
%end


4.啟動FTP服務器

# /etc/init.d/vsftpd start


準備安裝包

# mount /dev/cdrom /var/ftp/pub


三.測試

新建虛擬機--->網絡啟動-->Test

開機后,計算機通過DHCP獲得IP地址,如圖:

1570525186611_kickstart部署測試.jpg


獲得到IP地址后,連接TFTP服務器

1570525198064_kickstart網絡部署2.jpg


從TFTP下載啟動代碼并啟動機器
1570525207999_kickstart網絡部署3.jpg


開始自動安裝

1570525216618_kickstart網絡部署4.jpg

安裝成功后登陸

1570525024282_kickstart網絡部署5.jpg


安裝完成

分享到:
在線咨詢 我要報名
和我們在線交談!