PXEの高効率バッチネットワークのインストールとKickstartとの無人の協力

1つ、PXE

(I.概要

PXE(Pre-Boot Execution Environment)は、Inter companyによって開発されたネットワークブートテクノロジであり、クライアント/サーバーモードで動作し、クライアントがネットワーク経由でリモートサーバーからブートイメージをダウンロードし、インストールファイルまたはオペレーティングシステム全体をロードできるようにします。

(2)PXEの利点

大規模:複数のサーバーを同時に組み立てます。自動化:システムをインストールし、さまざまなサービスを構成します。リモート実現:CD、Uディスク、その他のインストールメディアは必要ありません。

(3)PXEサービスを構築するための条件

クライアントのネットワークカードはPXEプロトコル(統合BOOTROMチップ)をサポートしている必要があり、マザーボードはネットワークブートをサポートしています。通常、ほとんどのサーバーがサポートしています。BIOS設定でネットワークまたはLANからの起動のみを許可する必要があります。ネットワークには、クライアントにアドレスを自動的に割り当て、ブートファイルの場所を指定するためのDHCPサーバーがあります。サーバーは、TFTPサービス(Simple File Transfer Protocol)を介してブートイメージファイルのダウンロードを提供する必要があります。

(4)PXEリモートインストールサーバーを構築します

PXEリモートインストールサーバーは、CentOS7インストールソース、TFTPサービス、DHCPサービスを統合し、PXEブートプログラム、Linuxカーネル、ブートメニュー、その他のデータをクライアントのベアメタルに送信したり、インストールファイルを提供したりできます。
ここに画像の説明を挿入

1.TFTPサービスをインストールして開始します

TFTP(Simple File Transfer Protocol)は、UDPプロトコルに基づくクライアントとサーバー間の単純なファイル転送のためのプロトコルであり、小さなファイル転送アプリケーションに適しています。TFTPサービスは、UDPポート69を使用して、デフォルトでxinetdサービスによって管理されます。
xinetdこれは、スーパーサーバーとも呼ばれる新世代のネットワークデーモンサービスプログラムであり、さまざまな軽量インターネットサービスの管理に一般的に使用されます。

yum -y install tftp-server xinetd            //安装并启用 TFTP 服务
vim /etc/xinetd.d/tftp                       //修改TFTP服务的配置文件
protocol            = udp		             //TFTP默认使用UDP协议	  
wait                = no		             //no表示客户机可以多台一起连接,yes表示客户机只能一台一台连接
server_args         = -s /var/lib/tftpboot	     //指定TFTP根目录(引导文件的存储路径)
disable             = no		             //no表示开启TFTP服务 
systemctl start tftp                         //开启ftp服务
systemctl enable tftp                        //开启ftp服务开机自启
systemctl start xinetd                       //开启xinetd服务
systemctl enable xinetd                      //开启xinetd服务开机自启

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

2.DHCPサービスをインストールして有効にします

DHCP(動的ホスト構成プロトコル、動的ホスト構成プロトコル)は、ローカルエリアネットワーク用のネットワークプロトコルであり、UDPプロトコルを使用して機能します

yum -y install dhcp                          //安装dhcp软件包
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.        //将dhcp配置模板复制到dhcp配置文件中
cp:是否覆盖"/etc/dhcp/dhcpd.conf"?                                       //yes 
vim /etc/dhcp/dhcpd.conf    					//修改DHCP服务的配置文件
ddns-update-style none;					        //禁用 DNS 动态更新
next-server 192.168.71.20; 					//指定 TFTP 服务器的地址
filename "pxelinux.0";						//指定要下载的 PXE 引导程序的文件
 
 subnet 192.168.71.0 netmask 255.255.255.0 {
    
    	                //声明要分配的网段地址
 range 192.168.71.50 192.168.71.150;			        //设置地址池
 option routers 192.168.71.20;                                //默认网关地址指向TFTP服务器的IP地址
} 

systemctl start dhcpd                                           //开启dhcp服务 
systemctl enable dhcpd                                          //开启dhcp服务开机自启 

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

3. Linuxカーネルを準備し、イメージファイルを初期化します

mount /dev/sr0 /mnt
cd /mnt/images/pxeboot      
cp vmlinuz /var/lib/tftpboot/    //复制 Linux系统的内核文件 到TFTP根目录下
cp initrd.img /var/lib/tftpboot/       //复制 初始化镜像文件(linux引导加载模块)到TFTP根目录下

ここに画像の説明を挿入

4.PXEブートプログラムを準備します

yum -y install syslinux         //PXE引导程序由软件包 syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot   //复制 PXE引导程序 到TFTP根

ここに画像の説明を挿入
ここに画像の説明を挿入

5. FTPサービスをインストールし、CentOS7インストールソースを準備します

yum -y install vsftpd               //安装vsftpd服务
mkdir /var/ftp/centos7              //在ftp根目录下创建目录centos7
cp -rf /mnt/* /var/ftp/centos7/     //将镜像文件强制复制到centos7目录中,可加&让它自己后台运行
或者 mount /dev/sr0 /var/ftp/centos7  //或者直接将光盘文件挂载在目录下使用
systemctl start vsftpd              //开启vsftpd服务
systemctl enable vsftpd             //开启vsftpd服务开机自启

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

6.ブートメニューファイルを構成します

デフォルトのブートメニューファイルは、TFTPルートディレクトリのpxelinux.cfgサブディレクトリにあり、ファイル名はデフォルトです。

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

default auto 		//指定默认入口名称
prompt 1 	        //设置是否等待用户选择,“1”表示等待用户控

label auto		//图形安装(默认)引导入口,label 用来定义启动项
kernel vmlinuz		//kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.71.20/centos7 

label linux text	//文本安装引导入口
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.71.20/centos7

label linux rescue	//救援模式引导入口
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.71.20/centos7

systemctl stop firewalld.service        //关闭系统防火墙
setenforce 0                            //关闭系统安全机制

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

注:VMwareによって作成された仮想マシンを使用してテストします。仮想マシンのメモリは2GB以上である必要があります。そうでない場合、インストールの開始時にエラーが報告されることがあります。
仮想マシンの電源を入れ、プロンプト文字列「boot:」の直後にEnterキーを押す(または「auto」コマンドを実行する)と、インストールファイルがネットワーク経由で自動的にダウンロードされ、デフォルトのグラフィカルインストールエントリが入力されます。 「linuxtext」コマンド、テキストインストールの入り口を入力します。「linuxrescue」コマンドを実行すると、レスキューモードに入ります。
ここに画像の説明を挿入
ここに画像の説明を挿入

2.キックスタートの無人インストールを実現します(デスクトップ環境を使用)

1.応答ファイルをインストールする準備をします

 yum install -y system-config-kickstart       //安装system-config-kickstart 工具

2.「キックスタート構成プログラム」ウィンドウを開きます

通过桌面菜单“应用程序”-->“系统工具”-->“Kickstart” 打开
或
执行 “system-config-kickstart” 命令打开

3.キックスタートオプションを構成します

3.1基本構成
デフォルトの言語は「中国語(簡体字)」に
設定されタイムゾーンは「アジア/上海」に
設定されています。ルートパスワードを設定します。
詳細設定で、「インストール後に再起動」をチェックします。

ここに画像の説明を挿入

== 3.2インストール方法==
FTP
FTPサーバーを選択してください
:ftp://192.168.80.10 FTPディレクトリ:centos7

ここに画像の説明を挿入

== 3.3。ブートローダーオプション==
"インストールタイプ":新しいブートローダー
をインストールします "インストールオプション":マスターブートレコード(MBR)にブートローダーをインストールします

ここに画像の説明を挿入
3.4。パーティション情報
マスターブートレコード:マスターブートレコードのクリア
パーティション:既存のパーティションをすべて削除
ディスクラベル:ディスクラベル
レイアウトの初期化:パーティションの追加
マウントポイント:/ boot、ファイルシステムタイプ:xfs、固定サイズ:500M
ファイルシステムタイプ:スワップ、固定サイズ:4096M
マウントポイント:/、ファイルシステムタイプ:xfs、ディスク上のすべての未使用スペースを使用
ここに画像の説明を挿入
ここに画像の説明を挿入

ここに画像の説明を挿入
3.5。ネットワーク構成:
ネットワークデバイスの追加「ens33」
ネットワークタイプが「DHCP」に設定されている

ここに画像の説明を挿入
3.6。ファイアウォール構成:
SELinuxを無効にし、ファイアウォールを無効にします

ここに画像の説明を挿入
3.7。インストール後のスクリプト:
「インタプリタを使用する」にチェックを入れます:/ bin / bash

rm -rf /etc/yum.repos.d/*
echo '[local]
name=local
baseurl=ftp://192.168.80.10/centos7
enabled=1
gpgcheck=0' > /etc/yum.repos.d/local.repo

ここに画像の説明を挿入
== 3.8。自動応答ファイルを保存します==

「キックスタート構成プログラム」ウィンドウで「ファイル」->「保存」コマンドを選択し、指定した保存場所を選択します。ファイル名はks.cfgで、
デフォルトで/root/ks.cfgに保存されます(他のディレクトリは選択済み)
ここに画像の説明を挿入

4.インストールする必要のあるソフトウェアパッケージを構成します


必要に応じ、/ root / anaconda-ks.cfgのパッケージインストールスクリプトをks.cfgファイルにコピーできます。%packagesを%end部分にコピーするだけです。

最小限のインストールが必要な場合は、以下をコピーできます。

vim ks.cfg
%packages
@^minimal
%end

ここに画像の説明を挿入

ここに画像の説明を挿入

5./root/ks.cfgを/ var / ftpディレクトリにコピーします

ブートブートは、/ rootではなく/ var / ftpのコンテンツを読み取ります。/rootは一時的に保存された対応物であるため、直接コピーして、/ root /anaconda-ks.cfgにコピーされたコンテンツを追加します。

cp /root/ks.cfg /var/ftp/ks.cfg

vim /var/ftp/ks.cfg

ここに画像の説明を挿入
ここに画像の説明を挿入

6.ブートメニューファイルのデフォルトを編集し、ksブートパラメータを追加します

vim /var/lib/tftpboot/pxelinux.cfg/default
default auto 							
prompt 0 	//设置是否等待用户选择,“0”表示不等待用户控制

label auto								
kernel vmlinuz    //kernel 和 append用来定义引导参数
append initrd=initrd.img method=ftp://192.168.71.20/centos7 ks=ftp://192.168.71.20/ks.cfg  //添加 ks 引导参数以指定 ks.cfg 应答文件的 URL 路径

ここに画像の説明を挿入

クライアントコンピューターが毎回PXEモードで起動すると、ks.cfg応答構成ファイルが自動的にダウンロードされ、手動で選択することなく、その設定に従ってCentOS7システムがインストールされます。

7.新しい仮想マシンを作成して、結果を確認します

各オプションは自動的に選択され、最後に手動で確認条件に同意します。
ここに画像の説明を挿入
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_53567573/article/details/114120867