更新时间:2019年10月24日10时57分 来源:传智播客 浏览次数:
一、了解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部署实验图
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地址,如图:
获得到IP地址后,连接TFTP服务器
从TFTP下载启动代码并启动机器
开始自动安装
安装成功后登陆
安装完成