無人值守安裝

                          無人值守安裝--PXE網絡裝機


簡介:

   PXE:(無人值守安裝?) Pre-boot eXcution Environment

批量安裝操作系統:

PXE服務器     客戶端(網卡要支持網絡引導)

需要部署的服務:DHCP NFS YUM TFTP(提供引導程序下載


)   DNS


任務:


 用ip192.168.1.1/24主機做pxe服務器,能夠給192.168.1.0/24網段內的


所有主機提供

自動安裝操作系統的功能,具體功能如下:


1、能夠給客戶端自動安裝rhel5操作系統


2、給客戶端分配tarena.com域的主機名


3、給客戶端分配網關、DNS


實現自動獲取IP網絡安裝linux是這樣的:客啓端PXE網卡啓動-->通過Bootp協議廣播dhcp請求-->DHCP服務器-->獲取IP,TFTP服務器地址-->從TFTP上下載 pxelinux.0以及系統內核文件vmlinuz、initrd.img-->啓動系統-->(到指定url去下載ks.cfg文件-->根據ks.cfg文件去NFS/HTTP/FTP服務器自動下載軟件包)安裝系統-->完成安裝。


配置步驟:

1、搭建dns服務器給pxe客戶端分配tarena.com域的主機名

******注意這裏的正向解析和反向解析都要做,客戶端分配不到主機


名和ip地址*********************************************

1)yum -y install  bind  bind-chroot (caching-nameserver)//安裝軟件包

# cat /var/named/chroot/etc/named.conf

options {

  directory "/var/named/";

             #/var/named/chroot/var/named/

};

zone "tarena.com" {


//寫正向區域文件

    type master;

    file "tarena.zone";

};


zone "1.168.192.in-addr.arpa" {//寫反向區域文件,注意這裏的反寫

    type master;

    file "192.zone";  

};

2)分別做正反向解析

# cat  /var/named/chroot/var/named/tarena.zone

$TTL 3600

@       IN  SOA  www.tarena.com.   root (

               2014040200

               28800

               14400

               17400

               86400

)

 IN      NS      www.tarena.com.

$GENERATE 2-253  student$.tarena.com. IN        A   192.168.1.$

//主機名和ip地


址做正向解析

[root@localhost ~]# cat /var/named/chroot/var/named/192.zone

$TTL 3600

@       IN  SOA  www.tarena.com.   root (

               2014040200

               28800

               14400

               17400

               86400

)

       IN      NS      www.tarena.com.

$GENERATE   2-253   $       IN      PTR  student$.tarena.com.

//反


向解析

配置完成。測試dns的解析功能

#host   student20.tarena.com

#host   192.168.1.20

3)  #service  named  start

#chkconfig named on//不


要忘記開機自啓動

2、配置dhcp服務(給客戶端分配ip地址)

DHCP需要指定next-server(TFTP的服務器)和filename (網卡引導文


件名)

1)#yum -y install dhcp


//安裝軟件包

2)編輯配置文件

可以參考/usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample

[root@localhost ~]# cat /etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

subnet 192.168.1.0 netmask 255.255.255.0 {

       option routers                  192.168.1.254;

       option subnet-mask              255.255.255.0;

       option domain-name              "tarena.com";

       option domain-name-servers      192.168.1.1;

       option time-offset              -18000;

       range 192.168.1.2 192.168.1.253;        default-


lease-time 21600;

       max-lease-time 43200;

       next-server 192.168.1.1;//TFTP服務器的ip地址

       filename "pxelinux.0";//網卡引導文件名

}

3)dhcpd 檢查dhcp配置文件的錯誤

#service dhcpd restart

#chkconfig  --level  35  dhcpd  on       //開機自啓動


3、配置tftp服務:(tftp:小文件匿名共享)

共享引導文件:系統引導和 網卡引導文件  default文件

tftpboot/ tftp的根目錄

1)安裝tftp軟件:

默認是安裝的# rpm -q tftp-server

ftp-server-0.49-2

2)編輯tftp的配置文件

tftp服務由xinetd服務(臨時服務)管理,監聽udp的69端口

#vim /etc/xinetd.d/tftp

service tftp

{

       … …

       server                  = /usr/sbin/in.tftpd

       server_args             = -s /tftpboot//服務根目錄,


不需要修改

       disable                 = no//把yes改爲no,


啓動服務

      …  …

}

# service xinetd  restart//重啓xinetd服務,啓動tftp


服務

#netstat –anptu |grep   69//查看啓動狀態

2)共享系統引導文件(系統引導文件和網卡引導文件)

 系統引導文件在系統光盤內,需要先掛載光盤,然後執行拷貝


initrd.img  vmlinuz  共享網卡的引導文件


#mount /dev/cdrom  /mnt

#cd  /mnt/isolinux  //引


導文件的存放目


錄isolinux


#cp vmlinuz  initrd.img  /tftpboot/

***********************************************************

vmlinuz  initrd.img 分別對應系統啓動的內核文件和鏡像文件,把他

們拷貝到tftp服務器的根目錄下,並查看其權限

***********************************************************


3)共享網卡引導文件pxelinux.0


網卡引導文件由syslinux軟件包提供

#yum  -y install syslinux

# rpm -q syslinux

syslinux-4.02-7.2.el5

#rpm -ql syslinux | grep 'pxelinux.0'//檢索一下網卡引導文件所


在路徑

/usr/share/syslinux/gpxelinux.0

/usr/share/syslinux/pxelinux.0

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

