PXE裝機服務搭建(安裝ubuntu18及以下版本)


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

環境介紹:

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

2、需要准備一個ubuntu-14.04.6-server-amd64.iso的ISO鏡像包。

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

4、准備一個ubuntu的網絡引導器netboot.tar.gz,注意版本問題。

        網絡安裝器下載地址:http://cdimage.ubuntu.com/netboot/

PXE安裝ubuntu填坑:

        1、 ubuntu的PXE安裝它會要求ubuntu鏡像的版本、網絡引導器版本和生成ks文件的系統版本必須一致,不然就是各種問題。所以上面介紹環境,我寫清楚了鏡像文件的全名。

        2、ubuntu版本過高,安裝kickstart可能會出現依賴問題,所以這里選擇14版本進行安裝(18版本測試了也沒問題)。

        3、如果需要無人值守安裝系統,必須要划分swap分區。

搭建PXE服務器

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

yum -y install httpd

 

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

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

 

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

systemctl start httpd
systemctl enable httpd

 

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

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/ubuntu -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/ubuntu

systemctl daemon-reload
systemctl restart tftp
systemctl enable tftp

 

6、把准備好的ubuntu網絡引導器解壓到tftp根目錄下

tar zxf netboot.tar.gz -C /var/lib/tftpboot/ubuntu

 

7、修改啟動菜單文件,將timeout的值從0改為1,是為了讓ubuntu安裝界面出現會超時,自動選擇安裝。

vim /var/lib/tftpboot/ubuntu/pxelinux.cfg/default
    #將  timeout 0 修改為
    timeout 1

 

8、修改網絡引導器中的txt.cfg文件

vim /var/lib/tftpboot/ubuntu/ubuntu-installer/amd64/boot-screens/txt.cfg
      #在append后添加以下內容
        ks=http://192.168.1.11/ubuntu/ks.cfg preseed/url=http://192.168.1.11/ubuntu/ubuntu-server.seed netcfg/get_nameservers=192.168.1.11

修改后文件內容如下:

 

9、掛載ISO鏡像,把鏡像文件cp到/var/www/html/ubuntu目錄下。

mount /dev/cdrom /mnt/cdrom
cp -a /mnt/cdrom/* /var/www/html/ubuntu/

 

10、復制鏡像文件中的ubuntu-server.seed文件到/var/www/html/ubuntu目錄下並添加配置。

cp /var/www/html/ubuntu/preseed/ubuntu-server.seed /var/www/html/ubuntu/
vim /var/www/html/ubuntu/ubuntu-server.seed 
      #在文件最后加入以下配置
      d-i live-installer/net-image string http://192.168.1.11/ubuntu/install/filesystem.squashfs
      d-i pkgsel/include string openssh-server

 

11、安裝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

 

12、准備ks.cfg文件(test用戶密碼是1q2w3e4r)。

cat <<EOF > /var/www/html/ubuntu/ks.cfg
#Generated by Kickstart Configurator
#platform=x86

#System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone America/New_York
#Root password
rootpw --disabled
#Initial user
user test --fullname "test" --iscrypted --password $1$923Ky0S9$dRr5NVm9eitEibM3EE1a/.
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use Web installation
url --url http://192.168.1.11/ubuntu/
#System bootloader configuration
bootloader --location=mbr 
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel 
#Disk partitioning information
part /boot --fstype ext4 --size 200 
part swap --size 2048 
part / --fstype ext4 --size 15800 
#System authorization infomation
auth --useshadow --enablemd5 
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled 
#Do not configure the X Window System
skipx

EOF

 

圖形界面配置ks文件這里就不做介紹了,跟centos的一樣,先安裝kickstart,然后用軟件做配置后保存即可。可以參考:PXE裝機服務搭建(安裝CentOS7)

 


免責聲明!

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



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