本人對PXE/Kickstart的理解:html
嚴格來講, PXE是一種引導方式.在安裝PXE時是須要網卡支持的,當主機引導時BIOS 把 PXE客戶端調入內存中執行,而後客戶端會經過服務器端的TFTP下載至本地後運行,在這時,客戶端會向服務器端經過DHCP來獲取IP地址,因爲是給PXE客戶端分配IP地址,因此在配置DHCP服務器是須要增長相應的PXE設置在PXE客戶端的ROM中,已經存在了TFTP客戶端,PXE客戶端經過TFTP協議到TFTP服務端上下載所需的文件。python
Kickstart是一種無人值守的安裝方式。它的工做原理是在安裝過程當中記錄典型的須要人工干預填寫的各類參數,並生成一個名爲 ks.cfg的文件。若是在安裝過程當中(不僅侷限於生成Kickstart安裝文件的機器)出現要填寫參數的狀況,安裝程序首先會去查找 Kickstart生成的文件,若是找到合適的參數,就採用所找到的參數;若是沒有找到合適的參數,便須要安裝者手工干預了。因此,若是Kickstart文件涵蓋了安裝過程當中可能出現的全部須要填寫的參數,那麼安裝者徹底能夠只告訴安裝程序從何處取ks.cfg文件,而後就去忙本身的事情。等安裝完畢,安裝程序會根據ks.cfg中的設置重啓系統,並結束安裝。linux
對於無人值守安裝須要的條件是:express
PXE 嚴格來講,PXE 並非一種安裝方式,而是一種引導方式;vim
Kickstart: 是一種無人值守的安裝方式;centos
DHCP (Dynamic Host Configuration Protocol,動態主機配置協議);bash
TFTP (Trivial File Transfer Protocol,簡單文件傳輸協議);服務器
詳細配置DHCP請到: http://xiaomazi.blog.51cto.com/5891742/1370524app
詳細配置HTTP請到: http://xiaomazi.blog.51cto.com/5891742/1363861less
>>配置步驟:
準備:
[root@station76 ~]# mkdir /media/cdrom [root@station76 ~]# mount -r /dev/cdrom /media/cdrom/ [root@station76 ~]# vim /etc/yum.repos.d/test.repo [test] name=PXE_DHCP baseurl=file:///media/cdrom enabled=1 gpgcheck=0 [root@station76 ~]#
1.安裝配置DHCP服務器:
1).利用yum安裝DHCP:
[root@station76 ~]# yum -y install dhcp
2).使用cp命令將/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample,並更名爲:dhcpd.conf:
[root@station76 dhcp]# pwd /etc/dhcp--->如文件存在就覆蓋/刪除dhcpd.conf [root@station76 dhcp]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample dhcpd.conf
3).配置pxe所需的做用域:
I.註釋暫時不用的參數:
II.配置做用域:
III.啓動服務,並查看端口:
[root@station76 dhcp]# service dhcpd restart Shutting down dhcpd: [ OK ] Starting dhcpd: [ OK ] [root@station76 dhcp]# ss -unl State Recv-Q Send-Q Local Address:Port Peer Address:Port UNCONN 0 0 *:111 *:* UNCONN 0 0 *:631 *:* UNCONN 0 0 *:661 *:* UNCONN 0 0 *:67 (udp的端口) *:* UNCONN 0 0 *:721 *:* UNCONN 0 0 *:44778 *:* UNCONN 0 0 :::111 :::* UNCONN 0 0 :::45454 :::* UNCONN 0 0 :::661 :::* [root@station76 dhcp]#
IV.查看地址是怎麼獲取的過程請輸入:
[root@station76]# tail -f /var/log/boot.log
2.配置tftp-server等相關服務:
1).安裝所需服務:
[root@station76 dhcp]# yum -y install tftp-server--->服務端 [root@station76 dhcp]# yum -y install tftp--->客戶端 [root@station76 dhcp]# yum -y install xinetd
2).設置開機自起動及啓動服務、查看端口:
3.準備安裝樹:
這裏是利用HTTP來做爲客戶端的安裝樹的文件,使用的是系統自帶的軟件包安裝的httpd服務.
1).建立安裝樹所需目錄:
[root@station76 dhcp]# mkdir /var/www/html/centos6
2).使用--bind命令綁定,將光盤的文件掛載centos6上:
[root@station76 dhcp]# mount --bind /media/cdrom/ /var/www/html/centos6/
3).啓動HTTP服務:
[root@station76 dhcp]# service httpd start
4).查看tcp的端口是否啓動:
[root@station76 dhcp]# ps aux |grep httpd [root@station76 dhcp]# ss -tnl
4.準備tftpboot下的文件:
1).安裝syslinux服務:(syslinux是一個功能強大的引導加載程序,並且兼容各類介質)
[root@station76 dhcp]# yum -y install syslinux
2).複製安裝樹文件:
[root@station76 dhcp]# cp /media/cdrom/p_w_picpaths/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/ [root@station76 dhcp]# cp /media/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.jpg} /var/lib/tftpboot/ [root@station76 dhcp]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ [root@station76 dhcp]# mkdir /var/lib/tftpboot/pxelinux.cfg [root@station76 dhcp]# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
5.配置引導程序能自動加載此kickstart文件:
1).複製ks.cfg(這裏假設命令爲ks.cfg):
[root@station76 ~]# cp anaconda-ks.cfg /var/www/html/ks.cfg
2).配置ks.cfg:
[root@station76 html]# chmod +r ks.cfg [root@station76 html]# ll---> 給個可讀權限. total 8 dr-xr-xr-x 7 root root 4096 Nov 29 20:09 centos6 -rw-r--r-- 1 root root 2417 Mar 6 18:49 ks.cfg
----------------------------------------------------------------------------------
[root@station76 html]# vim ks.cfg # Kickstart file automatically generated by anaconda. #version=DEVEL install url --url=http://192.168.1.100/centos6-->可用安裝樹的路徑 lang en_US.UTF-8 keyboard us network --onboot yes --device eth0 --bootproto dhcp --noipv6 rootpw --iscrypted $6$CGsqab6d$Cd.PnnWtlL5XZAyr9J2zoMqyJH1QodcDp1pQp0uZ1f0Cq4eq9.TMkSQU6IfpvYZEYc32.lmF0lKuQwavnC49a0 # Reboot after installation reboot firewall --disabled authconfig --useshadow --passalgo=sha512 selinux --disabled timezone Asia/Shanghai bootloader --location=mbr --driveorder=sda --append="crashkernel=auto crashkernel=auto rhgb rhgb quiet 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 --all zerombr text part /boot --fstype=ext4 --size=200 part pv.008002 --size=61440 volgroup vg0 --pesize=8192 pv.008002 logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480 logvol swap --name=swap --vgname=vg0 --size=2048 logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240 logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480 repo --name="CentOS" --baseurl=http://192.168.1.100/centos6 -->可用安裝樹的路徑 %packages @Base @chinese-support @client-mgmt-tools @core @desktop-platform @fonts @general-desktop @graphical-admin-tools @legacy-x @network-file-system-client @perl-runtime @remote-desktop-clients @x11 ibus-table-cangjie ibus-table-erbi ibus-table-wubi lftp tree %end %post echo -e 'Mage Education Learning Services\nhttp://www.magedu.com\n' >> /etc/issue sed -i '1,$s@id:[0-9]:initdefault:@id:3:initdefault:@g' /etc/inittab [ ! -d /root/.ssh ] && mkdir /root/.ssh && chmod og=--- /root/.ssh cat >> /root/.ssh/authorized_keys << EOF ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlmq1z0G/7wbGuSUewfXlFnwzqCg/myqTi/AwP8LP+JJ49xzIKMzpeWXHD8RWIf5RlDzo+6N7uPK5O22x/QtMosi0egz4shavEJeUkO0EH+KygXXgBIGuMWmAsL+yzbgWXT9H3zdzXi/qWcrBeBv2nYB5mpYSf7o0xqdhCst1MTfcYLD8qxvkwC8RiqBA/1u9N6jeDFbHO+UzZYYCr9zgk9uz4Rrhb9BU7c1GhjUCgRwBDAuo47IHw/OT6KS9lb8lT2R/ujVoDARy/eOhw8cAFXo+QcvzNSW2qKf/Qo21uR/wz2u9SRV0lvUDNSvC2PYtR+iPlDwHY81md430yiNf9w== root@server.magelinux.com EOF # set hosts echo '192.168.1.1 xiaoma.xom' >> /etc/hosts %end [root@station76 html]# sync -->將內存中的數據同步到硬盤上.
注意:1-31之間:指的是命令段; 32-51之間:有@的是指包組.剩下的是安裝包;52-61之間:是指腳本段.
6.配置引導程序能自動加載此kickstart文件
1).編輯/var/lib/tftpboot/pxelinux.cfg/default:
[root@station76 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
接上面圖片:
7.新建虛擬機並測試:
注意一:
注意二:
注意三:
注意四:
8.啓動虛擬機:
1).配置名字在這裏就顯示了哦:
2).正在加載內核文件:
3).建立分區:
4).安裝軟件包:
9.成功安裝:
1).查看IP信息:
2).查看網關信息:
3).查看域名等信息:
作起來是否是很完美?很輕鬆的就搞定了呢??你也來試一試一吧!!!
A smile is the most beautiful language!!!
以本人的理解而寫出博客,如如有錯誤,歡迎指出.
---->小馬子