nfs、dhcp、tftp組建遠程無人值守系統安裝

配置原理和安裝思路:

1、客戶端網卡在主機啓動初始化時通過網卡內置的PXE芯片啓動DHCP進程向server獲取IP地址,網卡獲取到IP地址後,server會提供給client一個下載Bootloader的指令,就是dhcp服務器中dhcpd.conf配置文件中filename這個選項。

2、網卡PXE芯片中已經包含了tftp-client程序,獲取到IP地址後,網卡會啓動tftp服務去向tftp-server請求傳輸這個Bootloader文件PXElinux.0。當Bootloader加載後我們可以看到主機屏幕上有信息顯示,而這個畫面就是我們在用光盤介質安裝linux的時候看到的第一個畫面。畫面提示選擇圖形界面安裝還是linux text字符界面安裝等信息。如果在server端的tftpboot目錄下只有這個文件,那麼客戶機會一直停留在boot這個地方,因爲沒有default這個Bootloader配置文件告訴機器下一步加載哪個系統內核,default配置文件的作用是告訴主機從哪裏去加載操作系統內核,這個時候如果我們按照正常光碟裝機時會看到提示:輸入回車或者linux text等信息。Bootloader會去調用default配置文件中的操作系統內核文件。

3、default 文件配置好之後,接着就是指定內核文件,這個在default文件最後。就是vmlinuz,initrd.img *.msg 這幾個文件。

4、到這一步加載成功後,系統就按照我們平常光碟裝系統看到的過程一模一樣了,選擇語言,鼠標,鍵盤等,但因爲有了KS這個自動安裝腳步,這些都不要我們手工去指定,全部會自動完成。


系統環境:

這裏使用nfs、dhcp、tftp組建無人值守安裝:

Red Hat Enterprise Linux 5 (2.6.18-8.el5)

軟件環境:

dhcp-3.0.5-3.el5 # 提供動態主機地址分配功能

nfs-utils-1.0.9-16.el5 #提供類UNIX架構的操作系統間文件共享功能

syslinux-3.11-4 #提供系統的啓動鏡像文件.

tftp-server-0.42-3.1 #提供無需驗證的TFTP服務器端

xinetd-2.3.14-10.el5 #提供超級服務器管理

[上述軟件均可從RHEL5系統安裝盤中獲取]


一、準備RHEL5安裝源:

 1、創建一個安裝源目錄

[root@david ~ 18:54 &1]#mkdir -pv /install/rhel5

2、將iso文件掛載到本機

[root@david ~ 19:05 &2]#mount /dev/cdrom /mnt/

3、將iso文件拷貝到安裝源目錄下

[root@david ~ 19:06 &3]#cp -rf /mnt/* /install/rhel5/


二、安裝所需要的模塊:

1、進入到rpm包目錄

[root@david ~ 19:14 &4]#cd /install/rhel5/Server/

2、安裝所需要的模塊,執行‘如果軟件包已經安裝可以覆蓋命令--replacepkgs’

[root@david Server 19:26 &5]#rpm -ivh tftp-server-0.42-3.1.i386.rpm dhcp-3.0.5-3.el5.i386.rpm nfs-utils-1.0.9-16.el5.i386.rpm syslinux-3.11-4.i386.rpm xinetd-2.3.14-10.el5.i386.rpm --replacepkgs

 

三、配置nfs服務:

配置nfs共享文件

[root@david Server 19:30 &6]#vim /etc/exports

(添加配置參數,將安裝源共享給所有主機,賦予只讀權限)

/install/rhel5 *(ro)


四、配置PXE引導目錄及文件:

1、建立TFTP根目錄及客戶端配置目錄

[root@david Server 19:34 &7]#mkdir -pv /tftpboot/pxelinux.cfg/

2、 拷貝系統引導文件

[root@david Server 19:37 &8]#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

3、拷貝安裝源的內核文件   

[root@david Server 19:46 &9]#cp /install/rhel5/images/pxeboot/vmlinuz /tftpboot/

4、拷貝安裝源的ramdisk初始化文件

[root@david Server 19:46 &10]#cp /install/rhel5/images/pxeboot/initrd.img /tftpboot/


五、建立引導客戶端的配置文件:

建立客戶機默認啓動應用文件

[root@david ~ 21:26 &8]#cp /install/rhel5/isolinux/*.msg /tftpboot/pxelinux.cfg/  
[root@david Server 19:50 &11]#vim /tftpboot/pxelinux.cfg/default
default rhel5   #默認標籤設爲rhel5
prompt 1        #開啓顯示過程信息
timeout 30      #檢測超時等待的時間值
label rhel5     #標籤爲rhel5的啓動加載情況
kernel vmlinuz  #定義內核文件
append initrd=initrd.img ks=nfs:192.168.0.122:/install/rhel5/ks.cfg       #重點,不能搞錯路徑,否則無法加載網卡啓動文件


六、配置DHCP服務器:

配置DHCP文件

[root@david Server 20:25 &12]#vim /etc/dhcpd.conf
ddns-update-style none; #動態dns更新方式爲NONE
ignore client-updates; #忽略客戶端更新
subnet 192.168.0.0 netmask 255.255.255.0 { #關鍵部位,宣告自己的DNS服務器服務的網段
option routers 192.168.0.1; # 相當於作用域選項的路由器選項(003)
option subnet-mask 255.255.255.0; # 子網掩碼選項
option domain-name "localdomain"; #相當於DNS後綴(015)
option domain-name-servers 202.96.209.6,202.96.209.133; #相當於DNS服務器地址(006)
default-lease-time 21600; #默認租約 6小時
max-lease-time 43200; #最大租約12小時
range 192.168.0.100 192.168.0.200; #關鍵部位 : 定義作用域(地址池) ----一段可供DHCP服務器分配的地址範圍.
next-server 192.168.0.122; #指定TFTP服務器的地址
filename "pxelinux.0"; #該文件位於tftp服務器中指定的/tftpboot/目錄中,是PXE啓動時用到的BOOTLOADER文件.
#host PC001 { #如有需要,可以爲個別客戶機設置IP/MAC地址綁定,專業稱之爲保留.這裏PC001是主機名.
#hardware ethernet 00:0C:29:de:44:82; #客戶機的MAC地址,在裸機開機啓動時從網卡啓動看到的地址.
#fixed-address 192.168.10.101; #爲客戶機保留的地址,綁定到固定的IP.
#}
}

  

七、配置tftp服務器:

[root@david Server 20:41 &13]#vim /etc/xinetd.d/tftp

找到disable這一行,將yes換成no,並且保存退出


八、在/install/rhel5目錄下創建自動安裝配置文件 ks.cfg:

1、可以複製本機安裝配置文件進行修改

[root@david Server 20:44 &14]#cp /root/anaconda-ks.cfg /install/rhel5/ks.cfg

2、修改權限

[root@david Server 20:49 &15]#chmod +r /install/rhel5/ks.cfg

3、修改安裝配置文件

[root@david Server 20:50 &16]#vim /install/rhel5/ks.cfg
# Kickstart file automatically generated by anaconda.

install         #表示安裝,而不是升級
text            #文本方式安裝
nfs --server 192.168.0.122 --dir=/install/rhel5
#安裝方式,如果是網絡安裝的話可以寫成 url --url ftp://192.168.0.122/dir 或者 nfs --server=192.168.0.122 --dir=/install/rhel5
key 2515dd4e215225dd
#因爲是redhat系統,會要求輸入key,如果想跳過,可以配置爲:key --skip
lang en_US.UTF-8
#語言配置
keyboard us
#鍵盤式樣
network --device eth0 --bootproto dhcp --hostname david1
#網絡設置及主機名,網絡配置具體參數樣例:network –onboot yes --bootproto=static --ip=192.168.0.x --netmask=255.255.255.0 其他網關,DNS等格式和ifcfg-ethx的方式一樣
rootpw --iscrypted $1$OL9BN3ZY$Z4DPRSimm/VDmMFIAwxqL0
#管理員密碼,是加密過的 要是使用不加密的方式則這樣寫:rootpw 123456
firewall --enabled --port=22:tcp
#開啓防火牆,並打開ssh端口
authconfig --enableshadow --enablemd5
#用戶認證和密碼加密方式
selinux --enforcing
#強制打開selinux
timezone --utc Asia/Shanghai
#時區設置

zerombr yes
#清空磁盤mbr,特別注意新機子,在沒有格式化磁盤時需加上這條

bootloader --location=mbr --driveorder=sda      #引導程序相關參數
# 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 --linux --drives=sda          #初始化磁盤
part /boot --fstype ext3 --size=100 --ondisk=sda
part pv.2 --size=0 --grow --ondisk=sda
volgroup VolGroup00 --pesize=32768 pv.2
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=512 --grow --maxsize=1024
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
#這裏的配置中,volgroup是卷組的意思,後面的VolGroup00是卷組名,LogVol00是邏輯卷

reboot
%packages       #安裝的核心軟件包組
@dialup

#這裏還可以添加些其他需要的軟件包,如開發包等,或者可以寫一些需求的腳本等


九、開啓各項服務,注意順序,及關閉selinux與防火牆iptables或者配置iptables規則:

(iptables在INPUT鏈上也可以指定一條規則:iptables -A INPUT -p udp --dport 67 -j ACCEPT)

[root@david Server 21:16 &17]#service portmap start
[root@david Server 21:20 &18]#service nfs start
[root@david Server 21:20 &19]#service dhcpd start
[root@david Server 21:21 &20]#service xinetd start
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章