Linux基于PXE實現系統全自動無人值守安裝


前言

在生產環境中,我們時常會需要在多臺客戶端主機或服務器安裝操作系統,如果每一臺都去手動安裝,費時費力,顯然是不現實的。那么,如何高效的完成此類工作呢?文將講解如何實現Linux系統的全自動無人值守安裝。


提供PXE服務所需安裝包

dhcp:動態主機配置協議,給客戶端提供ip地址

tftp-server:tftp服務器端,提供系統安裝所需文件

xinetd:tftp服務超級守護進程,用于喚醒tftp服務

httpd:基于http服務提供安裝源

syslinux:提供pxelinux.0文件,此文件用于引導系統,相當于bootloader

安裝所需安裝包

1.jpg

dhcp服務配置

dhcp服務的配置文件默認是/etc/dhcp/dhcpd.conf,但此文件默認是沒任何配置的,此服務提供了一個參考文件/usr/share/doc/dhcp*/dhcpd.conf.sample,復制此文件覆蓋原配置文件,直接修改即可。

2.jpg

#option domain-name "scholar.com";             #分配dns域
#option domain-name-servers 172.16.10.10;      #分配dns地址

#default-lease-time 600;                       #默認租約時長
#max-lease-time 7200;                          #最大租約時長
#以上為dhcp全局配置,如果僅為實現PXE可默認
subnet 172.16.0.0 netmask 255.255.0.0 {        #提供dhcp服務的網段
  range 172.16.10.20 172.16.10.100;            #地址池
  option routers 172.16.0.1;                   #網關
  next-server 172.16.10.10;                    #tftp服務器地址
  filename "pxelinux.0"                        #PXE引導文件
}
#以下僅為介紹dhcp特殊配置,無需要可不配置
#host winxp {                                  #設置保留專用地址
#  hardware ethernet 00:0c:29:50:29:02;        #保留主機物理地址
#  fixed-address 172.16.100.2;                 #保留地址,非地址池內地址,優先分配
#}

dhcp服務配置完成,測試配置無語法錯誤后,啟動服務并設置開機自啟

3.jpg

dhcp工作在upd的67端口,啟動服務后,可查看67端口是否開啟

4.jpg

tftp服務配置

xinetd是tftp的超級守護進程,即tftp是xinetd的子服務,修改配置文件,確保tftp服務沒有被禁用。

[root@scholar ~]# vim /etc/xinetd.d/tftp

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no   #確保此項為no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

修改完配置文件,啟動xinetd進程并設置tftp服務開機自啟

4.1.jpg

tftp工作在udp的69端口,啟動服務后,可查看69端口是否開啟

4.2jpg.jpg

注意:請將防火請關閉或設置相關規則允許訪問69端口,不然將無法訪問tftp服務。

提供引導內核等文件

從掛載的光盤中復制PXE所需文件到tftp工作目錄下(默認為/var/lib/tftpboot)

5.jpg

提供PXE工作環境

復制pxelinux.0文件(由syslinux包提供,需提前安裝)到tftp工作目錄

6.jpg

提供安裝源

可提供安裝源的服務有很多,例如:http、ftp、nfs等,我們就基于http服務實現此操作。在http服務默認的工作目錄里創建一個專為安裝源所使用目錄,并將之與已掛載的光盤目錄綁定。

7.jpg

啟動http服務并設置開機自啟,http服務工作在tcp的80端口,啟動服務后,可查看80端口是否開啟。

8.jpg

提供kickstart文件

kickstart文件可以自己創建(需安裝system-config-kickstart.noarch工具),也可以復制系統文件直接修改。這里我們就不演示創建過程了,直接復制文件修改(此文件為/root/anaconda-ks.cfg)

9.jpg

#修改或添加以下兩項,目標指向安裝源
url --url=http://172.16.10.10/RHEL6.6
repo --name="Redhat" --baseurl=http://172.16.10.10/RHEL6.6 --cost=100

為了啟動時能夠加載kickstart文件,還需要修改/var/lib/tftpboot/pxelinux.cfg/default文件,添加ks文件的位置。

