無人值守安裝linux

1、原理和概念python

1.1什麼是PXElinux

PXE並非一種安裝方式,而是一種引導方式。進行PXE安裝的必要條件是要安裝的計算機中包含一個PXE支持的網卡(NIC),即網卡中必需要有PXE Client。PXE(Pre-boot Execution Environment)協議使計算機能夠經過網絡啓動。git


PXE協議分爲client和server端,PXE client在網卡的ROM中,當計算機引導時,BIOS把PXE client調入內存執行,由PXE client將放置在遠端的文件經過網絡下載到本地運行。vim


運行PXE協議須要設置DHCP服務器和TFTP服務器。DHCP服務器用來給PXE client(將要安裝系統的主機)分配一個IP地址,因此在配置DHCP服務器時須要增長相應的PXE設置。centos


在PXE client的ROM中已經存在了TFTP Client。PXE Client經過TFTP協議到TFTP服務器上傳下載所需的文件。api


1.2什麼是KickStart服務器

KickStart是一種無人值守的安裝方式。網絡

KickStart的工做原理是經過記錄典型的安裝過程當中所需人工干預填寫的各類參數,並生成一個名爲ks.cfg的文件,在其後的安裝過程當中(不僅侷限於生成KickStart安裝文件的機器)當出現要求填寫的參數的狀況時,安裝程序會首先去查找kickstar生成的文件,當找到合適的參數時,就採用找到的參數,當沒有找到合適的參數時,才須要安裝者手工干預。這樣,若是kickstart文件涵蓋了安裝過程當中出現的全部須要填寫的參數時,安裝者徹底能夠只告訴安裝程序從何處取ks.cfg文件,而後只需等待安裝完畢,安裝程序會根據ks.cfg中設置的重啓選項來重啓系統,並結束安裝。app


2、實驗環境socket

虛擬機:centos 6.4

實驗須要兩臺虛擬機:一臺配置,另外一臺實驗(無操做系統)


PXE+KickStart安裝的條件:

執行PXE+KickStart安裝所需的設備:

DHCP:用來給客戶機自動分配IP

TFTP:用來存儲PXE相關的文件,好比系統引導文件

FTP:用來存放系統安裝文件

KickStart:生成ks.cfg配置文件。


帶有一個PXE支持網卡的將安裝的主機

若是是virtualbox要到官網上下載擴展包


整個過程使用rpm安裝,安裝軟件包時請轉移到/var/ftp/pub/Package/下安裝


3、安裝步驟

1.掛載DVD光盤

虛擬機Settings-->Storage-->Attributes選擇你的光盤-->OK

# mount /dev/cdrom /mnt/


2.安裝vsftp並複製光盤的全部內容到/var/ftp/pub

# cd /mnt/Packages/

# rpm -ivh vsftpd-2.2.2-11.el6_3.1.x86_64.rpm

# cp –rf /mnt/* /var/ftp/pub/

# service vsftpd start

# chkconfig vsftpd on


3.安裝tftp-server和xinetd

# rpm -ivh xinetd-2.3.14-38.el6.x86_64.rpm 

# rpm -ivh tftp-server-0.49-7.el6.x86_64.rpm

修改tftp的配置文件

# 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

}


# service xinetd start

# chkconfig xinetd on 


4.安裝DHCP服務,同時修改配置文件

先設置一下本機的IP

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.1.1 #本機IP

GATEWAT=192.168.1.1

NETWORK=255.255.255.0

重啓網絡

#service network restart

安裝DHCP

# rpm -ivh dhcp-4.1.1-34.P1.el6.centos.x86_64.rpm 

修改DHCP的配置文件:

# vim /etc/dhcp/dhcpd.conf 

#

# DHCP Server Configuration file.

#   see /usr/share/doc/dhcp*/dhcpd.conf.sample

#   see 'man 5 dhcpd.conf'

#


ddns-update-style none;

next-server 192.168.1.1; #PXE服務器的IP

filename "pxelinux.0";

subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.150 192.168.1.200; #動態分配IP段從150到200

#option broadcast-address 192.168.1.1;

option routers 192.168.1.1;

default-lease-time 600;

max-lease-time 7200;

}


# service dhcpd start

# chkconfig dhcpd on


5.配置支持PXE啓動

