部署一:PXE+ Kickstart 實現網絡安裝 單 發行版LINUX系統

本人對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.註釋暫時不用的參數:

wKioL1MbSbWhjlswAAD_vvfO1lY833.jpg


II.配置做用域:

wKiom1MbTDPDspY-AARBHCogtKM943.jpg


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).設置開機自起動及啓動服務、查看端口:

wKioL1MbUy7RhiHQAAEpiXXtiwQ657.jpg



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

wKioL1MbbKqCjtV9AAILlWb2CDc120.jpg

接上面圖片:

wKiom1MbbNCCaPFRAAF1ctnO7qE841.jpg





7.新建虛擬機並測試:


注意一:

wKiom1MbbNGDtrTkAAEdeQvSF5E240.jpg


注意二:

wKioL1MbbKuAEFDfAAGiMVqJ5IA304.jpg


注意三:

wKioL1Mbb1zC5vGUAAEHUyEQjBM976.jpg


注意四:

wKiom1Mbb4PDyvrkAADJzEPyYTA937.jpg




8.啓動虛擬機:

1).配置名字在這裏就顯示了哦:

wKiom1MbbNDR-EG2AAMGWCG9ft0736.jpg


2).正在加載內核文件:

wKiom1MbcUHQP0OGAABE2x49mGE997.jpg


3).建立分區:

wKioL1MbbKzBNTPbAAC8jOLRvf4836.jpg


4).安裝軟件包:

wKiom1MbbNKi6aYGAAEIoMYgsLY959.jpg





9.成功安裝:

1).查看IP信息:


wKioL1MbcH2THkLCAAJNd5oA72U264.jpg


2).查看網關信息:

wKiom1MbcKPQLjtBAACm0bUNh2s878.jpg


3).查看域名等信息:

wKioL1MbcH2CVE7CAAB8ADVgSNo659.jpg


作起來是否是很完美?很輕鬆的就搞定了呢??你也來試一試一吧!!!





A smile is the most beautiful language!!!


j_0057.gifj_0057.gifj_0057.gif以本人的理解而寫出博客,如如有錯誤,歡迎指出.j_0057.gifj_0057.gifj_0057.gif

                                                                       ---->小馬子

相關文章
相關標籤/搜索