歡迎您光臨本站 註冊首頁

RHEL4+PXE+DHCP+Vsftpd+Kickstart

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

RHEL4+PXE+DHCP+Vsftpd+Kickstart

  最新原創 RHEL4+PXE+DHCP+Vsftpd+Kickstart
 製作:chinanpt
  QQ:350072715
         一切都那麼的突然,但又理所當然,非常感謝網路中優秀、熱心的人士的幫助,同時也包含了自己面對問題而不怕阻力、始終如一的韌性和追求!今天我就把kickstart的無人值守安裝過程寫出來,以供分享,同時也希望廣大網友能提出好的建議,共同進步!
 
 原理和概念:
 1.1        什麼是PXE
 嚴格來說,PXE 並不是一種安裝方式,而是一種引導的方式。進行 PXE 安裝的必要條件是要安裝的計算機中包含一個 PXE 支持的網卡(NIC),即網卡中必須要有 PXE Client。PXE (Pre-boot Execution Environment)協議使計算機可以通過網路啟動。協議分為 client 和 server 端,PXE client 在網卡的 ROM 中,當計算機引導時,BIOS 把 PXE client 調入內存執行,由 PXE client 將放置在遠端的文件通過網路下載到本地運行。運行 PXE 協議需要設置 DHCP 伺服器和 TFTP 伺服器。DHCP 伺服器用來給 PXE client(將要安裝系統的主機)分配一個 IP 地址,由於是給 PXE client 分配 IP 地址,所以在配置 DHCP 伺服器時需要增加相應的 PXE 設置。此外,在 PXE client 的 ROM 中,已經存在了 TFTP Client。PXE Client 通過 TFTP 協議到 TFTP Server 上下載所需的文件。
 1.2 什麼是KickStart
 KickStart是一種無人職守安裝方式。KickStart的工作原理是通過記錄典型的安裝過程中所需人工干預填寫的各種參數,並生成一個名為ks.cfg的文件;在其後的安裝過程中(不只局限於生成KickStart安裝文件的機器)當出現要求填寫參數的情況時,安裝程序會首先去查找KickStart生成的文件,當找到合適的參數時,就採用找到的參數,當沒有找到合適的參數時,才需要安裝者手工干預。這樣,如果KickStart文件涵蓋了安裝過程中出現的所有需要填寫的參數時,安裝者完全可以只告訴安裝程序從何處取ks.cfg文件,然後去忙自己的事情。等安裝完畢,安裝程序會根據ks.cfg中設置的重啟選項來重啟系統,並結束安裝。
 1.3 PXE + KickStart安裝的條件
 執行 PXE + KickStart安裝需要的設備為:
 •        DHCP 伺服器;
 •        TFTP 伺服器;
 •        KickStart所生成的ks.cfg配置文件
 •        一台存放系統安裝文件的伺服器,如 NFS、HTTP 或 FTP 伺服器。
 •        帶有一個 PXE 支持網卡的將安裝的主機;
 安裝的步驟:
 一、        安裝vsftpd
  rpm -ivh vsftpd-2.0.1-5.i386.rpm
 二、        掛砸第一章光碟,並複製第一章光碟下的所有內容(文件和文件夾)到ftp匿名用戶的登錄的目錄/var/ftp
  1、mount /dev/cdrom  /mnt
  2、cp –rf  /mnt/*  /var/ftp
 三、        掛載其他安裝(2、3、4)的光碟,把光碟/RedHat/RPMS/中的所有的安裝包複製到/var/ftp//RedHat/RPMS/中
      cp -rf  /mnt/RedHat/RPMS/* /var/ftp/RedHat/RPMS/
 四、        安裝 tftp-server,並啟用tftp服務,重啟xinetd進程
  1、rpm -ivh tftp-server-0.39-1.i386.rpm
  2、vi /etc/xinetd.d/tftp
 # default: off
 # description: The tftp server serves files using the trivial file transfer \
 #       protocol.  The tftp protocol is often used to boot diskless \
 #       workstations, download configuration files to network-aware printers, \
 #       and to start the installation process for some operating systems.
 service tftp
 {
         socket_type             = dgram
         protocol                = udp
         wait                    = yes
         user                    = root
         server                  = /usr/sbin/in.tftpd
         server_args             = -s /tftpboot
         disable                 = no #disable的直由yes變為no
         per_source              = 11
         cps                     = 100 2
         flags                   = IPv4
 }
 3、service xinetd restart
 五、        配置支持PXE啟動:(注意我已經把第一章光碟的內容複製到/var/ftp目錄中了,所以所需要的文件我只需要從/var/ftp目錄中複製就行了,但在描述的時候,我還是表明了文件的真實的位置,比如在第一章光碟中,只是文件我是從/var/ftp目錄中複製而已)
 1、cd /tftpboot/                ————>若該文件夾已經存在則不用建立
 2、 cp /usr/lib/syslinux/pxelinux.0 /tftpboot
 3、把Linux第一張安裝光碟上/image/pxeboot/initrd.img和vmlinux複製到/tftpboot/中
          cp /var/ftp/image/pxeboot/initrd.img  /tftpboot
          cp /var/ftp/image/pxeboot/vmlinux  /tftpboot
 4、        複製第一張安裝光碟上isolinux/*.msg拷貝到/tftpboot目錄下
  cp /var/ftp/isolinux/*.msg  /tftpboot
 5、        在tftpboot中新建一個pxelinux.cfg目錄
  mkdir pxelinux.cfg
 6、        把Linux第一張安裝光碟上isolinux目錄中的isolinux.cfg複製到pxelinux.cfg目錄中,並同時更改文件名稱為default
 7、         cd pxelinux.cfg
 cp /var/ftp/isolinux/isolinux.cfg  /tftpboot/pxelinux.cfg/default
 8、        在第7小步中,我們暫時不要修改default文件,其實到達這一步驟的時候,我都就可以通過網路引導了,通過網路引導之後接下了就可以手動安裝了,但是這裡面我們討論的是無人值守安裝,所謂無人值守安裝就是在從引導到安裝都不需要手動指定,一氣呵成,我們接下來繼續講解)
 六、        安裝dhcp服務,同時修改配置
 1、        rpm -ivh dhcp-3.0.1-12_EL.i386.rpm
 2、        複製配置模板文件到指定的目錄中,並重命名
 cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcpd.conf
 3、        修改配置文件,添加的一行:filename "/pxelinux.0",其他的修改自己完成就行了,不要告訴我這個都不會啊???
 # vi /etc/dhcpd.conf
 
 ddns-update-style interim;
 ignore client-updates;
 
 subnet 192.168.1.0 netmask 255.255.255.0 {
 
 # --- default gateway
         option routers                  192.168.1.1;
         option subnet-mask              255.255.255.0;
 
         option nis-domain               "domain.org";
         option domain-name              "domain.org";
         option domain-name-servers      192.168.1.40;
         filename "/pxelinux.0"; #添加的一行:filename "/pxelinux.0"
         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.1.128 192.168.1.254;
         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 192.168.1.110;
         }
 }
 4、        啟動dhcp服務
    service dhcp start
 七、        安裝kicksttart,同時配置kickstart(見最下面的圖示說明)
 1、        rpm -ivh system-config-kickstart-2.5.16-2.noarch.rpm
 2、        在gnome環境下配置kickstart
    system-config-kickstart
 3、        基本配置
 
 4、        安裝方法,選擇ftp安裝,切記不要輸入任何的帳號,我們採用的匿名安裝
 
 5、         引導安裝程序選項,不需要做更改
 
 6、        分區信息,創建三個分區
 
 7、        網路配置,我使用的靜態分配地址(動態同樣如此)
 8、        顯示配置:
 
 9、        軟體包的選擇,我選擇了Kernel Developent和Development Tools安裝(但千萬不要選擇這兩個軟體包,不然的話在安裝的時候會報錯的,以下是我先選擇安裝,等一會我們來查看產生的問題,你就明白了)
 
 10、        其他的都是默認設置,沒有做修改
 11、        生成文件ks.cfg,保存到/var/ftp目錄中
 
 八、        修改/tftpboot/pxelinux.cfg/default文件,指定讀取ks.cfg的方法(ks=ftp://192.168.1.40/ks.cfg)
 vi /tftpboot/pxelinux.cfg/default
 
 default linux
 prompt 1
 timeout 30
 display boot.msg
 F1 boot.msg
 F2 options.msg
 F3 general.msg
 F4 param.msg
 F5 rescue.msg
 F7 snake.msg
 label linux
   kernel vmlinuz
   append initrd=initrd.img ramdisk_size=8192 ks=ftp://192.168.1.40/ks.cfg
 label text
   kernel vmlinuz
   append initrd=initrd.img text ramdisk_size=8192
 label expert
   kernel vmlinuz
   append expert initrd=initrd.img ramdisk_size=8192
 label ks
   kernel vmlinuz
   append ks initrd=initrd.img ramdisk_size=8192
 label lowres
   kernel vmlinuz
   append initrd=initrd.img lowres ramdisk_size=8192
 label local
   localboot 1
 label memtest86
   kernel memtest
   append -
 九、        服務端的配置完成了,接下了要修改客戶的配置
 1、        修改從網路引導啟動
 
 2、        啟動要安裝的機器,首先根據提示信息設置主機從 PXE 引導,然後進入網路引導過程。如果 DHCP 伺服器和 TFTP 伺服器配置正確,屏幕上將出現 boot: 提示符,稍等片刻
 
 十、        這個時候我剛提出的問題就出現了(第七-9中)
 十一、         
 十二、        修改ks.cfg的配置文件,把kernel-development和Development Tools工具去除
          # vi ks.cfg
 @ development-tools
 #Generated by Kickstart Configurator
 #platform=x86, AMD64, 鎴?Intel EM64T
 
 #System  language
 lang zh_CN
 #Language modules to install
 langsupport zh_CN
 #System keyboard
 keyboard us
 #System mouse
 mouse
 #Sytem timezone
 timezone America/New_York
 #Root password
 rootpw --iscrypted $1$OxRqZhME$13/8KvpJUGVt59B.RZH4p0
 #Reboot after installation
 reboot
 #Install OS instead of upgrade
 install
 #Use Web installation
 url --url ftp://192.168.1.40/
 #System bootloader configuration
 bootloader --location=mbr
 #Clear the Master Boot Record
 zerombr yes
 #Partition clearing information
 clearpart --all --initlabel
 #Disk partitioning information
 part /boot --fstype ext3 --size 100
 part swap --size 512
 part / --fstype ext3 --size 1 --grow
 #System authorization infomation
 auth  --useshadow  --enablemd5
 #Network information
 network --bootproto=dhcp --device=eth0
 #Firewall configuration
 firewall --enabled
 #XWindows configuration information
 xconfig --depth=16 --resolution=800x600 --defaultdesktop=GNOME
 #Package install information
 %packages --resolvedeps
 @ gnome-desktop
 @ dns-server
 @ ftp-server
 十三、        重新引導安裝,問題就解決了,最終成功安裝了
 十四、        總結:以上是我的配置步驟,如果沒有出入的話,是一定可以成功的!
 十五、        備註:轉載請註明作者和出處,謝謝!
 
 ------------------------------------------------------------------------------------------------------------------------------
 第七步驟中 「安裝kicksttart,同時配置kickstart」所需要的圖片以及第九和第十步驟中的圖

[ 本帖最後由 chinanpt 於 2008-9-29 13:29 編輯 ]

《解決方案》

    不錯,做個沙發。。。。。。。。。。。。。

《解決方案》

    這裡早已經有了:
 http://code.google.com/p/redhatsolution/

《解決方案》

    原帖由 MichaelBibby 於 2008-9-28 13:06 發表 http://linux.chinaunix.net/bbs/images/common/back.gif
 這裡早已經有了:
 http://code.google.com/p/redhatsolution/
 
 是的,但是沒有我寫的這麼詳細啊,圖文並茂,更便於理解,我說過是借鑒了網上很多人的文章,但是就沒有看他的,我瀏覽了一下,他寫的是太好了,還要感謝你呢!
 這個實驗我做了好多遍才成功的,在安裝的過程中遇到了好多的問題,由此我才有感而發,寫了這篇配置文檔,希望能給需要的朋友一些幫助,i讓他們少走彎路,也感謝你給我一個這麼好的網址,我會再接再厲繼續完善的,謝謝了!



[火星人 ] RHEL4+PXE+DHCP+Vsftpd+Kickstart已經有413次圍觀

http://coctec.com/docs/service/show-post-27247.html