[root@scholar ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://172.16.10.10/ks.cfg     #指向ks文件

啟動測試

將待裝系統的主機設置為網卡啟動

10.jpg

開機開始引導

11.jpg

引導成功開始安裝各種包

12.jpg

安裝成功,查看IP地址

13.jpg

The end

好了,以上便是基于PXE實現系統全自動無人值守安裝的整個過程,如果在引導時出現無法下載kickstart文件的情況,請檢查網絡內有無dhcp沖突,或selinux是否關閉。僅為個人學習整理,如有錯漏,大神勿噴~~~

原創文章,作者:書生,如若轉載,請注明出處:http://www.www58058.com/2264

(1)
書生書生
上一篇 2015-04-01 21:22
下一篇 2015-04-01 22:07

相關推薦

  • SElinux 管理

    SELinux: Secure Enhanced Linux(安全強化的linux) SElinux安全上下文是由五個元素組成的: ①User:指示登錄系統的用戶類型,如root,user_u,system_u,多數本地進程都屬于自由(unconfined)進程 ②Role:定義文件,進程和用戶的用途:文件:object_r,進程和用戶:syste…

    Linux干貨 2016-09-26
  • NTP時間服務器

        在集群環境和需要日志同步的多服務器應用中,為了能夠保證多臺服務器的之間的正常協作,就必須使它們的時間保持一致,在多臺服務器上手動調整時間是極其不科學的,這時就需要借助于NTP時間服務器來完成時間的同步。     一、NTP服務器的安裝    …

    Linux干貨 2015-06-25
  • bash腳本之函數及循環特殊用法

    一,概述 while的循環特殊用法(遍歷文件的每一行)     while read line;do         循環體        &nbsp…

    Linux干貨 2016-08-29
  • Linxux運維基礎小計

    常用cat、ls、touch、mkdir、cp、mv小結 ·cat連續的將文件的內容顯示在銀幕上 用法:cat[OPTION]…[FILE]… 參數 -A顯示所有非正常的所有符號 -E顯示行結束符 -T顯示制表符 -v顯示其他的非打印字符 -n對顯示的行進行編號,與文件內容沒有關系 -b:打印出行號(空白行不標行號) 直接輸入cat命令表示等待用戶的輸入并打…

    2017-02-18
  • 系統管理之磁盤管理(二)磁盤配額,RAID,LVM

    上篇博文給大家介紹了磁盤和文件系統的基礎知識,也是最基本的使用.在實際生產環境中,對于磁盤的使用,要求穩定,靈活,那么下面給大家分享下磁盤的高級用法.磁盤配額,RAID,LVM等相關知識. 1.磁盤配額2.磁盤RAID3.LVM 一.磁盤配額 1.概述: ? 在內核中執行 ? 以文件系統為單位啟用 ? 對不同組或者用戶的策略不同…

    Linux干貨 2016-09-05
  • 系統管理和內核管理(二)之grub使用、編譯安裝內核

    系統管理和內核管理(二)之grub使用、編譯安裝內核   回顧CentOS 6啟動流程: POST –> Boot Sequence(BIOS) –> Boot Loader –> Kernel(ramdisk) –> rootfs–> switchroot&…

    Linux干貨 2016-09-15

評論列表(5條)

  • stanley
    stanley 2015-04-01 21:36

    格式做了微調,可以對比參考下。文章有圖有文詳盡清晰,如果能加上qa過程和原理描述會更上一層樓

    • 書生
      書生 2015-04-01 21:45

      @stanleyqa是啥

    • stanley
      stanley 2015-04-01 21:53

      @書生測試

    • 書生
      書生 2015-04-01 22:00

      @stanley呃 最后測試安裝的時候 一直卡在找kickstart文件那 找了一大頓 最后發現是受路由的dhcp的影響 醉了…

    • stanley
      stanley 2015-04-02 09:49

      @書生是的,同網絡多個dhcp服務器對ks的影響非常大 ,有時間也可以嘗試下windows的安裝

欧美性久久久久