1. 程式人生 > >[親測可用] PXE無人值守自動裝機

[親測可用] PXE無人值守自動裝機

PXE無人值守自動裝機 tftp dhcp vsftpd kickstart

日常工作中運維新手都會被要求安裝Linux操作系統,當只有十幾臺服務器時還能夠輕松應付過來,假若有一天公司規模擴大領導要求給幾百臺服務器安裝Linux操作系統,那我們再按照原始方式使用光盤鏡像來一臺一臺安裝操作系統,其效率就會相當低了。這時候我們便可以部署PXE+Kickstart無人值守安裝操作系統,它可以批量自動安裝操作系統。

服務部署(PXE + TFTP + DHCP + Vsftpd + Kickstart)

實驗環境

  1. VMware 12 虛擬機
  2. REHL6.5系統(網卡模式:僅主機模式 IP地址:192.168.100.4)

一、安裝TFTP服務

  1. 安裝tftp服務

    yum  install tftp-server -y        
  2. 修改tftp配置文件,開啟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
disable = no (開啟tftp)


per_source = 11
cps = 100 2
flags = IPv4
}

  1. 添加xinetd服務並設置init3/5開機自動開啟

chkconfig --add xinetd
chkconfig --level 35 xinetd on

二、安裝DHCP服務

  1. 安裝dhcp服務

    yum  install dhcp -y
  2. 復制dhcp模板替換為當前dhcp配置文件

    cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
  3. 編輯dhcpd配置文件
    vim /etc/dhcp/dhcpd.conf

ddns-update-style none; #支持DNS動態更新,一般選擇關閉
next-server 192.168.100.4; #指定TFTP服務器地址
filename "/pxelinux.0"; #引導文件TFTP上的位置

subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.150 192.168.100.200;
option routers 192.168.100.4;
}

  1. 添加dhcpd服務並設置init3/5開機自動開啟

chkconfig --add dhcpd
chkconfig --level 35 dhcpd on

三、安裝Vsftpd服務

  1. 安裝vsftpd服務
    yum install vsftpd -y
  2. 加載系統鏡像盤到vsftpd的默認目錄下
    mount /dev/cdrom /var/ftp/pub
  3. 添加vsftpd服務並設置init3/5開機自動開啟

chkconfig --add vsftpd
chkconfig --level 35 vsftpd on


以下復制網絡啟動所需要文件到tftp服務器的根目錄下

#安裝引導加載程序
yum -y instll syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default //安裝菜單
cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot //linux引導加載模塊//
cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/ //壓縮內核//
cp /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot //圖形化安裝菜單

啟動dhcpd/vsftpd/xinetd服務:

service dhcpd restart
service vsftpd restart
service xinetd start

關閉防火墻及安全設置(不然tftp無法下載引導程序)

service iptables stop
setenforce 0

四、kickstart生成自動安裝配置

  1. 安裝kickstart軟件包
    yum -y install system-config-kickstart
  2. 在圖形界面上打開kickstart進行配置,最終默認保存在/root/ks.cfg中

#新建ksconfig目錄
mkdir /var/ftp/ksconfig
#將配置文件復制到ksconfig目錄下
cp /root/ks.cfg /var/ftp/ksconfig/

  1. 編輯default配置,指定ks.conf路徑地址
vim /var/lib/tftpboot/pxelinux.cfg/default

default vesamenu.c32
prompt 0
timeout 1
…………
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append ks=ftp://192.168.100.4/ksconfig/ks.cfg initrd=initrd.img #指定ks.cfg配置文件路徑

測試

在VMware中新建一臺rhel6.5 x86_64 操作系統,網絡模式為:僅主機模式、僅主機模式、僅主機模式(重要的事情說三遍)然後便可以自動獲取IP地址、開始加載引導文件及系統鏡像開始安裝操作系統了。
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

[親測可用] PXE無人值守自動裝機