網絡安裝對于我們現在的管理來說,能夠輕松的在一台沒有光驅的裸機上通過網絡來安裝作業系統,就目前而言,許多公司購買計算機的時候因為成本問題而沒有購買光驅,作為管理者,在系統出現故障或者要大規模的更換作業系統的時候,就顯得很是疲憊了,有沒有一種簡單有效率的方法呢?有,在windows下我們有遠端安裝伺服器,在Linux下我們也有,今天我們來看一下在Linux如何實作遠端安裝。
在Linux下要實作遠端安裝我們要用到DHCP+TFTP+NFS(或者FTP,HTTP),因為遠端主機使用網絡必須要有IP位址,DHCP伺服器就是用于給遠端安裝主機配置設定IP位址的,配置設定完IP位址之後,必須要引導網絡系統的安裝程式,這個時候我們就要用到TFTP,TFTP服務主要用于引導遠端主機啟動,并且要指定安裝的系統類型以及核心的位置和名字,在知道了引導位置及核心後,我們就要啟動作業系統傳輸到遠端主機了,那麼這個服務是由NFS或者FTP,HTTP來完成的,所有要想遠端安裝Linux,必須要有這三樣東西。
另外需要注意的在遠端主機必須要支援PXE網卡啟動才行,也就是你的網卡晶片要支援PXE,你可以直接進入BIOS,或者開機按F2或F12來選擇從網絡啟動,如果沒有表示不支援網絡啟動了
什麼是syslinux ?
syslinux是一種啟動引導裝載器,類似我們的lilo和Grub,能夠引導作業系統,
syslinux有很多變種(都是官方的)适用于各種媒質,如syslinux用于從微軟的檔案系統fat 16/32引導,isolinux用于從CD光牒引導,pexlinux用于從網絡引導,extlinux用于從ext2/3檔案系統引導。
如果您使用過Ubuntu的話,你可以發現這個操心系統有liveCD的功能,Ubuntu的Live CD就是使用isolinux來引導的.
因為我們的網絡安裝,所有我們是的就是PXElinux了,在這裡安裝之前我們将DHCP、TFTP、NFS防砸一台伺服器上。
1,搭建DHCP伺服器
1,配置DHCP,設定DHCP支援PXE,
option space PXE; #從這裡開始,我們要設定DHCP對于PXE的應答選項設定
option PXE.mtftp-ip code 1 = ip-address; MTFTP即是多點TFTP協定,
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;
option PXE.mtftp-ip 0.0.0.0;
filename "pxelinux.0"; #指定用戶端所需要的的bootstrap(引導器)檔案名,我們使用pxelinux.0這個檔案
next-server 192.168.220.103; #指定TFTP伺服器的IP位址,這根據自己的情況修改
}
以上内容你可以隻修改藍色部分即可,其他的可以複制到DHCP中,
下面開始定義DHCP了。
ddns-update-style interim; # 設定DDNS更新方式,
ignore client-updates; #忽略用戶端的更新
subnet 192.168.220.0 netmask 255.255.255.0 { #定義子網
# --- default gateway
option routers 192.168.220.1; #定義用戶端網關
option subnet-mask 255.255.255.0; #網關掩碼
option domain-name-servers 192.168.220.1; #DNS伺服器
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.220.200 192.168.220.254; #配置設定的IP位址範圍
default-lease-time 21600; 這個和下面的設定的是租約
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
紅色部分不了解直接複制,這樣的話DHCP就做好了,
2,配置TFTP服務
[root@hongtu /]# vi /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /tftpboot -U指定任何使用者可通路,-S指定TFTP的目錄
disable = no 将這裡的YES改為NO
per_source = 11
cps = 100 2
flags = IPv4
~
Service xinetd restart
重新開機之後會再/下會自己建立tftpboot的檔案,沒有的話自己手動去建立:
[root@hongtu /]# mkdir tftpboot
3,配置PXE引導檔案
配置bootstrap目錄
要配置TFTP所要傳輸的bootstrap,首先要準備好引導檔案、核心鏡像檔案、跟檔案系統檔案。
一、bootstrap(引導器)檔案:pxelinux.0
檔案位置在/usr/lib/syslinux目錄中。将其拷貝到/tftpboot目錄中
#cp /usr/lib/syslinux /pxelinux.0 /tftpboot
二、核心鏡像檔案:vmlinuz
vmlinuz檔案在RHEL5第一張CD光牒下的/images/pxeboot目錄中,将vmlinuz拷貝到/tftpboot目錄中(假設CD光牒加載到/mnt/cdrom)
#cp /mnt/cdrom/images/pxeboot/vmlinuz /tftpboot
三、根檔案系統檔案:initrd.img
initrd.img檔案在RHEL第一張CD光牒下的/images/pxeboot目錄中,将initrd.img拷貝到/tftpboot目錄中[假設CD光牒加載到/mnt/cdrom]
#cp /mnt/cdrom/images/pxeboot/initrd.img /tftpboot
四、建立pxelinux.cfg目錄與default檔案
pxelinux.cfg為遠端安裝用戶端配置檔案所在目錄,您可以為不同的計算機制定不同的安裝方式或者方法。但是基本上我們都可以用default配置檔案來進行為所有的計算機進行配置。
#cd /tftpboot
#mkdir pxelinux.cfg
#touch default
#vi default
default内容如下:
DEFAULT install
PROMPT 1
LABEL install
KERNEL vmlinuz
#指定kernel檔案
APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384
##啟動參數包括啟動核心時所需要mount的挂載點和ramdisk大小。配置文檔指定了Linux核心連同根文檔系統的名稱,并給出了核心要傳遞的一些參數,
其中ramdisk_size參數要很注意,他指定Linux核心啟動後建立ramdisk的大小,假如配置太小,Linux的安裝過程就可能無法進行。
最後檢查一下/tftpboot目錄中是否存在如下檔案:
1)pxelinux.0 #bootstrap檔案
2)vmlinuz #核心鏡像檔案
3)initrd.img #根檔案系統檔案
4)pxelinux.cfg #為遠端用戶端使用的配置檔案目錄
5) pxelinux.cfg/default #為遠端用戶端使用的配置檔案
4,配置NFS
配置NFS
#Vi /etc/export
/ht *(ro,sync) 指定檔案目錄,權限為所有使用者可以通路并且隻讀,保持資料同步,然後将安裝的ISO檔案全部複制到該目錄下,(是他FTP和HTTP也是一樣的哦)
至此那您的環境都配置好了,現在就找一台支援PXE的用戶端來測試一下喲。
因為網絡速度原因,下面的圖檔沒有穿上來,下面會出現選擇安裝方式,
我們選擇使用NFS,然後會讓你填入NFS伺服器位址,以及系統存的目錄,這個目錄就是我們剛才的NFS各項檔案目錄,
現在你可以試試了哦,
本文轉自 pk2008 51CTO部落格,原文連結:http://blog.51cto.com/837244/983412