PXE裝機服務搭建(安裝CentOS7)


這里是工作中對一個pxe裝機需求測試記錄,所有操作都是在筆記本電腦上VMware虛擬機中實現,內容僅供參考。

環境介紹:

1、PXE測試服務器為一台1c2g的VMware虛擬機,網絡模式為NAT模式,操作系統為CentOS7.9,IP地址為192.168.1.11。

2、需要准備一個CentOS7.9的ISO鏡像包。

3、PXE服務其實是通過http/ftp、TFTP、DHCP服務來實現,這里安裝在一台服務器上,可以分開部署。

 

搭建PXE服務器

1、配置本地yum源,這里不做介紹,可以參考:“yum本地源配置”。這里我們將本地源的掛載目錄配置為:/mnt/cdrom

     它主要的作用是用來安裝軟件和提供遠程服務器需要的系統文件。

 

2、安裝httpd,pxe裝機需要用到httpd服務的功能。這里使用httpd,ftp跟httpd幾乎一樣。

yum -y install httpd

 

3、創建一個存放系統鏡像文件目錄,然后把鏡像文件cp到該目錄中。

mkdir /var/www/html/centos7
cp -a /mnt/cdrom/* /var/www/html/centos7/

 

4、啟動httpd,設置開機啟動。

systemctl start httpd
systemctl enable httpd

 

5、安裝TFTP服務,修改配置文件並啟動。這里修改一下tftp的根目錄,因為還需要測試ubuntu系統,這里做一個區分,如果只安裝一個系統,可以不用修改。

yum -y install tftp-server
vim /etc/xinetd.d/tftp
      #將disable=yes 修改為 
       disable=no
      #將 server_args = -s /var/lib/tftpboot 修改為
       server_args = -s /var/lib/tftpboot/centos7 -c

vim /usr/lib/systemd/system/tftpd.service
      #將 ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot  修改為
       ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot/centos7

systemctl daemon-reload
systemctl restart tftp
systemctl enable tftp

 

6、安裝PXE引導程序。

yum -y install syslinux

 

7、將linux內核、初始化鏡像文件和pxe引導文件cp到tftp目錄中。

cp /mnt/cdrom/images/pxeboot/vmlinuz /var/lib/tftpboot/centos7
cp /mnt/cdrom/images/pxeboot/initrd.img /var/lib/tftpboot/centos7
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/centos7

 

8、創建啟動菜單目錄。

mkdir /var/lib/tftpbppt/centos7/pxelinux.cfg

 

9、配置啟動菜單,啟動菜單分為典型啟動菜單和無人值守啟動菜單。

     無人值守菜單

cat  <<EOF > /var/lib/tftpboot/centos7/pxelinux.cfg/default
default auto
prompt 0
label auto
    kernel vmlinuz
    append initrd=initrd.img method=http://192.168.1.11/centos7 ks=http://192.168.1.11/centos7/ks.cfg
EOF

    

    典型啟動菜單,典型菜單在安裝好dhcp后就可以安裝系統了。

cat  <<EOF > /var/lib/tftpboot/centos7/pxelinux.cfg/default
default auto
prompt 0
label auto
    kernel vmlinuz
    append initrd=initrd.img method=http://192.168.1.11/centos7
EOF

 

10、安裝DHCP服務器,並且添加配置,啟動。客戶端會請求到dhcp服務器,dhcp服務器會提供給客戶端IP信息、tftp信息、pxe引導文件信息等。所以,在客戶端網絡環境中,不要配置其他的dhcp服務器了。

yum -y install dhcp
cat <<EOF >> /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;         #dhcp服務為客戶端分配的ip范圍 
    option domain-name-servers 8.8.8.8;        #dns
    option domain-name "internal.example.org"; 
    option routers 192.168.1.1;                #網關
    option broadcast-address 192.168.1.255;    #廣播
    default-lease-time 21600;                  #租約時間,默認值是600,單位是秒
    max-lease-time 43200;                      #最大租約時間
    next-server 192.168.1.11;                  #指定TFTP服務器的地址
    filename "pxelinux.0";                     #指定PXE引導程序的文件名
}
EOF
systemctl start dhcpd
systemctl enable dhcpd

 

 

11、准備ks.cfg文件,注意文件存放位置。這個是為了在安裝系統的時候,自動去做相應配置,不需要人工干預,典型啟動就不需要這個文件。第一次或者有cp此文件有問題的,建議通過圖形界面,安裝system-config-kickstart,自己配置保存一個文件。

cat <<EOF > /var/www/html/centos7/ks.cfg
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password 
rootpw --iscrypted $1$Q/XYvFAh$qdLAUR8q7c3jjaGmefO5F/
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx

# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Use network installation
url --url="ftp://192.168.1.11/centos7"
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype="xfs" --size=200
part / --fstype="xfs" --size=18980

%post --interpreter=/bin/bash
cd /etc/yum.repos.d
rm -rf *
echo -e "[base]" > base.repo
echo -e "baseurl=ftp://192.168.1.11/centos7" >> base.repo
echo -e "enabled=1" >> base.repo
echo -e "gpgcheck=0" >> base.repo
%end
#下面是手動添加的,保存出來的文件沒有,意思就是最小化安裝系統,如果需要安裝其他包,可以寫在%packages下面
%packages
@^minimal
%end
EOF

上面文件中root密碼是1q2w3e4r

 

12、圖形界面保存ks.cfg。

       12.1、安裝kickstart

yum -y install system-config-kickstart

      12.2、打開kickstart

 

     12.3、基本配置,根據自己的需求選擇。

 

    12.4、安裝方法,選擇http,如果你搭建的ftp就選ftp。

 

     12.5、引導裝載程序選擇安裝

 

     12.6、分區信息,選擇清除主引導記錄,添加好自己的分區信息。

 

     12.7、網絡添加dhcp

 

     12.8、認證

 

 

    12.9、禁用防火牆,根據需求,可以不禁用。

 

 

     12.10、根據需求,選擇是否安裝圖形界面

 

     12.11、最后根據自己的需求,寫入腳本信息,可以不寫,我這個是按照上面的ks.cfg文件截圖的,其他沒截圖的均為默認。

 

     12.12、最后保存文件即可

 

 

測試安裝

    1、關閉vmware中NAT模式網卡的dhcp服務。

    

 

 

 

     2、創建一個虛擬機,不選擇安裝鏡像,至少配置2g內存,硬盤記得配置為ks.cfg文件中配置分區的總和大小以上,以上ks文件只需要20G。

     3、然后直接運行虛擬機,正常情況下,它會自動安裝好操作系統並重啟。

 

PXE安裝CentOS7的系統介紹就到這里,ubuntu的配置約有不同,可以參考:PXE裝機服務搭建(安裝ubuntu)

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM