2010-01-06

【系統】SUSE : PXE Server

首先說明,本文內容九成九是從 ( Garlic ) 貼過來的,

我只是記錄一下幹過這件事~~然後再加上一些我在實作時的記錄。

好~~內文正式開始:


PXE Server ~~ 搞起來的話,要安裝新的 Server 就不再是費時的工作了。

這個是 Garlic 教的,主要都是照Garlic的步驟,但~~雖然裝起來了,

還是不太清楚是怎麼一回事…。

反正就先記錄一下吧。

大概的觀念就是 Client 開機時透過網路 DHCP 取得 IP ,

然後 TFTP -> PXE ,選擇安裝項目,結束。

 

首先 PXE Server 要安裝 DHCP 及 TFTP 還有 NFS

# zypper in dhcp
# zypper in dhcp-server
# zypper in tftp
# zypper in nfs-utils

接著設定開機就啟動

# chkconfig nfsserver 35
# chkconfig dhcpd 35

然後因為 PXE Server 主要是拿來安裝用的,

所以一定要有很多的安裝光碟的 ISO 檔。

現在就來將這些 ISO 檔設定成開機就自動 Mount 。

# vi /etc/fstab
/home/PXE/linux/ISO/SLES-11-DVD-x86_64-GM-DVD1.iso /home/PXE/linux/SLES/SLES11_1 iso9660 defaults,loop,ro 0 0
/home/PXE/linux/ISO/SLE-11-SDK-DVD-x86_64-GM-Media1.iso /home/PXE/linux/SLES/SLES11_SDK_1 iso9660 defaults,loop,ro 0 0
/home/PXE/linux/ISO/SLE-11-SDK-DVD-x86_64-GM-Media2.iso /home/PXE/linux/SLES/SLES11_SDK_2 iso9660 defaults,loop,ro 0 0

(記得 mount 的目錄要先建好,然後下面內容放在檔案最後面比較好)


有了上面這些 ISO ,就要再設定 NFS,這樣子Client 在安裝時才能掛載。

# vi /etc/exports
/home/PXE/linux 10.0.0.0/8(ro,no_root_squash,async)
/home/PXE/linux/SLES/SLES11 10.0.0.0/8(ro,no_root_squash,async)
/home/PXE/linux/SLES/SLES11_SDK_1 10.0.0.0/8(ro,no_root_squash,async)
/home/PXE/linux/SLES/SLES11_SDK_2 10.0.0.0/8(ro,no_root_squash,async)

接著來設定 DHCP Server

# vi /etc/dhcpd.conf

其中 server-name, next-server 我是指到 tftp server 的 ip 去, filename 那個也是和 pxe 有關的設定
( By Garlic )

option domain-name "chingwei.net";
option domain-name-servers 10.2.17.104;
default-lease-time 3600;
max-lease-time 72000;
ddns-update-style none; ddns-updates off;
log-facility local7;
subnet 10.0.0.0 netmask 255.0.0.0 {
        option routers                  10.2.255.254;
        option subnet-mask              255.255.0.0;
        range dynamic-bootp 10.10.1.100 10.10.1.199;
        server-name "10.10.1.1";
        next-server 10.10.1.1;
        filename "pxelinux.0";
}
# vi /etc/sysconfig/dhcpd

調整以下這行 (看你想要讓 eth0, eth1, ..... 來取得 ip)

DHCPD_INTERFACE="ANY" # 設成 ANY 就是都可以

( By Garlic )


然後是 TFTP Server

# vi /etc/xinetd.d/tftp   (把 disable 從 yes 改成 no)
# mkdir /tftpbook
# /etc/init.d/xinetd restart

接著就是 PXE Server 的設定了

# cp /usr/share/syslinux/pxelinux.0 /tftpboot
# mkdir /tftpboot/pxelinux.cfg
# vi /tftpboot/pxelinux.cfg/default
default harddisk
 # hard disk
 label harddisk
   localboot 0x80
 # SLES11
 label sles11
   kernel install-linux/sles11/kernel
   append initrd=install-linux/sles11/initrd ramdisk_size=65536 
              install=nfs://10.10.1.1/home/linux/SLES11_1 
              autoyast=nfs://10.10.1.1/home/linux/autoyast/esxi_sles11_s.xml 
              textmode=1
 # rescue
 label rescue
   kernel linux
   append initrd=initrd splash=silent rescue=1 showopts
# mediacheck
label mediachk
  kernel linux
  append initrd=initrd splash=silent mediacheck=1 showopts
# bios test
label firmware
  kernel linux
  append initrd=biostest,initrd splash=silent install=exec:/bin/run_biostest showopts
# memory test
label memtest
  kernel memtest
implicit 1
gfxboot bootlogo
display message
prompt 1
timeout 600
# vi /tftpboot/message
           Welcome to SUSE Linux Enterprise Server 11!
0fTo start the installation enter 'linux' and press .07
Available boot options:
  harddisk  - Boot from Harddisk (this is default)
  sles11    - SuSE Linux Enterprise Server
  nolapic   - Installation - Local APIC Disabled
  failsafe  - Installation - Safe Settings
  rescue    - Rescue System
  firmware  - Firmware Test
  memtest   - Memory Test
'noacpi', 'nolapic', or 'failsafe' may be necessary on some tricky hardware.
Have a lot of fun...
# mkdir -p /tftpboot/install-linux/sles11

利用 mount -o loop sles11_disk1.iso /mnt, 把 mnt/boot/x86_64/loader 下面的 linux, initrd copy 到 /tftpboot/install-linux/sles11 下面的 kernel, initrd

接下來找到同網段的 server, 用網路開機, dhcp 起來後, 會看到一個要安裝什麼的選單 (就是剛才編輯的那個 message file), 打 sles11 後, 就會利用剛才寫在 default 檔案裏面的 boot option 去開機, 因為裏面寫的是 nfs install + autoyast, 所以就沒我們的事了, 過 20 分鐘再回來看, 應該就全部裝完了

以上內容 9成9 ( By Garlic ),我只是記錄一下幹過這件事~~


補充:

在 Client 可以下 showmount -e 10.10.1.1
看10.10.1.1 上有那些可以mount。

然後要Mount 就執行:
mount 10.10.1.1:/home/SLES11 /tmp/a

若要系統於開機時自動掛載 nfs 的檔案系統,可於 Client 端的 /etc/fstab 做如下設定:

# vi /etc/fstab
10.10.1.1:/home/sles11   /mnt/nfs nfs defaults 0 0 

0 comments:

張貼留言