kickstart+pxe無人值守安裝linux

一、kickstart與pxe簡介:linux

    kickstart是RED HAT推出的一種無人值守的安裝模式,它能實現大批量的客戶機自動安裝。通常狀況下,咱們在安裝linux操做系統時,是以一種交互式應答的界面模式來決定咱們的系統該如何安裝,好比安裝過程顯示的語言,使用的鍵盤類型,所在的時區信息,要預先安裝的軟件包,磁盤分區信息等等類容。而kickstart所完成的功能就是將全部必需要回答的問題預先寫入一張叫作ks.cfg的配置表中,而後引導進程找到這個配置表自動引導剩下的安裝工做以及應答,實現自動化安裝。
centos

    pxe是Intel公司研發的預啓動執行環境技術,結合kickstart能實現客戶端自動得到位於網絡上的ks.cfg文件,引導安裝文件等,實現用戶只須要開機就能自動安裝操做系統的輕便工做,無需再做額外的配置,便可輕鬆的完成大批量的客戶端安裝。
安全


二、kickstart+pxe的實現流程:bash

wKioL1W4eFvxWQt8AAG1Lzz8_f8925.jpg


三、實驗環境:服務器

    VMware workstations 10  +  CentOS6.5-i386
網絡

    DHCP服務器地址:192.168.47.100
app

    TFTPfFF服務器地址:192.168.47.100
dom

    FTP服務器地址:192.168.47.100
ide

    安裝樹目錄:/var/ftp/pub
測試

    引導程序目錄:/var/lib/tftpboot

    ks.cfg位置:/var/ftp/


4:實驗步驟:

    1)、安裝DHCP服務器,並配置相關信息:

[root@fcy ~]# yum install dhcp -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c6-media: 
Setting up Install Process
Resolving Dependencies
--> Running transaction check
......(過程略)
Installed:
  dhcp.i686 12:4.1.1-38.P1.el6.centos                                      

Dependency Installed:
  portreserve.i686 0:0.0.4-9.el6

    打開DHCP的主配置文件(/etc/dhcp/dhcpd.conf),作以下修改:

        因爲新建的DHCP服務主配置文件無內容,因此在底行模式導入系統樣板文件:


wKioL1W4evexTggWAAFvf3Vhhd8834.jpg

    保留以下配置便可:

wKiom1W4fKOTzzNgAAIBtns2ELg260.jpg

    啓動DHCP服務器:

[root@fcy ~]# service dhcpd start
Starting dhcpd:                                            [  OK  ]

    2)、安裝FTP服務器:

[root@fcy ~]# yum install vsftpd tftp-server -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c6-media: 
Setting up Install Process
......(過程略)
Installed:
  tftp-server.i686 0:0.49-7.el6                                            

Dependency Installed:
  xinetd.i686 2:2.3.14-39.el6_4                                            

Complete!

        因爲tftp是依賴於xinetd的進程,因此配置文件在/etc/xinetd.d/tftp下:

wKioL1W4f9GC9QZGAAEA29AwLzA688.jpg

        啓動tftp服務器:

[root@fcy ~]# service xinetd start
Starting xinetd:                                           [  OK  ]

        端口69已經啓動:

wKiom1W4fo3zATOcAAB1ol45ocs413.jpg

    

    3)、導入引導內容:

        找到tftp服務器的主目錄/var/lib/tftpboot/,導入光盤上的isolinux目錄下的內核和驅動文件

wKioL1W4gajjEOLIAAGn_Re12sM588.jpg


        安裝光盤上的syslinux軟件包,獲得網絡引導文件pxelinux.0

[root@fcy tftpboot]# yum install syslinux -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c6-media: 
Setting up Install Process
Resolving Dependencies
--> Running transaction check
......(過程略)
Installed:
  syslinux.i686 0:4.02-8.el6                                               

Dependency Installed:
  mtools.i686 0:4.0.12-1.el6                                               

Complete!

        找到pxelinux.0這個文件(),拷貝到tftp服務器的根目錄

wKioL1W4gu_BdnssAAFxYE3f8b8394.jpg

        建立目錄pxelinux.cfg目錄,將光盤上的網絡引導程序拷貝進去並重命名爲default:

[root@fcy tftpboot]# mkdir pxelinux.cfg
[root@fcy tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
[root@fcy tftpboot]# ll
total 34944
-r--r--r--. 1 root root 31742048 Jul 29 23:26 initrd.img
-rw-r--r--. 1 root root    26828 Jul 29 23:31 pxelinux.0
drwxr-xr-x. 2 root root     4096 Jul 29 23:34 pxelinux.cfg
-r-xr-xr-x. 1 root root  4002656 Jul 29 23:26 vmlinuz

        修改引導程序的內容

default linux    #將默認的引導菜單修改成第一個linux菜單
#prompt 1
timeout 60        #修改引導等待時間爲60秒

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.5!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img  ks=ftp://192.168.47.100/ks.cfg    #指定ks.cfg文件的位置,注意不要換行,否則會沒法找到ks.cfg文件
  ......


    4)、安裝system-config-kickstart,生成自動化安裝文件ks.cfg:

