首頁(yè)技術(shù)文章正文

kickstart網(wǎng)絡(luò)部署教程【運(yùn)維自動(dòng)化】

更新時(shí)間:2019-10-08 來(lái)源:黑馬程序員 瀏覽量:

一、了解kickstart

what's kickstart

kickstart 是使用一個(gè)標(biāo)準(zhǔn)的站點(diǎn)為一些機(jī)器安裝統(tǒng)一配置的linux操作系統(tǒng)。

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

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

手動(dòng)寫入

使用GUI system-config-kickstart 工具

使用標(biāo)準(zhǔn)的Red Hat安裝程序Anaconda

anaconda-ks.cfg文件

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

kickstart文件

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

kickstart部署實(shí)驗(yàn)圖

1570525168981_kickstartpg.jpg


kickstart安裝步驟

1.客戶端機(jī)器(PC)通過(guò)以下方式啟動(dòng):

CD/DVD

USB device

Network using PXE

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

static 手動(dòng)輸入

Dynamic DHCP服務(wù)器

3.客戶端讀取TFTP服務(wù)器的文件

pxelinux.0文件

default文件

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

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

4.開始安裝

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

二.開始部署

1.配置YUM服務(wù)器.

安裝以下軟件包

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


配置DHCP服務(wù)器并啟動(dòng)服務(wù)

# 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服務(wù)器加載pxelinux.0文件
next-server "192.168.18.254"; #告訴客戶端TFTP服務(wù)器地址
}
# /etc/init.d/dhcpd restart


2.修改TFTP服務(wù)器

# 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服務(wù)器的根目錄
    disable = no #啟用TFTP服務(wù)器
    per_source = 11
    cps = 100 2
    flags = IPv4
}
# /etc/init.d/xinetd restart
為TFTP服務(wù)器準(zhǔn)備文件
# 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文件,權(quán)限要求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.設(shè)置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.啟動(dòng)FTP服務(wù)器

# /etc/init.d/vsftpd start


準(zhǔn)備安裝包

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


三.測(cè)試

新建虛擬機(jī)--->網(wǎng)絡(luò)啟動(dòng)-->Test

開機(jī)后,計(jì)算機(jī)通過(guò)DHCP獲得IP地址,如圖:

1570525186611_kickstart部署測(cè)試.jpg


獲得到IP地址后,連接TFTP服務(wù)器

1570525198064_kickstart網(wǎng)絡(luò)部署2.jpg


從TFTP下載啟動(dòng)代碼并啟動(dòng)機(jī)器
1570525207999_kickstart網(wǎng)絡(luò)部署3.jpg


開始自動(dòng)安裝

1570525216618_kickstart網(wǎng)絡(luò)部署4.jpg

安裝成功后登陸

1570525024282_kickstart網(wǎng)絡(luò)部署5.jpg


安裝完成

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!