首先須要安裝syslinux包和相應的軟件包,來保證如下步驟不缺乏相應的文件

# rpm -ivh perl-Crypt-PasswdMD5-1.3-6.el6.noarch.rpm 

# rpm -ivh perl-Digest-SHA1-2.12-2.el6.x86_64.rpm 

# rpm -ivh syslinux-3.86.1.1.el6.x86_64.rpm


複製PXE啓動所需的文件

# mkdir /var/lib/tftpboot/pxelinux.cfg

# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ 


# cp /var/ftp/pub/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default 


# cp /var/ftp/pub/image/pxeboot/initrd.img /var/lib/tftpboot/ 

# cp /var/ftp/pub/image/pxeboot/vmlinux /var/lib/tftpboot/ 

# cp /var/ftp/pub/isolinux/boot.msg /var/lib/tftpboot/ 

# cp /var/ftp/pub/isolinux/splash.jpg /var/lib/tftpboot/ 


# cp /var/ftp/pub/isolinux/vesamenu.c32 /var/lib/tftpboot 

# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default 


修改default文件配置文件ks.cfg的存放路徑

# vim /var/lib/tftpboot/pxelinux.cfg/default 

default vesamenu.c32

#prompt 1

timeout 600

display boot.msg

menu background splash.jpg

menu title Welcome to CentOS 6.4!

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.1.1/pub/ks.cfg    #ks.cfg的存放路徑


6.安裝kickstart,同時配置kickstart(若是你的系統沒有裝anaconda的話,請把下面的rpm包所有裝上)

#rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm  

createrepo-0.9.8-4.el6.noarch.rpm 

device-mapper-multipath-libs-0.4.9-31.el6.x86_64.rpm 

device-mapper-multipath-0.4.9-31.el6.x86_64.rpm  

libhbaapi-2.2-10.el6.x86_64.rpm 

libhbalinux-1.0.10-1.el6.x86_64.rpm 

libconfig-1.3.2-1.1.el6.x86_64.rpm

lldpad-0.9.38-3.el6.x86_64.rpm  

fcoe-utils-1.0.14-9.el6.x86_64.rpm 

isomd5sum-1.0.6-1.el6.x86_64.rpm 

iscsi-initiator-utils-6.2.0.872-10.el6.x86_64.rpm

makebootfat-1.4-10.el6.x86_64.rpm

pykickstart-1.74.1-1.el6.noarch.rpm

pyparted-3.4-2.el6.x86_64.rpm 

python-cryptsetup-0.0.11-1.el6.x86_64.rpm 

python-nss-0.8-3.el6.x86_64.rpm

python-pyblock-0.48-1.el6.x86_64.rpm

squashfs-tools-4.0-3.el6.x86_64.rpm 

tigervnc-server-1.0.90-0.10.20100115svn3945.el6.x86_64.rpm 

anaconda-yum-plugins-1.0-5.1.el6.noarch.rpm 

anaconda-13.21.82-1.el6.x86_64.rpm 

system-config-language-1.3.4-5.el6.noarch.rpm 

system-config-kickstart-2.8.6.2-1.el6.noarch.rpm 


參考:

http://wenku.baidu.com/link?url=G0IDbh8CFXBoU9hwAwvpaUsp_3GZH1doST054bf4OskdZ4rT7C1qVaYK2Bko7xmR5NBfHZzNyazuayiYrDQuK0n0WA1RzfIl-UUyHjcSHNy

通過上面的安裝,如今能夠在gnome環境下配置kickstart了

#system-config-kickstart

7.配置yum 

安裝yum源,設置以下

# vim /etc/yum.repos.d/rhel.repo 

[Packages]

name=Packages

baseurl=ftp://localhost/pub

gpgcheck=1

enable=1


8.注意關閉防火牆和selinux

# service iptables stop

# setenforce 0


若是沒有關閉防火牆和selinux會出現下面的錯誤:

PXE-E32:TFTP open timeout 


9.客戶端安裝一臺空的虛擬機

即不須要鏡像安裝

在這臺虛擬機上Settings-->System-->Boot Order選擇Network上移到第一個-->OK

Network-->Attached to 選擇Bridged Adapter-->OK


點擊Show,安裝完之後把

在這臺虛擬機上Settings-->System-->Boot Order去掉Network-->OK

相關文章
相關標籤/搜索