一、什麼是KickStarthtml
KickStart是一種無人職守安裝方式。KickStart的工做原理是經過記錄典型的安裝過程當中所需人工干預填寫的各類參數,並生成一個名爲ks.cfg的文件;在其後的安裝過程當中(不僅侷限於生成KickStart安裝文件的機器)當出現要求填寫參數的狀況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,就採用找到的參數,當沒有找到合適的參數時,才須要安裝者手工干預。這樣,若是KickStart文件涵蓋了安裝過程當中出現的全部須要填寫的參數時,安裝者徹底能夠只告訴安裝程序從何處取ks.cfg文件,而後去忙本身的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啓選項來重啓系統,並結束安裝。linux
二、PXE技術的基本原理web
三、配置步驟express
(1)配置DHCP服務器:用於給客戶端提供IP地址及其它信息centos
[root@localhost ~]# more /etc/dhcp/dhcpd.conf ddns-update-style interim; ignore client-updates; log-facility local7; allow booting; allow bootp; subnet 192.168.244.0 netmask 255.255.255.0 { # 192.168.244.0是我設定的裝機網段 option routers 192.168.244.200; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.244.200;
# 指定裝機網段的IP地址範圍 range dynamic-bootp 192.168.244.100192.168.244.150; default-lease-time21000; max-lease-time43200;
# 指定TFTP服務器的IP地址(通常狀況下TFTP服務器和DHCP服務器爲同一臺) next-server 192.168.244.200; filename "/pxelinux.0"; }
(2)配置TFTP服務器:用於客戶端PXE引導所須要的文件瀏覽器
[root@localhost ~]# mkdir /tftpboot [root@localhost ~]# more /etc/xinetd.d/tftp service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -u nobody -s /tftpboot disable = no per_source = 11 cps = 1002 flags = IPv4 }
(3)web服務器的配置以及ks文件的修改服務器
這裏選擇以web方式讀取系統鏡像,也能夠選擇搭建NFS或者FTP服務器。app
DocumentRoot "/var/www/html"less
mkdir -p /var/www/html/systemiso/centos/6.0/i386/ cp /root/anaconda-ks.cfg /var/www/html/systemiso/centos/6.0/i386/ks.cfg
將centos6.0-i386的系統鏡像解壓放到網站對應目錄下面,修改ks.cfg運維
[root@localhost ~]# more /var/www/html/systemiso/centos/6.0/i386/ks.cfg # Kickstart file automatically generated by anaconda. #version=RHEL6 install #text #cdrom url --url http://192.168.244.200/systemiso/centos/6.0/i386/ lang en_US.UTF-8 keyboard us rootpw --iscrypted $6$SFBKXp0kSytxgoWU$Xkq9FOUQ9slHzrcGbr3RIZEw47nPggdp.m2vnaalyq..fmKtd8v7.6sShxriiYbB0g5Y9PYOY8yKfiFD6td.Y/ firewall --service=ssh authconfig --enableshadow --passalgo=sha512 --enablefingerprint selinux --enforcing timezone Asia/Shanghai bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work #clearpart --none --drives=sda clearpart --all --initlabel part /boot --fstype=ext4 --asprimary --size=100 part /var --fstype=ext4 --size=30000 part / --fstype=ext4 --size=10000 part swap --size=1000 #repo --name="centos" --baseurl=file:///mnt/source --cost=100 %packages @chinese-support @core @server-policy %end
(4)PXE引導配置
PXE啓動映像文件由syslinux提供,安裝完syslinux以後,會生成一個pxelinux.0的文件,複製到/tftpboot目錄下。
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/ [root@localhost ~]# mkdir /tftpboot/pxelinux.cfg/ [root@localhost ~]# mount /dev/cdrom /mnt/cdrom [root@localhost ~]# cp /mnt/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[root@localhost ~]# mkdir /tftpboot/CentOS-6.0-i386
[root@localhost ~]# cp /mnt/cdrom/isolinux/initrd.img vmlinuz /tftpboot/CentOS-6.0-i386 [root@localhost ~]# more /tftpboot/pxelinux.cfg/default default menu.c32 prompt 0 menu title PXE Boot Menu MENU AUTOBOOT Starting Local System in # seconds LABEL bootlocal menu label <^0> Boot from local disk menu default KERNEL chain.c32 hd0 timeout 600 LABEL CentOS-6.0-i386 MENU LABEL <^1> CentOS-6.0-i386 System install KERNEL CentOS-6.0-i386/vmlinuz APPEND initrd=CentOS-6.0-i386/initrd.img ks=http://192.168.244.200/systemiso/centos/6.0/i386/ks.cfg TEXT HELP instll CentOS-6.0-i386 system ENDTEXT LABEL show-IP_MAC MENU LABEL <^3> press [Tab] to show DHCP IP,gateway,MAC IPAPPEND 3 TEXT HELP ip=<dhcp-ip>:<dhcp-server-ip>:<gateway>:<netmask> BOOTIF=<MAC> ENDTEXT LABEL reboot MENU LABEL <^4> reboot system KERNEL reboot.c32 IPAPPEND 3 TEXT HELP ENDTEXT
## 若是沒有menu.c3二、chain.c32這兩個文件,請從光盤中拷貝,放到/tftpboot下面,這兩個文件與裝機菜單有關
(5)注意事項及後記
pxeserver須要關閉selinux和iptables,不然會在DHCP獲取IP以後,不能從tftp下載到引導文件。我在這裏跌倒了不止一次,提醒一下後來人!
kickstart裝機能夠定製的東西不少,包括裝機菜單,是自動化運維的一個很好的工具。後期完善能夠結合瀏覽器,開發一個裝機平臺,經過瀏覽器設置裝機參數,在裝機結束後返回各項信息到瀏覽器中。
寫的比較倉促,不少細節方面沒有考慮到,只是把重要的地方寫出來。若是有寫錯的地方,還請各位看官留言指出來,幫助我補充完善。予人玫瑰,手留餘香。