首先說明,本文內容九成九是從 ( 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:
張貼留言