搭建PXE環境批量部署CENTOS7(Linux版)

2020-10-10 行者靖

一、所需軟體

1、系統安裝鏡像為 :CentOS-7-x86_64-DVD-2003.iso

2、VMware® Workstation 15 Pro 15.5.1 build-15018445

二、參數規範

1、PXE主機:192.168.1.20 掩碼255.255.255.02
2、HTTP目錄:/var/www/html/
3、TFTP目錄:/var/www/html/root/
4、PXE配置文件目錄:/var/www/html/root/pxelinux.cfg/
5、安裝包目錄:/var/www/html/root/centos7/

三、安裝PXE主機系統

1、安裝作業系統鏡像使用CentOS-7-x86_64-DVD-2003.iso,安裝方法(略)
安裝使用最小安裝方式安裝,後期使用軟體全部使用YUM方式安裝。

2、配置地址

192.168.1.20 掩碼255.255.255.0

3、Yum配置:

[root@wasupxe ~]# more /etc/yum.repos.d/a.repo

==================================================

[base]

name=Base

baseurl=file:///mnt/cdrom/

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

四、環境設置

1、關閉防火牆

systemctl status firewalld.service #顯示服務的狀態

systemctl stop firewalld.service #停止防火牆

systemctl enable firewalld.service #在開機時啟用服務

systemctl disable firewalld.service #在開機時禁用服務

2、關閉selinux

臨時關閉selinux

setenforce 0,即可臨時關閉服務

永久關閉selinux

vi /etc/sysconfig/selinux

SELINUX=enforcing 改為 SELINUX=disabled

五、PXE部署規範

PXE服務端需要部署的組件:

DHCP服務:分配IP位址,定位引導程序

DNS(可選):為客戶機分配主機名

TFTP服務:提供引導程序下載

HTTP服務(或ftp/nfs):提供yum安裝源

服務端組件目錄

HTTP目錄:/var/www/html/

TFTP目錄:/var/www/html/root/

PXE配置文件目錄:/var/www/html/root/pxelinux.cfg/

安裝包目錄:/var/www/html/root/centos7/

服務端配置文件

HTTP配置文件:/etc/dhcp/dhcpd.conf

TFTP配置文件:/etc/xinetd.d/tftp

PXE配置文件:/var/www/html/root/pxelinux.cfg/default

Ks自動應答文件:/var/www/html/kickstarts/centos7.cfg

DHCP安裝

目的:為PXE系統分配IP位址;提供PXE文件的放置位置。

YUM方式安裝DHCP

[root@wasupxe yum.repos.d]# yum install dhcp

DHCP參數配置

在系統此位置有個示例文件,可在此基礎上修改:/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example

[root@wasupxe yum.repos.d]# vi /etc/dhcp/dhcpd.conf

#配置文件內容

subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.200 192.168.1.220;

option domain-name-servers 192.168.1.20;

option domain-name "internal.example.org";

option routers 192.168.1.1;

option broadcast-address 192.168.1.255;

default-lease-time 600;

max-lease-time 7200;

filename "pxelinux.0";

next-server 192.168.1.20;

}

重啟DHCP服務

systemctl enable dhcpd

systemctl start dhcpd 開始

systemctl restart dhcpd 重啟

驗證

查看dhcp狀態,看udp的67埠有沒有起來。

[root@wasupxe ~]# ss -anptu |grep dhcp

在系統中查看地址分配情況

[root@wasupxe ~]# cat /var/lib/dhcpd/dhcpd.leases



安裝http組件

用於安裝作業系統時,提供ISO鏡像數據。

安裝HTTP服務

[root@wasupxe ~]# yum -y install httpd

配置HTTP

[root@wasupxe ~]# vi /etc/httpd/conf/httpd.conf

#配置文件內容

ServerRoot "/etc/httpd"

Listen 80

