歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 利用PXE實現無人值守無盤安裝Linux

利用PXE實現無人值守無盤安裝Linux

日期:2017/3/3 16:26:46   编辑:關於Linux

什麼是PXE:

PXE(preboot execute environment)是由Intel公司開發的最新技術,工作於Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持來自網絡的操作系統的啟動過程,其啟動過程中,終端要求服務器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協議下載一個啟動軟件包到本機內存中並執行,由這個啟動軟件包完成終端基本軟件設置,從而引導預先安裝在服務器中的終端操作系統。PXE可以引導多種操作系統,如:Windows95/98/2000,linux等。

===========================================================================================

為什麼使用PEX:

從CD-ROM安裝Linux這種最便捷、最直接的操作方法,但是,如果一旦遭遇需要同時安裝linux系統到多台計算機上,那麼我們應該選擇一種更高效的安裝方式。PXE是其中的一種選擇。

PEX—Pre-boot Execution Environment協議可以使計算機通過網絡引導啟動。把安裝盤的內容復制到某台服務器,欲安裝linux的計算機通過網絡實現多機同時安裝。

===========================================================================================

PEX啟動原理:

PXE是RPL的升級品,它是Preboot Execution Environment的縮寫。它們的不同之處在於RPL是靜態路由,而PXE是動態路由。其通信協議采用TCP/IP,與Internet連接高效而可靠,PXE無盤工作站的啟動過程分析如下:

¨ 客戶端個人電腦開機後, 在 TCP/IP Bootrom 獲得控制權之前先做自我測試。

¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP。

¨ 如果服務器收到個人電腦所送出的要求, 就會送回 BOOTP/DHCP 回應,內容包括

客戶端的 IP 地址, 預設網關, 及開機影像文件。否則, 服務器會忽略這個要求。

¨ Bootprom 由 TFTP 通訊協議從服務器下載開機影像文件。

¨ 個人電腦通過這個開機影像文件開機, 這個開機文件可以只是單純的開機程式也可

以是操作系統。

¨ 開機影像文件將包含 kernel loader 及壓縮過的 kernel, 此 kernel 將支持NTFS root

系統。

¨ 遠程客戶端根據下載的文件啟動機器。

===========================================================================================

在這裡,我做一個用PXE安裝LINUX的案例:

環境:VMWARE虛擬機

要求:用REDHAT LINUX配置PXE服務器,實現無人值守無盤安裝LINUX

===========================================================================================

配置靜態IP地址:

輸入命令:[root@localhost ~]# setup

出現如下界面:

選擇Network configuration

選擇編輯設備

選擇eth0網卡

設置以上參數。

===========================================================================================

掛載REDHAT光盤:

[root@localhost ~]# mount /dev/cdrom /mnt/cdrom

===========================================================================================

配置YUM客戶端:

[root@localhost ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo

配置命令如下:直接粘貼進去就行了

[rhel-Server]

name=Red Hat Enterprise Server $releasever - $basearch - Debug

baseurl=file:///mnt/cdrom/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-VT]

name=Red Hat Enterprise VT $releasever - $basearch - Debug

baseurl=file:///mnt/cdrom/VT

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-Cluster]

name=Red Hat Enterprise Cluster $releasever - $basearch - Debug

baseurl=file:///mnt/cdrom/Cluster

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[rhel-ClusterStorage]

name=Red Hat Enterprise ClusterStorage $releasever - $basearch – Debug

baseurl=file:///mnt/cdrom/ClusterStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

然後保存,退出。

===========================================================================================

安裝FTP服務器:

[root@localhost cdrom]# yum install -y vsftpd

===========================================================================================

安裝DHCP服務器:

[root@localhost cdrom]# yum install -y dhcp

===========================================================================================

安裝TFTP服務器:

[root@localhost cdrom]# yum install -y tftp

===========================================================================================

把安裝文件放到FTP服務器上:

[root@localhost /]# cd /mnt/cdrom/

[root@localhost cdrom]# cp -r . /var/ftp/pub/

===========================================================================================

配置DHCP配置文件:

[root@localhost cdrom] # vim /etc/dhcpd.conf

進入底行模式輸入:-r /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample

在VIM編輯器的插入模式做以上修改。

===========================================================================================

配置TFTP:

[root@localhost ~]# vim /etc/xinetd.d/tftp

===========================================================================================

創建目錄

[root@localhost /]# mkdir -pv /tftpboot/pxelinux.cfg

復制文件:

[root@localhost /]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

[root@localhost /]# cp /mnt/cdrom/images/pxeboot/vmlinuz /tftpboot/

[root@localhost /]# cp /mnt/cdrom/images/pxeboot/initrd.img /tftpboot/

[root@localhost /]# cp /mnt/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

===========================================================================================

修改/tftpboot/pxelinux.cfg/default文件:

[root@localhost /]# vim /tftpboot/pxelinux.cfg/default

在插入模式做如上圖修改:代碼如下

Timeout的值改為6

12行修改為:append ks=ftp://192.168.10.1/pub/ks.cfg ksdevice=eth0 initrd=initrd.img

===========================================================================================

重啟ftp dhcp xinetd服務:

[root@localhost ~]# service vsftpd restart

[root@localhost ~]# service dhcpd restart

[root@localhost ~]# service xinetd restart

===========================================================================================

安裝kickstart:

[root@localhost ~]# yum install -y system-config-kickstart

===========================================================================================

配置kickstart:

[root@localhost cdrom]# system-config-kickstart

配置默認語言,鍵盤類型,root用戶密碼,安裝後是否重新引導,在文本或圖形模式安裝。

選擇新安裝,從FTP安裝,以及FTP地址和路徑

磁盤分區信息。

配置網卡信息。

選擇需要安裝的安裝包

寫入安裝後執行的腳本以及解釋器。

保存ks.cfg 文件。保存路徑為:/var/ftp/pub/

===========================================================================================

因為我們的目的是無人值守安裝LINUX,我們在安裝的時候,會提示輸入KEY。在此,我們編輯ks.cfg文件跳過key的選擇。

[root@localhost cdrom]# vim /var/ftp/pub/ks.cfg

在裡面加入一行: key --skip

===========================================================================================

我們來新建一個虛擬機,測試一下:

設置虛擬機網絡連接。(注意,新建的虛擬機一定要和做PXE服務器的虛擬機在同一個虛擬LAN裡面)

PXE客戶端從DHCP服務器獲取IP地址。

獲取地址成功,並加載安裝信息。

載入驅動。

為eth0網卡發送請求IP信息。

決定主機名和域名。

開始安裝系統文件。

安裝完成,輸入剛才在kickstart裡面預設的root密碼,登陸成功。

===========================================================================================

PS:江山煙若柳原創,轉載請注明出處。因本人水平有限,不足之處在所難免,敬請批評指正,共同學習,共同提高。

本文出自 “江山煙若柳” 博客,請務必保留此出處http://45642777.blog.51cto.com/2139502/954613

Copyright © Linux教程網 All Rights Reserved