//把檢索出來的結果拷貝到tftp服務器根目錄裏


4)共享default文件:

pxe服務器可以指定客戶端安裝哪一個操作系統,default文件用來設置


客戶端默認安裝的操作系統類型

default文件需要手動編輯,可以參考光盤裏的模板文件isolinux.cfg

#mkdir /tftpboot/pxelinux.cfg//先創建


pxelinux.cfg文件夾

# cp /mnt/isolinux/isolinux.cfg  /tftpboot/pxelinux.cfg/default


//拷貝並改名爲default

***********************************************************

拷貝過來之後查看一下文件權限,增加w權限,修改文件

**********************************************************

#vim /tftpboot/pxelinux.cfg/default  //編輯默認啓動標籤

default rhel5   //默認從哪個標籤引導系統

prompt 1//是否交互式安裝

timeout 100//進默認系統的等待時間

display boot.msg

F1 boot.msg       //有無背景圖片

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

label rhel5//定義標籤名

 kernel vmlinuz

 append initrd=initrd.img  ks=nfs:192.168.1.1:/ks/ks.cfg


//手動添加


kickstart服務

4、 配置nfs服務 :


 共享ks文件(自應答):客戶端安裝操作系統時的安裝配置文件和客


戶端安裝操作系統需要的rpm軟件包


首先確保安裝了nfs軟件包


# rpm -qa | grep nfs

#yum –y install nfs

#yum –y install portmap


#mkdir /ks//創建的文件名必須要根


default標籤裏的同名

#vim /etc/exports

/ks*(ro)//掛載nfs共享

/mnt*(ro)


#service nfs restart

#service portmap start//不要忘記開啓portmap服務

#chkconfig nfs on

#chkconfig portmap on

#showmount –e localhost//查看nfs共享是


否成功

Export list for localhost:

/ks  *

/mnt *


5、生成ks文件(2種方式)


模板生成:cp /root/ anaconda-ks.cfg  ks.cfg  修改裏面的設置

工具生成:先配置yum源(yum源的名字必須以rhel開頭)


#mount /dev/cdrom /mnt

[root@localhost ~]# cat /etc/yum.repos.d/iso.repo

[rhel-debuginfo]//注


意這裏必須用rhel開頭

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

baseurl=file:///mnt/Server

enabled=1

gpgcheck=0

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

yum源的名字必須以rhel開頭,要不然獲取不到軟件包

安裝提供生成ks文件命令的軟件包

#yum -y install system-config-kickstart

# system-config-kickstart//服務的啓動就


是用軟件包的名字


(需要圖形的 所以系統必須運行在level5級別)


 這時候會進入圖形化的kickstart


其中選擇安裝方法nfs(這裏就是rpm包的所在目錄)


通過圖形,選擇系統啓動過程參數,包括語言,鍵盤,root的命名,


grub口令,分區情況,添加網絡配置,防火牆,定製軟件包等


配置完成之後點擊文件----保存文件,選擇要保存到的路徑/ks和名稱


ks.cfg


目錄存放的地方必須要與配置文件中寫的一致


保存後會生成ks.cfg文件,裏面放置的就是配置文件,不要忘記添加


一條key –-skip


#service nfs restart


至此pxe服務器配置完成


如果要用模板文件來配置,cp /root/anaconda-ks.cfg     ks.cfg


二 配置客戶端


在BIOS設置引導方式爲網絡引導

如果是在vmware上做實驗,要把vmware的本地dhcp服務關閉


無需進入交互式界面就可以進行無人值守安裝了。




實驗總結:

1、首先配置dns服務,其次

dhcp服務:

next-server 192.168.1.1;//TFTP服務器的ip地址

       filename "pxelinux.0";//網卡引導文件名

註釋:The  next-server  statement is used to specify the host address of

         the server from which the initial  boot  file  (specified  in  the

         filename  statement)  is  to  be loaded.   Server-name should be a

         numeric IP address or a domain name.



2、 tftp服務,共享引導文件:系統引導和 網卡引導文件  default文件

因爲tftp是小文件匿名共享的,所以裏面放的都是比較小的文件,大


文件比如rpm包用nfs共享



vmlinuz  initrd.img 分別對應系統啓動的內核文件和鏡像文件


3配置過程中不要忘記查看tftp下的文件權限,如果權限不夠是不能被


獨到的,文件讀取不到是安裝不了系統的

光盤裏的isolinux.cfg是/tftpboot/pxelinux.cfg/ default的模板,通過default


進行默認啓動標籤


4、配置nfs的時候不要忘記portmap服務


5、生成ks.cfg 文件可以用keckstart工具也可以用模板生成;

生成ks.cfg文件,用工具的時候,yum源的名字必須要以rhel開頭


6、 安裝過程中出現的幾個文件:

pxelinux.0 網卡引導文件,由syslinux軟件包提供

vmlinuz 系統啓動的內核文件,在系統光盤內

      initrd.img 系統內核鏡像文件,在系統光盤內

isolinux.cfg  光盤中的default引導文件的模板,在


系統光盤內

default    默認啓動標籤,從光盤中isolinux.cfg拷


貝過來改名後得到

但是要創建


pxelinux.cfg目錄來存放default文件

附上linux引導過程:

開機加電自檢→MBR引導→GRUB菜單→內核(kernel)


→init進程→配置/etc/inittab

/etc/inittab的配置包括2部分

→ 一個是執行腳本/etc/rc.d/rc.sysinit

→  另一個是腳本/etc/rc.d/rc


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章