Include conf.modules.d/*.conf

User apache

Group apache

ServerAdmin yjing@wasu.com

ServerName 127.0.0.0:80

<Directory />

AllowOverride none

Require all denied

</Directory>

DocumentRoot "/var/www/html"

<Directory "/var/www/html">

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

</Directory>

ErrorLog "logs/error_log"

LogLevel warn

AddDefaultCharset UTF-8

EnableSendfile on

IncludeOptional conf.d/*.conf

ServerTokens Prod

KeepAlive ON

重啟HTTP服務

#完成編輯,啟動http服務

systemctl enable httpd

systemctl reload httpd

systemctl restart httpd

驗證

#測試一下 http://192.168.1.20看你寫的主頁能不能正常顯示

#測試一下 http://192.168.1.20/root 能不能顯示root目錄下的文件

安裝tftp組件

用於提供引導程序下載

安裝TFTP服務

[root@wasupxe ~]# yum -y install xinetd tftp-server

配置TFTP服務

[root@wasupxe ~]# mkdir /var/www/html/root

創建TFTP根目錄

vi /etc/xinetd.d/tftp

#TFTP 配置文件

service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /var/www/html/root -c

disable = no

per_source = 11

cps = 100 2

flags = IPv4

}

運行、重啟TFTP服務

systemctl enable xinetd

systemctl stop xinetd

systemctl start xinetd

驗證

[root@wasupxe ~]# tftp 192.168.88.101

tftp> get pxelinux.0

tftp> quit

安裝syslinux

安裝syslinux是為了提供PXE系統引導啟動所需要的文件

安裝方法:

[root@wasupxe ~]# yum install syslinux

環境搭建和配置

複製引導文件

從syslinux複製引導文件到TFTP根目錄:

[root@wasupxe~]# cp /usr/share/syslinux/{chain.c32,mboot.c32} /var/www/html/root /

[root@wasupxe~]# cp /usr/share/syslinux/pxelinux.0 /var/www/html/root /

[root@wasupxe~]# cp /usr/share/syslinux/memdisk /var/www/html/root /

[root@wasupxe~]# cp /usr/share/syslinux/menu.c32 /var/www/html/root /

從安裝文件中複製引導文件

[root@wasupxe ~]# cp /mnt/cdrom/isolinux/vmlinuz /var/www/html/root /

[root@wasupxe ~]# cp /mnt/cdrom/isolinux/initrd.img /var/www/html/root /

複製安裝鏡像

把ISO文件mount到/mnt/cdrom,然後把所有文件複製到tftpboot根目錄下

[root@wasupxe ~]# mount -o loop / CentOS-7-x86_64-DVD-2003.iso /mnt/cdrom

創建鏡像文件目錄:

[root@wasupxe ~]# mkdir /var/www/html/root/centos7

複製鏡像文件到鏡像目錄:

[root@wasupxe ~]# cp -R /mnt/cdrom /* /var/www/html/root/centos7

配置文件

1. PXE配置文件

創建PXE配置文件目錄

[root@wasupxe ~]# mkdir /var/www/html/root/pxelinux.cfg

編輯PXE配置文件

[root@wasupxe ~]# vi /var/www/html/root/pxelinux.cfg/default

2. 啟動信息文件

[root@wasupxe root]# vi /var/www/html/root/boot.msg

3. 自動應答文件

[root@wasupxe ~]# vi /var/www/html/kickstarts/centos7.cfg

虛擬機實驗方法

如何在虛擬機上做PXE自動安裝實驗。

1、配置虛擬網絡

修改VMware® Workstation的網卡參數,我們使用NAT方式組網,配置VMNET8的參數,如圖:

客戶機和PXE主機網絡參數配置如圖:

相關焦點

  • kickstart 批量部署系統(centos)
    ,採用kickstart 批量部署系統部署掛載光碟到mnt的cdrom目錄下面yum -y install httpd httpd-devel dhcp* tftp-server xinetd -yyum -y install syslinux syslinux-develcp /mnt/cdrom/isolinux/isolinux.cfg
  • 搭建PXE環境批量部署Redhat6(win方式)
    2、啟動步驟詳解1、伺服器加電啟動,從DHCP伺服器獲取IP位址並加載(PXEClient)。2、通過TFTP伺服器獲取網絡引導程序(pxelinux.0)。3、引導程序讀取配置文件(pxelinux.cfg本例中文件名為:default)。
  • 動態生成pxelinux菜單文件及kickstart安裝腳本
    **********my $centos_version="$pxe_client{alias}$pxe_client{release}-$pxe_client{arch}";my %centos_ks = ( yes=>"ksdevice=eth0 ip=dhcp http://$pxe_server{ip}/perl/ks.cgi?
  • Devops之LDAP部署安裝(centos7+openLDAP+PhpLDAPAdmin)
    Devops之LDAP部署安裝(centos7+openLDAP+PhpLDAPAdmin)由於公司部門的需求,需要搭建ldap來統一Devops的用戶名和密碼,具體的選擇LDAP分析在上一篇裡,這裡主要記錄一下部署centos7+openLDAP+PhpLDAPAdmin來實現Ldap服務,並使用phpldapadmin作為web管理工具進行界面維護,也可以使用客戶端LDAPAdmin
  • centos 7搭建PHP環境的簡易方法
    眾所周知,linux系統用得比較多的一般是LAMP和LNMP。兩種環境的搭建其實都是大同小異。今天我們一些探討一個共同的東西就是PHP環境的搭建。假如centos 7 在安裝之時沒有選擇PHP相關的程序。首先我們先查一下系統有沒有已安裝好的PHP,查看版本。
  • 基於centos linux環境配置docker鏡像加速器
    Linux,下面講解詳細的配置步驟,前提是你必須要有一個阿里雲的帳號1、登錄阿里雲基於centos linux環境配置docker鏡像加速器2、點擊控制臺基於centos linux環境配置docker鏡像加速器
  • 網站建站基礎第十一課(域名解析伺服器環境linux安裝寶塔)
    在伺服器,域名(國內備案)購買好之後,就可以開始搭建網站了,建站要為伺服器解析好域名,然後配置好伺服器環境,伺服器環境就以linux系統+寶塔面板為例給大家演示:域名備案成功後,進入伺服器商的控制臺然後找到【域名】選項,點擊打開點擊【解析】然後頂級域名的話,就www.XXX.XX,如下圖,將購買的伺服器ip地址也複製進去
  • 通過PXE快速部署VMware ESXi 6.5
    說明我們一般默認安裝ESXi 都是通過cd或者u盤之類的介質進行安裝ESXi系統,不過如果我們的環境新到一大批伺服器並且需要在規定的時間內完成系統的部署,那麼一臺臺部署顯然是不可能的UEFI)指定是否希望所有 UEFI 主機都引導同一安裝程序。
  • 在CentOS下用cross-ng建立arm-linux交叉編譯環境
    view=co%27" target="_blank">sstrip.cgcc-4.3.2.tar.bz2linux-2.6.33.7.tar.bz2strace-4.5.19).#這裡設置別名為arm-linux,這樣以後通過arm-linux-gcc就可以調用arm-centos-linux-gnueabi-gcc了C compiler --->
  • CentOS7 KVM環境下製作CentOS7 qcow2格式鏡像
    本文轉載自【微信公眾號:WalkingCloud,ID:WalkingCloud2018】,經微信公眾號授權轉載,如需轉載與原文作者聯繫KVM虛擬化之前有介紹KVM,可以參考歷史文章1、CentOS6系統下部署KVM虛擬化
  • vCenter 6.7部署(Linux環境)(2)
    一般vCenter有兩種部署方式,指的是部署在Linux環境下和部署在Windows環境下。本次就先操作稍微麻煩點的Linux環境部署,雖然是部署在Linux環境,但是操作是在Windows下進行的,還算方便。
  • vCenter 6.7部署(Linux環境)(1)
    一般vCenter有兩種部署方式,指的是部署在Linux環境下和部署在Windows環境下。本次就先操作稍微麻煩點的Linux環境部署,雖然是部署在Linux環境,但是操作是在Windows下進行的,還算方便。
  • vSphere虛擬機模版—高級定製(OVF屬性)
    最近看到William Lam的PhotonOS虛擬應用(OVA)製作的博客,燃起自己攻破模版的最後一個難關——添加OVF屬性,提高運維效率和向自動化部署邁進,特別感謝William寫了一系列的OVF博客。
  • CentOS6.x搭建:HeadlessChrome+ChromeDriver+Selenium的爬蟲環境
    Chrome官方網站已經說的很清楚,不再支持6.x的CentOS,至少7以上。 可是很多時候我們使用的伺服器版本並不能隨便升級,即便已經很難受了,但是還得繼續使用低版本,裝起來那是真叫一個費勁,還好就是費勁一些,最終還是可以裝成功的。
  • vCenter 6.7部署(Linux環境)(3)
    一般vCenter有兩種部署方式,指的是部署在Linux環境下和部署在Windows環境下。本次就先操作稍微麻煩點的Linux環境部署,雖然是部署在Linux環境,但是操作是在Windows下進行的,還算方便。
  • 教你如何搭建本地YUM倉庫,離線環境也可使用yum install命令
    前言 由於工作需要,處理的伺服器大多是內網環境,無法連接外網,在安裝部署mysql,jdk,tomcat的時候還可以使用離線包+tar命令解壓使用,但是安裝redis和nginx等等軟體的時候,不是缺gcc就是缺少依賴,因此考慮在伺服器搭建本地yum 倉庫,使用yum安裝解決依賴問題。
  • linux基礎02:怎樣在虛擬機上安裝centos 7系統?
    今天,我們就可以在這個wanlimm虛擬機中安裝linux系統了。虛擬機我們創建好了,centos 7系統ISO映像文件也放進了虛擬機的虛擬光碟機裡了,我們這時該怎樣安裝這個centos 7呢?隨我一起來操作吧。第一步:選擇wanlimm虛擬機。如果你的VMware裡創建了多個虛擬機的話,我們需要選擇我們要打開的虛擬機。
  • Centos7.5搭建Hadoop環境
    Hadoop今天終於完成了Hadoop單機環境的搭建,是在網上網友的博客幫助下完成的,最後對照了下官方教程,實際上就是官方教程的中文版本,搭建的過程總結起來有如下步驟:第一步,關掉Centos的防火牆吧,不然各種問題配置
  • 基於ecs快速搭建docker環境
    場景介紹教程介紹如何快速搭建Docker環境,並使用Docker部署一個Nginx服務。的ECS實例(雲伺服器)。通過本教程的操作,您可以基於ECS實例快速搭建一個Docker環境,並在Docker環境中部署一個Nginx服務。步驟二:安裝Docker CEDocker有兩個分支版本:Docker CE和Docker EE,即社區版和企業版。本教程基於CentOS 7安裝Docker CE。