全国咨询/投诉热线:400-618-9090

首页技术文章正文

kickstart网络部署教程【运维自动化】

更新时间:2019-10-08 来源:黑马程序员 浏览量:

一、了解kickstart

what's kickstart

kickstart 是使用一个标准的站点为一些机器安装统一配置的linux操作系统。

KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。

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

手动写入

使用GUI system-config-kickstart 工具

使用标准的Red Hat安装程序Anaconda

anaconda-ks.cfg文件

每次Red Hat linux系统安装完毕后,Anaconda将会在ROOT家目录下生成一个anaconda-ks.cfg文件,使用它可以完成相同设置的自动安装,也可以用system-config-kickstart工具进行编辑该文件进行修改。对anaconda-ks.cfg文件修改可以生成自己需要的系统安装自应答文件。

kickstart文件

kickstart文件可以包含系统安装所有需要的交互,也包含系统安装前需要执行的脚本及系统安装后执行的脚本。

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文件,向用户提供选择界面,

用户选择自动安装后,继续加载vmlinuz内核文件及initrd.img镜像文件,最后加载kickstart文件,计算机自动运行和读kickstart file,定位软件包安装树(FTP、NFS、HTTP),软件包安装树可以由光盘或网络提供。

4.开始安装

定位成功后开始下载所需的软件包,开始安装。当安装过程中一些根据kickstart文件设置进行请求信息出现错误或信息丢失,安装过程将会暂停并出现提示或根据附件信息安装。【推荐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
创建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


安装完成

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

http://www.itcast.cn/subject/uizly/index.shtml?seozxuids

14天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

8天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

0天免费试学

基础班入门课程限时免费

申请试学名额

12天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

10天免费试学

基础班入门课程限时免费

申请试学名额
在线咨询 我要报名