天天看點

syslinux_網絡遠端安裝Linux系統

     網絡安裝對于我們現在的管理來說,能夠輕松的在一台沒有光驅的裸機上通過網絡來安裝作業系統,就目前而言,許多公司購買計算機的時候因為成本問題而沒有購買光驅,作為管理者,在系統出現故障或者要大規模的更換作業系統的時候,就顯得很是疲憊了,有沒有一種簡單有效率的方法呢?有,在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的用戶端來測試一下喲。

syslinux_網絡遠端安裝Linux系統
syslinux_網絡遠端安裝Linux系統
syslinux_網絡遠端安裝Linux系統
syslinux_網絡遠端安裝Linux系統

因為網絡速度原因,下面的圖檔沒有穿上來,下面會出現選擇安裝方式,

我們選擇使用NFS,然後會讓你填入NFS伺服器位址,以及系統存的目錄,這個目錄就是我們剛才的NFS各項檔案目錄,

   現在你可以試試了哦,

本文轉自 pk2008 51CTO部落格,原文連結:http://blog.51cto.com/837244/983412

繼續閱讀