[root@fcy pxelinux.cfg]# yum install system-config-kickstart -y
    ......(過程略)

        生成ks.cfg文件:

[root@fcy var]# system-config-kickstart
Xlib:  extension "RANDR" missing on display "localhost:12.0".
/usr/share/system-config-kickstart/kickstartGui.py:103: GtkWarning: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
  xml = gtk.glade.XML ("/usr/share/system-config-kickstart/system-config-kickstart.glade", domain="system-config-kickstart")
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c6-media: 
Checking for new repos for mirrors

    注意:此時會彈出一個對話框,點擊左側倒數第三個選項,若是沒法發現能夠安裝的軟件包,請從新配置好本地的yum源:

wKiom1W4hYDT-ZlOAAJYwIe_LMM491.jpg

    基本配置:

wKioL1W4iTrhaTf_AAMhbg_3YRo806.jpg

     安裝方式:

wKiom1W4iH2APzNzAAHjOU_bluE703.jpg

    引導記錄設置:

wKioL1W4i3qjuA61AAHMNBJBlpY867.jpg

    分區設置:

wKioL1W4jUmzYpLiAAJJ_6hBJyM039.jpg

    網絡設置:

wKiom1W4i-uxlMjnAAFCpLJi5Qw537.jpg

    網絡安全設置:

wKioL1W4j0DhsXSOAAEPRmt2FZA564.jpg

wKiom1W4jVGgH90FAAEIKlhx0gc416.jpg

wKioL1W4j0CRk7sUAAEPRNOeOQ0490.jpg


    預安裝包選擇(按需選擇):

wKioL1W4j3KTZ6t-AAJIQ6VIgLk927.jpg

    安裝後運行腳本(主要功能是將網卡內容主機名稱固定):

#!/bin/bash
string=`ifconfig  eth0  |grep 'inet\>'   |awk  '{print  $2}'`
num=${string##*.}
sed  -i  -e  "s@HOSTNAME.*@HOSTNAME=pxe$num.a.com@"   /etc/sysconfig/network
echo  "DEVICE=eth0\nONBOOT=yes\nBOOTPROTO=static\nIPADDR=192.168.47.$num\nNETMASK=255.255.255.0\nGATEWAY=192.168.47.254\n"  >/etc/sysconfig/network-scripts/ifcfg-eth0

wKioL1W4kxWwT0qTAAHVSoGtJTo500.jpg

    生成ks.cfg文件並放置在/root目錄下

wKioL1W4k2fzQ1JhAADy1ck5O6A785.jpg


    在ks.cfg文件中添加一句poweroff,表示安裝完成後將系統設置爲關閉狀態


    4)、設置FTP服務器:

        將光盤上的內容拷貝到FTP服務器上(/var/ftp/pub)

[root@fcy ~]# cp -r /media/cdrom/*  /var/ftp/pub

        將修改好的ks.cfg文件拷貝到FTP服務器的根目錄下(/var/ftp/)

[root@fcy ~]# cp /root/ks.cfg /var/ftp/
[root@fcy ~]# ll /var/ftp
total 8
-rw-r--r--. 1 root root 1403 Jul 30 00:48 ks.cfg
drwxr-xr-x. 6 root root 4096 Jul 29 23:43 pub

        啓動FTP服務:

[root@fcy ~]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]


    5)、安裝測試:

        建立一個新的虛擬機,並設置硬件屬性,其中網卡注意與服務器保持一致:

wKioL1W4lkGQBIb-AAGn7RoJAes901.jpg

        點擊選項欄的虛擬機--》電源---》啓動時進入BIOS,而後啓動虛擬機

wKiom1W4lPKRG6BYAAFaagqJZRo947.jpg

        

        進入BIOS後選擇BOOT的啓動順序,將網絡啓動移到最上面,按F10保存退出:

wKiom1W4lWqQtEoEAAEZEk0xZ6E461.jpg


        經過MAC地址向DHCP服務器獲取動態地址:

wKioL1W4mduwafFlAADYepX4O18630.jpg


        找到FTP服務器,並下載ks.cfg文件:

wKioL1W4mf6wBgBEAABpsUFzQQ4793.jpg


        開始自動化安裝操做系統:

wKiom1W4mCqT9d1cAADidqTgoqE370.jpg


        因爲設置緣由,安裝完成後會自動關閉系統,從新啓動系統,進入查看主機名和網卡信息:

wKiom1W4mdbg17tFAACZsIbq770768.jpg


五、總結

    在作實驗以前,必定要了解kickstart和pxe的工做過程,以及須要哪些服務的支持和軟件、文件的引導。只有這樣,才能正確、快速的搭建一個無人值守安裝的服務。

相關文章
相關標籤/搜索