網絡安裝對於咱們如今的管理來講,可以輕鬆的在一臺沒有光驅的裸機上經過網絡來安裝操做系統,就目前而言,許多公司購買計算機的時候由於成本問題而沒有購買光驅,做爲管理員,在系統出現故障或者要大規模的更換操做系統的時候,就顯得非常疲憊了,有沒有一種簡單有效率的方法呢?有,在windows下咱們有遠程安裝服務器,在Linux下咱們也有,今天咱們來看一下在Linux如何實現遠程安裝。node
在Linux下要實現遠程安裝咱們要用到DHCP+TFTP+NFS(或者FTP,HTTP),由於遠程主機使用網絡必需要有IP地址,DHCP服務器就是用於給遠程安裝主機分配IP地址的,分配完IP地址以後,必需要引導網絡系統的安裝程序,這個時候咱們就要用到TFTP,TFTP服務主要用於引導遠程主機啓動,而且要指定安裝的系統類型以及內核的位置和名字,在知道了引導位置及內核後,咱們就要啓動操做系統傳輸到遠程主機了,那麼這個服務是由NFS或者FTP,HTTP來完成的,全部要想遠程安裝Linux,必需要有這三樣東西。linux
另外須要注意的在遠程主機必需要支持PXE網卡啓動才行,也就是你的網卡芯片要支持PXE,你能夠直接進入BIOS,或者開機按F2或F12來選擇從網絡啓動,若是沒有表示不支持網絡啓動了ios
什麼是syslinux ? bootstrap
syslinux是一種啓動引導裝載器,相似咱們的lilo和Grub,可以引導操做系統, windows
syslinux有不少變種(都是官方的)適用於各類媒質,如syslinux用於從微軟的文件系統fat 16/32引導,isolinux用於從光盤引導,pexlinux用於從網絡引導,extlinux用於從ext2/3文件系統引導。服務器
若是您使用過Ubuntu的話,你能夠發現這個操心繫統有liveCD的功能,Ubuntu的Live CD就是使用isolinux來引導的.網絡
由於咱們的網絡安裝,全部咱們是的就是PXElinux了,在這裏安裝以前咱們將DHCP、TFTP、NFS防砸一臺服務器上。app
1,搭建DHCP服務器less
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,首先要準備好引導文件、內核鏡像文件、跟文件系統文件。
1、bootstrap(引導器)文件:pxelinux.0
文件位置在/usr/lib/syslinux目錄中。將其拷貝到/tftpboot目錄中
#cp /usr/lib/syslinux /pxelinux.0 /tftpboot
2、內核鏡像文件:vmlinuz
vmlinuz文件在RHEL5第一張光盤下的/p_w_picpaths/pxeboot目錄中,將vmlinuz拷貝到/tftpboot目錄中(假設光盤加載到/mnt/cdrom)
#cp /mnt/cdrom/p_w_picpaths/pxeboot/vmlinuz /tftpboot
3、根文件系統文件:initrd.img
initrd.img文件在RHEL第一張光盤下的/p_w_picpaths/pxeboot目錄中,將initrd.img拷貝到/tftpboot目錄中[假設光盤加載到/mnt/cdrom]
#cp /mnt/cdrom/p_w_picpaths/pxeboot/initrd.img /tftpboot
4、建立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各項文件目錄,
如今你能夠試試了哦,