更新時(shí)間:2019-10-08 來源:黑馬程序員 瀏覽量:
一、了解kickstart
what's kickstart
kickstart 是使用一個(gè)標(biāo)準(zhǔn)的站點(diǎn)為一些機(jī)器安裝統(tǒng)一配置的linux操作系統(tǒng)。
KickStart是一種無人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預(yù)填寫的各種參數(shù),并生成一個(gè)名為ks.cfg的文件;在其后的安裝過程中(不只局限于生成KickStart安裝文件的機(jī)器)當(dāng)出現(xiàn)要求填寫參數(shù)的情況時(shí),安裝程序會首先去查找KickStart生成的文件,當(dāng)找到合適的參數(shù)時(shí),就采用找到的參數(shù),當(dāng)沒有找到合適的參數(shù)時(shí),才需要安裝者手工干預(yù)。這樣,如果KickStart文件涵蓋了安裝過程中出現(xiàn)的所有需要填寫的參數(shù)時(shí),安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然后去忙自己的事情。等安裝完畢,安裝程序會根據(jù)ks.cfg中設(shè)置的重啟選項(xiàng)來重啟系統(tǒng),并結(jié)束安裝。
kickstart的配置文件的獲得方式:
手動寫入
使用GUI system-config-kickstart 工具
使用標(biāo)準(zhǔn)的Red Hat安裝程序Anaconda
anaconda-ks.cfg文件
每次Red Hat
linux系統(tǒng)安裝完畢后,Anaconda將會在ROOT家目錄下生成一個(gè)anaconda-ks.cfg文件,使用它可以完成相同設(shè)置的自動安裝,也可以用system-config-kickstart工具進(jìn)行編輯該文件進(jìn)行修改。對anaconda-ks.cfg文件修改可以生成自己需要的系統(tǒng)安裝自應(yīng)答文件。
kickstart文件
kickstart文件可以包含系統(tǒng)安裝所有需要的交互,也包含系統(tǒng)安裝前需要執(zhí)行的腳本及系統(tǒng)安裝后執(zhí)行的腳本。
kickstart部署實(shí)驗(yàn)圖
kickstart安裝步驟
1.客戶端機(jī)器(PC)通過以下方式啟動:
CD/DVD
USB device
Network using PXE
2.為客戶端機(jī)器選擇提供IP獲取方式
static 手動輸入
Dynamic DHCP服務(wù)器
3.客戶端讀取TFTP服務(wù)器的文件
pxelinux.0文件
default文件
讀取default文件后根據(jù)其要求加載menu.c32 or vesamenu.c32文件,向用戶提供選擇界面,
用戶選擇自動安裝后,繼續(xù)加載vmlinuz內(nèi)核文件及initrd.img鏡像文件,最后加載kickstart文件,計(jì)算機(jī)自動運(yùn)行和讀kickstart
file,定位軟件包安裝樹(FTP、NFS、HTTP),軟件包安裝樹可以由光盤或網(wǎng)絡(luò)提供。
4.開始安裝
定位成功后開始下載所需的軟件包,開始安裝。當(dāng)安裝過程中一些根據(jù)kickstart文件設(shè)置進(jìn)行請求信息出現(xiàn)錯(cuò)誤或信息丟失,安裝過程將會暫停并出現(xiàn)提示或根據(jù)附件信息安裝?!就扑]linux運(yùn)維課程】
二.開始部署
1.配置YUM服務(wù)器.
安裝以下軟件包
# yum -y install dhcpdtftp-* xinetd-* vsftpdpykickstart-*
配置DHCP服務(wù)器并啟動服務(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.啟動FTP服務(wù)器
# /etc/init.d/vsftpd start
準(zhǔn)備安裝包
# mount /dev/cdrom /var/ftp/pub
三.測試
新建虛擬機(jī)--->網(wǎng)絡(luò)啟動-->Test
開機(jī)后,計(jì)算機(jī)通過DHCP獲得IP地址,如圖:
獲得到IP地址后,連接TFTP服務(wù)器
從TFTP下載啟動代碼并啟動機(jī)器
開始自動安裝
安裝成功后登陸
安裝完成